Как определяется масштабируемость для параллельного кода? - PullRequest
5 голосов
/ 19 марта 2011

Мне интересно узнать, существует ли формальное определение того, является ли параллельный код масштабируемым , или это просто модное слово? Если я измерю время последовательной стенки как t_S, а время параллельной стенки как t (P), то я могу определить эффективность как E (P) = t_S / (t (P) * P), есть ли критерий того, как эффективность должна изменяться с P (и размером проблемы), чтобы код считался масштабируемым?

Ответы [ 2 ]

6 голосов
/ 19 марта 2011

Масштабируемость означает, что с дополнительными машинами или ядрами процессора (масштабирование против масштабирования) производительность (способность справляться со все большими нагрузками) улучшается. Таким образом, серийный код не масштабируется. Параллельный код может быть. Закон Амдала ограничивает масштабируемость системы.

Масштабируемость часто важнее эффективности. Масштабируемая, но неэффективная система может справиться с большей нагрузкой, просто добавив оборудование. Эффективная, но не масштабируемая система требует серьезной доработки кода для обработки больших нагрузок.

2 голосов
/ 19 марта 2011

см. закон Амдала и закон Густафсона для некоторых формальных определений некоторых показателей масштабируемости.

...