Одной из главных характеристик параллельных систем является ускорение R параллельной системы, которое определяется выражением:
, где T1 − время решения задачи на однопроцессорной системе, а Tn − время решения той же задачи на n − процессорной системе. Пусть W = Wск + Wпр, где W − общее число операций в задаче, Wпр − число операций, которые можно выполнять параллельно, а Wcк − число скалярных (нераспараллеливаемых) операций. Обозначим также через t время выполнения одной операции. Тогда получаем закон Амдала:
Здесь a = Wск/W − удельный вес скалярных операций. Закон Амдала определяет принципиально важные для параллельных вычислений положения: 1. Ускорение зависит от потенциального параллелизма задачи (величина 1–а) и параметров аппаратуры (числа процессоров n). 2. Предельное ускорение определяется свойствами задачи. Пусть, например, a = 0,2 (что является реальным значением), тогда ускорение не может превосходить 5 при любом числе процессоров, то есть максимальное ускорение определяется потенциальным параллелизмом задачи. Очевидной является чрезвычайно высокая чувствительность ускорения к изменению величины а.
Основной вариант закона Амдала не отражает потерь времени на межпроцессорный обмен сообщениями. Эти потери могут не только снизить ускорение вычислений, но и замедлить вычисления по сравнению с однопроцессорным вариантом.
Поэтому необходима некоторая модернизация закона:
Здесь Wc − количество передач данных, tc − время одной передачи данных.
Выражение
и является сетевым законом Амдала. Коэффициент сетевой деградации вычислений с:
определяет объем вычислений, приходящийся на одну передачу данных (по затратам времени). При этом сА определяет алгоритмическую составляющую коэффициента деградации, обусловленную свойствами алгоритма, а сТ − техническую составляющую, которая зависит от соотношения технического быстродействия процессора и аппаратуры сети.