Классификация и организация вычислительных систем. Михайлов Б.М - 24 стр.

UptoLike

Определим, какая должна быть максимальная доля / последовательных вы-
числений в программе, чтобы было возможно получить наперед заданное ускорение
счета S с максимальным коэффициентом распараллеливания К
п
. Для этого выразим из
закона Амдала долю последовательных вычислений:
)1(*
pS
Sp
f
, (1.5)
Из соотношения (1.5) видно, что для того, чтобы допустить наличие последо-
вательных вычислений в программе (f должно быть больше 0), число процессоров р
должно быть больше предполагаемого ускорения S. При этом условии максимальный
коэффициент распараллеливания К
п
получается при числе процессоров p=S+1.
Таким образом, доля последовательных вычислений должна составлять не
более
S
f
2
1
. (1.6)
Соотношение (1.6) определяет очень важное следствие из закона Амдала.
Для того чтобы ускорить программу в q pаз, необходимо ускорить не менее, чем
q
2
1
1
часть программы. Например, чтобы получить ускорение в 100 раз,
необходимо распараллелить 99,99% всей программы.
Кроме алгоритмического распараллеливания, для того чтобы с помощью
нескольких обрабатывающих устройств решить задачу, имеющую параллельные
ветви, необходима соответствующая организация процесса, которая определяет пути
решения задачи и вырабатывает необходимую информацию о готовности каждой
ветви. Однако все это относительно легко реализовать тогда, когда известна
достаточно точно длительность выполнения каждой ветви. На практике это бывает
крайне редко: в лучшем случае имеется та или иная временная оценка. Поэтому
организация оптимального или близкого к оптимальному графика работы является
достаточно сложной задачей.
        Определим, какая должна быть максимальная доля / последовательных вы-
числений в программе, чтобы было возможно получить наперед заданное ускорение
счета S с максимальным коэффициентом распараллеливания Кп. Для этого выразим из
закона Амдала долю последовательных вычислений:
                                 pS
                      f   
                              S * ( p  1)
                                           ,               (1.5)


        Из соотношения (1.5) видно, что для того, чтобы допустить наличие последо-
вательных вычислений в программе (f должно быть больше 0), число процессоров р
должно быть больше предполагаемого ускорения S. При этом условии максимальный
коэффициент распараллеливания Кп получается при числе процессоров p=S+1.




        Таким образом, доля последовательных вычислений должна составлять не
более
                              1
                      f          2   .                    (1.6)
                              S
        Соотношение (1.6) определяет очень важное следствие из закона Амдала.
Для того чтобы ускорить программу в q pаз, необходимо ускорить не менее, чем

      
    1 
1  2  -ю часть программы. Например, чтобы получить ускорение в 100 раз,
 q 
      
необходимо распараллелить 99,99% всей программы.
        Кроме алгоритмического распараллеливания, для того чтобы с помощью
нескольких обрабатывающих устройств решить задачу, имеющую параллельные
ветви, необходима соответствующая организация процесса, которая определяет пути
решения задачи и вырабатывает необходимую информацию о готовности каждой
ветви. Однако все это относительно легко реализовать тогда, когда известна
достаточно точно длительность выполнения каждой ветви. На практике это бывает
крайне редко: в лучшем случае имеется та или иная временная оценка. Поэтому
организация оптимального или близкого к оптимальному графика работы является
достаточно сложной задачей.