Эффективность параллельных программ
Эффекти́вность паралле́льных програ́мм, один из критериев качества параллельных программ. Существует как минимум два известных существенно различных критерия эффективности. Различают эффективность реализации и эффективность распараллеливания.
Под эффективностью реализации понимается отношение максимальной реальной производительности к пиковой производительности данного суперкомпьютера Эффективность реализации является безразмерной величиной, принимающей значение в пределах от 0 до 1, либо выражается в процентах. Большее значение эффективности реализации обычно соответствует лучшему качеству параллельной программы, поскольку означает лучшую утилизацию ресурсов используемого компьютера.
Под эффективностью распараллеливания понимается отношение получаемого ускорения к числу задействованных процессов Эффективность распараллеливания показывает, какую долю максимально возможного (без учёта эффекта суперлинейности) ускорения удалось получить на данной параллельной реализации алгоритма. Она также является безразмерной величиной, обычно принимающей значение в пределах от 0 до 1, либо выражается в процентах. В отдельных случаях эффективность распараллеливания может превосходить 1, что соответствует т. н. суперлинейному ускорению (чаще всего это связано с более эффективным использованием иерархии памяти). Большее значение эффективности распараллеливания обычно соответствует лучшему качеству параллельной программы.
Если вычислительная сложность задачи фиксирована, то при увеличении числа процессов эффективность распараллеливания как правило, уменьшается за счёт роста накладных расходов (англ. total overhead).
Если число процессов фиксировано, то эффективность распараллеливания можно увеличить, увеличивая вычислительную сложность решаемой задачи.