- 30 -
достаточно высокая и длинная, большую часть времени все каменщи-
ки будут равномерно загружены и простоев, связанных с ожиданием
друг друга, быть не должно.
Последнее утверждение верно при условии, что все камен-
щики работают с одинаковой скоростью, и что объем работ не меняет-
ся от слоя к слою стены. На практике всегда есть некоторая разница,
как в скорости работы каменщиков, так и во времени, необходимом
для обработки каждого слоя. Очевидно, что при достаточно высокой
стене, рано или поздно скорость ее построения будет определяться са-
мым медленным каменщиком, поскольку остальные не смогут про-
должать работу, пока не уложены предыдущие слои.
Основной вывод выглядит следующим образом: метод эф-
фективен при большом, по сравнению с числом задействованных ка-
менщиков, количестве однородных фрагментов работ и при равной
производительности каменщиков.
Рис. 32. Конвейерное решение
Параллелизм типа «коллективное решение»
Возникает закономерный вопрос, как поступить в случае, ко-
гда априори нельзя сказать сколько-нибудь определенно о соотноше-
нии производительности каменщиков, и об относительной трудоемко-
сти разных участков работы. Метод «коллективного решения» позво-
ляет эффективно организовать работу именно в этом случае. Он не
предполагает априорного жесткого распределения работ между работ-
никами. Каждый получает некоторое количество кирпичей и цемента
и укладывает любой готовый к укладке незанятый участок стены. Из-
расходовав свой запас материалов, он, получив следующую порцию,
приступает к укладке некоторого, в общем случае, другого, участка
стены. Легко указать основные моменты, приводящие к непроизводи-
тельному простою каменщиков при таком подходе. Во-первых, требу-
ется синхронизация при получении материалов и при выборе участков
стены – каждому должен предоставляться подготовленный участок
достаточной длины, а это значит, что неизбежны некоторые простои в
начале работы при распределении участков. Точно так же вероятен
некоторый простой в конце работы, когда кто-то закончит раньше ос-
тальных.
При достаточно длинной стене и достаточно быстром меха-
низме распределения работ подход позволяет поддерживать высокую
эффективность. Однако при большом числе каменщиков, именно ме-
ханизм распределения работ может, и часто оказывается, основным
фактором, ограничивающим общую эффективность. Вспомним, что в
контексте реальной вычислительной системы, передача части работ от
управляющего к обрабатывающему процессору связана с передачей
определенного объема данных по каналам межпроцессорной связи.