Параллельное программирование — аппарат исследования операций
Нижняя оценка минимального числа процессоров, необходимого для выполнения алгоритма за заданное время
Алгоритм 5.
- Первоначально полагаем n = 0.
-
Организуем перебор всех отрезков
в порядке
Всего таких отрезков T(T+1)/2.
- Для очередного анализируемого отрезка времени
находим значение
- Если n' > n, выполняем операцию n := n'. После перебора всех отрезков окажется найденным значение n, которое равно максимальному из значений, удовлетворяющих (7.2).
Пример. Нахождение оценки n.
Нахождение будем
иллюстрировать графически, возможными временными
диаграммами (рис. 7.19).
В результате анализа всех отрезков находим n = max n' = 2.
Нижняя оценка минимального времени выполнения данного алгоритма на ВС
Алгоритм 6.
-
Первоначально полагаем
- Организуем перебор всех отрезков
в той же последовательности, что и в предыдущем алгоритме. (В процессе выполнения данного алгоритма значение T может увеличиваться, что при данном порядке перебора не приведёт к усложнению алгоритма.)
-
Для очередного анализируемого отрезка времени
находим значение
- Если d > 0, выполняем операцию T := T + ] d/n [.
- Полагаем
.
После перебора всех отрезков окажется
найденным окончательное
значение T — нижняя оценка минимального времени выполнения
данного алгоритма
на данной ВС.
Пример. Произведём оценку T для графа G, рассмотренного в предыдущем примере, и ВС, состоящей из двух процессоров, n = 2 (рис. 7.20).
Первоначально находим
![T = \max \left \{ \frac{1}{2}\cdot
(2+2+1+1),T_{кр}=3\right
\}=3.](/sites/default/files/tex_cache/ed48c0d024ccf4e105292c9d740259cc.png)
После перебора всех отрезков, с учётом уточнения оценки времени в процессе этого перебора, окончательно находим T = 4.