Мерой измерения производительности любой вычислительной системы является Flops (floating point operations per second) — количество операций с плавающей точкой в секунду.
Самым важным ограничением повышения производительности от распараллеливания алгоритма решения задачи являются законы Амдала, утверждающие:
1-ый закон Амдала. Производительность вычислительной системы, состоящей из связанных между собой устройств, в общем случае определяется самым непроизводительным ее устройством.
Следствие. Пусть система состоит из простых устройств и граф системы связный. Асимптотическая производительность системы будет максимальной, если все устройства имеют одинаковые пиковые производительности.
Предположим, что по каким-либо причинам n операций из N мы вынуждены выполнять последовательно. Причины могут быть разными. Например, операции могут быть последовательно связаны информационно. И тогда без изменения алгоритма их нельзя реализовать иначе. Но вполне возможно, что мы просто не распознали параллелизм, имеющийся в той части алгоритма, которая описывается этими операциями. Отношение β = n / N назовем долей последовательных вычислений.
|
|
2-й закон Амдала. Пусть система состоит из s одинаковых простых универсальных устройств. Предположим, что при выполнении параллельной части алгоритма все s устройств загружены полностью. Тогда максимально возможное ускорение равно:
3-й закон Амдала. Пусть система состоит из простых одинаковых универсальных устройств. При любом режиме работы ее ускорение не может превзойти обратной величины доли последовательных вычислений.