АЛГОРИТМЫ ПОСТРОЕНИЯ РАННИХ И ПОЗДНИХ СРОКОВ ОКОНЧАНИЯ ВЫПОЛНЕНИЯ ОПЕРАТОРОВ.
Рассмотрим алгоритм, представляемый информационным графом (без связей по управлению), не имеющим контуров. Тогда очевидно, что момент окончания выполнения любого из операторов не может быть меньше максимальной из длин всех путей, заканчивающихся вершиной, соответствующей этому оператору. Таким образом, для каждого оператора алгоритма j = 1,..., т. можно найти ранний срок окончания его выполнения. Если окончание выполнения алгоритма ограничено временем , то для каждого оператора можно найти и поздний срок окончания его выполнения (Т). Здесь ТКР — максимальная характеристика пути в графе со скалярными весами, она определяет минимальное время, за которое может быть решена данная задача. Окончание выполнения любого оператора позже этого позднего срока приводит к тому, что все последующие за ним операторы не смогут быть выполнены в заданный срок Т, поэтому без задания Т определение поздних сроков не имеет смысла. При Т = Ткр ранние и поздние сроки выполнения операторов, входящие в критический путь, совпадают. Алгоритм. Нахождение ранних сроков окончания выполнения операторов. 1.Положим где . 2.Просмотрим строки матрицы S сверху вниз, выберем первую необработанную строку матрицы и осуществим переход к следующему шагу. Если обработаны все строки, то конец алгоритма, 3.Пусть выбрана j-я строка, не содержащая единичных элементов. Далее вычислим где — вес j-гo оператора, затем выполним переход к шагу 5. 4.Если j-я строка содержит единичные элементы, то вычислим где есть множество времен, которым соответствует единица в данной строке. Затем выполним переход на шаг 5. Если во множестве есть нулевые элементы, то выполним шаг 6. 5.Обработанную j-ю строку исключим из рассмотрения и осуществим переход к шагу 2. 6.Если найдена строка , для которой , то вычислим строку j= , и осуществим переход к шагу 3. Конец алгоритма. Примечание. Пункт 6 используется для нетреугольной матрицы S. Алгоритм. Получение поздних сроков окончания выполнения операторов. 1. Положим где .. 2. Просмотрим столбцы матрицы S справа налево, выберем первый необработанный столбец матрицы и произведем переход к следующему шагу. Если обработаны все столбцы, то конец алгоритма. 3. Пусть j — номер очередного необработанного столбца. Если он не содержит единичных элементов, то вычислим (Т)= Т, где Т — время решения задачи, и перейдем к шагу 5. 4. Если столбец j содержит единичные элементы, то вычислим ,т.е. минимум определим по всем jv единичным элементам j-гo столбца. Если , то выполним шаг 6. 5. Обработанный j-й столбец исключим из рассмотрения, затем выполним шаг 2. 6. Если найден столбец jv, для которого , то проведем поиск необработанного столбца jv, вычислим j = jv и выполним переход к шагу 3. Конец алгоритма. Примечание. Пункт 6 используется для нетреугольной матрицы 3. Диаграммы выполнения операторов для ранних и поздних сроков — удобный способ наглядного представления многопроцессорной обработки. Всего в диаграмме имеется п строк, соответствующих числу процессоров в системе. Выполнение того или иного оператора отмечается прямоугольниками, имеющими длину, равную весам операторов, и правую границу, соответствующую крайнему сроку окончания выполнения операторов.
Популярное: Почему стероиды повышают давление?: Основных причин три... Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (390)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |