Сетевой закон Амдала
Основно вариант закона Амдала не отражает потерь времени на межпроцессорный обмен сообщениями. Эти потери могут не только снизить ускорение вычислений, но и замедлить вычисления по сравнению с однопроцессорным вариантом. Поэтому необходима некоторая модернизация выражения (2.2).
Здесь Wg - количество передач данных, tg - время одно передачи данных. Выражение: |
Перепишем (2.2) следующим образом:
и является сетевым законом Амдала. Этот закон определяет следующие две особенности многопроцессорных вычислений:
1. Коэффициент сетево деградации вычислений с:
определяет объем вычислений, приходящийся на одну передачу данных (по затратам времени). При этом сд определяет алгоритмическую составляющую коэффициента деградации, обусловленную свойствами алгоритма, а Ст - техническую составляющую, которая зависит от соотношения технического быстродействия процессора и аппаратуры сети. Таким образом, для повышения скорости вычислений следует воздействовать на обе составляющие коэффициента деградации. Для многих задач и сете коэффициенты сд и Ст могут быть вычислены аналитически и заранее, хотя они определяются множеством факторов: алгоритмом задачи [14,15], размером данных,
реализацией функций обмена библиотеки MPI, использованием разделяемой памяти и, конечно, техническими характеристиками коммуникационных сред и их протоколов.
2. Даже если задача обладает идеальным параллелизмом, сетевое ускорение определяется величино:
и увеличивается при уменьшении с. Следовательно, сетевой закон Амдала должен быть основой оптимальной разработки алгоритма и программирования задач, предназначенных для решения на многопроцессорных ЭВМ.
В некоторых случаях используется еще один параметр для измерения эффективности вычислений - коэффициент утилизации z:
Если система имеет несколько архитектурных уровней с разными формами параллелизма, например, мелкозернистый параллелизм на уровне АЛУ, параллелизм среднего уровня на процесс сорном уровне и параллелизм задач, то качественно общее ускорение в системе будет:
R = Г1ХГ2ХГ3,
где г, - ускорение некоторого уровня.
Дата добавления: 2015-08-21; просмотров: 1314;