Прискорення і ефективність паралельного алгоритму

Прискоренням паралельного алгоритму називається відношення:

(4)

де — час обчислення завдання на p процесорах. Зауважимо, що у визначенні мають на увазі справжній час обчислень. Це робить визначення більш корисним на практиці, але ускладнює його використання в тому випадку, якщо необхідний час виконання алгоритму невідомий. Для ідеальної обчислювальної системи і ідеальної паралельної реалізації алгоритму його прискорення дорівнює середньому ступеню паралелізму.

З прискоренням пов'язана ефективність паралельного алгоритму.

Ефективністю паралельного алгоритму називається величина:

(5)

По визначенню, . Теоретично має бути і . Якщо алгоритм досягає максимального прискорення (), то . На практиці зменшується при збільшенні числа процесорів.

Іноді бувають випадки, коли («суперлінійне прискорення»). Ця аномалія викликана, частіше за все, двома причинами:

  • Як послідовний алгоритм був застосований не найшвидший алгоритм з доступних.
  • Зі збільшенням кількості обчислювачів зростає сумарний обсяг їх оперативної і кеш пам'яті. Тому все більша частина даних завдання уміщається в оперативній пам'яті і не вимагає підкачки з диска, або (найчастіше) уміщається в кеші. У таких випадках для точного вимірювання ефективності реалізованого алгоритму слід зменшувати об'єм кеш пам'яті кожного обчислювача обернено пропорційно числу обчислювачів.