Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
46
Добавлен:
03.03.2016
Размер:
935.42 Кб
Скачать

2. Планирование работ на основе

трехфазной модели вычислительной системы

Трехфазная модель вычислительной системы представляется фазами ввода, обработки и вывода. Как и в предыдущем случае планирование ведется по критерию минимума суммарного времени выполнения пакета программ. В этой модели допускается одновременное выполнение трех работ, находящихся в различных фазах.Исходной для планирования является матрица трудоемкости, содержащая три столбца. В нашем примере требуемая матрица трудоемкости получаетсся из матрицы ( 1 ) путем суммирования первого и второго столбца и отбрасывания пятого столбца:

F1

CPU

F3

J1

17

10

11

J2

13

5

4

T =

J3

7

2

1

( 3 )

J4

11

7

8

J5

7

2

2

В общем случае для трехфазной модели не существует точного решения задачи планирования и ее необходимо решать либо методом перебора, что неэффективно, либо эвристическими методами. Если же для матрицы трудоемкости трехфазной модели выполняется хотя бы одно из следующих ограничений

min( ti1 ) >= max( tj2 );

i j

( 4 )

min( ti3 ) >= max( tj2 ),

i j

то алгоритм оптимального планирования работ в этом случае сводится к алгоритму планирования на основе двухфазной модели.Для этого необходимо просуммировать элементы первого и второго, а также второго и третьего столбцов матрицы трудоемкости трехфазной модели и полученные суммы записать в первый и второй столбцы новой матрицы. К новой двухстолбцовой матрице применяется алгоритм планирования на основе двухфазной модели вычислительной системы.

Для матрицы трудоемкости ( 3 ) имеем:

min( ti1 ) = 7; max( tj2 ) = 10; min( ti3 ) = 1,

i j i

т.е. ограничение ( 4 ) не выполняется.

Наиболее простой из эвристических алгоритмов планирования для трехфазных моделей вычислительной системы включает следующие пункты:

2.1. Определяется номер строки фазы k с наибольшей суммарной продолжительностью работ, т.е.

m

max (  tik ) .

k i=1

2.2. Если k = 1, то работы запускаются в порядке убывания величин ti2 + ti3.

2.3. Если k = 3, то работы запускаются в порядке возрастания величин ti1 + ti2.

2.4. Если k = 2, то работы упорядочиваются на основе алгоритма двухфазного планирования при исключениии второго столбца из матрицы трудоемкости.

Для матрицы трудоемкости ( 3 ) получим:

ti1 = 55; ti2 = 26; ti3 = 24, ( 5 )

т.е. наибольшую суммарную продолжительность работ имеет фаза ввода информации. В соответствии с пунктом 2.2 работы следует запустить в порядке убывания величин ti2 + ti3. План пропуска программ будет следующий:

1

2

3

4

5

J1

J2

J3

J4

J5

Диаграмма выполнения работ по этому расписанию изображена на рис 4.2. Из рисунка видно, что время выполнения всего пакета программ при выбранном расписании равно 58 сек. На рис. 4.3 приведена диаграмма выполнения этого же пакета в соответствии с матрицей трудоемкости ( 3 ). Из анализа следует, что эвристический алгоритм планирования дает выигрыш в семь единиц времени.

Внимательный анализ диаграммы на рис. 4.2 показывает принцип построения эвристического алгоритма планирования - непрерывная работа наиболее загруженной фазы при ее скорейшем запуске ( пункт 2.3 ) или скорейшее завершение после выполнения всех программ наиболее загруженной фазой ( пункт 2.2 ). Таким образом, в этом алгоритме пытаются совместить выполнение возможно большего числа программ с безостановочной работой наиболее загруженной фазы.

Эта же идея заложена в алгоритм нахождения минимально возможного времени выполнения пакета программ Т0, которое необходимо для оценки эффективности эвристических методов планирования работ в любых моделях. Обозначим через Т2 максимальную суммарную продолжительность выполнения из всех фаз матрицы трудоемкости, т.е.

m

T2 = max (  tik ). ( 6 )

k i=1

При оптимальном планировании за время Т2 можно выполнить и большинство работ из других менее трудоемких фаз, за исключением этапов, которые должны быть выполнены до запуска программ в наиболее трудоемкой фазе и этапов, которые должны быть выполнены после завершения обслуживания в наиболее трудоемкой фазе. Очевидно, что при оптимальном планировании начальный и конечный этапы обслуживания должны иметь минимально возможную трудоемкость. Пусть k определяет номер фазы с максимальной суммарной продолжительностью работы. Тогда начальный этап выполнения пакета программ может быть оценен значением

Т1 =

{

0, при k = 1;

k-1

min (  tij ), при k = 1.

i i=1

Длительность конечного этапа выполнения всех работ из пакета может быть определена по выражению

Т3 =

{

0, при k = m;

m

min (  tij ), при k = 1.

i i=k+1

Минимально возможное время выполнения всей совокупности работ определяется значением

T0 = T1 + T2 + T3.

Диаграмма выполнения трехфазной модели по исходной

матрице трудоемкости

t

4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64

F1

J1 J2 J3 J4 J5

t

CPU

J1 J2 J3 J4 J5

t

F3

J1 J2 J3 J4 J5

t

Рис.4.3

Для матрицы трудоемкости ( 3 ) из ( 6 ) имеем, что Т2 = 55, а наиболее трудоемкая фаза k = 1. Отсюда получаем, что Т1 = 0. Из матрицы ( 3 ) простым перебором находим, что Т3 = t32 + t33 = 3. Таким образом Т0 = T1 + T2 + T3 = 58, т.е. эвристический алгоритм позволил найти одно из квазиоптимальных расписаний для трехфазной модели.

Можно применять метод, описанный для оценки минимального времени выполнения пакета программ, для частичного эвристического планирования в многофазных моделях вычислительных систем. В качестве примера рассмотрим планирование для матрицы трудоемкости ( 1 ) без пятого столбца. Имеем:

ti1 = 28; ti2 = 27; ti3 = 26; ti4 =26.

Таким образом

T2 = 28; k = 1; T1 = 0; T3 = 6 ( для работы J );

T0 = 0 + 28 + 6 = 34.

Отсюда следует, что работу J3 необходимо запускать последней. Это уже позволяет снизить количество вариантов перебора для определения позиции в очереди для остальных работ. В нашем случае общее количество вариантов расписаний равно n! = 5! = 120. Определение позиции одной работы снижает число вариантов до значения ( n - 1 )! = 4! = 24.

Соседние файлы в папке Компьютерные системы 3 курс