Идеальная параллельная система обладает двумя главными свойствами: (1) линейное ускорение (linear speedup): при двойном увеличении объема аппаратного обеспечения та же задача выполняется в два раза быстрее и (2) линейная масштабируемость (linear scaleup): при двойном увеличении объема аппаратного обеспечения вдвое большая задача выполняется за то же время (см. рис.2 и рис. 3).
Рисунок 2.
Ускорение и масштабируемость. Ускорение позволяет выполнить часовую работу за четверть часа на машине, которая крупнее в четыре раза. Масштабируемость позволяет выполнить за то же время в десять раз большую работу на машине, которая крупнее в десять раз.
Рисунок 3.
Хорошие и плохие кривые ускорения. Стандартные кривые ускорения. Левая кривая идеальна. Средняя диаграмма показывает отсутствие ускорения при наращивании аппаратуры. На правой диаграмме показаны три основных угрозы параллелизму. Прежде всего, могут доминировать затраты на запуск. По мере увеличения числа процессов может расти число помех. Наконец, работа может быть настолько мелко поделена, что задержку ее выполнения вызывают перекосы времени обслуживания.
Более формально, если одна и та же работа выполняется сначала на меньшей системе, а затем на более крупной, то ускорение, обеспечиваемое большей системой, определяется таким образом:
ускорение = время_затраченное_меньшей_системой / время_затраченное_большей_системой
Ускорение называется линейным, если в N раз большая или более дорогая система обладает в N раз большим быстродействием.
Ускорение позволяет определить эффективность наращивания системы на сопоставимых задачах. Масштабируемость позволяет измерять эффективность наращивания системы на больших задачах. Масштабируемость определяется, как способность в N раз большей системы выполнять в N раз большую работу за то же время, что и исходная система. Коэффициент масштабируемости измеряется, как
коэффициент масштабируемости = время_затраченное_меньшей_системой_на_ _решение_небольшой_задачи / время_затраченное_большей_системой_ на_решение_большой_задачи