Лекции по параллельным вычислениям. Гергель В.П - 62 стр.

UptoLike

Составители: 

62
Эффективность программы в этом случае зависит от соотношения времен-
ных затрат на проведение вычислений на фрагментах исходных данных и пере-
сылку данных (накладные расходы) [2,3]. По мере увеличения числа значит
уменьшения размеров) фрагментов данных, объем вычислений на каждом
фрагменте уменьшается. При этом накладные расходы могут оставаться почти
прежними, например, вследствие большой латентности (связанной с потерями
на передачу сообщения нулевой длины) коммуникационной среды.
Иногда используется следующий простой способ построения эффективной
параллельной программы, совмещенный с этапом ее отладки. Размеры фраг-
ментов массива исходных данных уменьшают (соответственно увеличивают
число параллельно работающих процессоров) до тех пор, пока имеет место
почти линейное ускорение. Если же при очередном увеличении числа процес-
соров линейного ускорения не происходит, это означает, что накладные расхо-
ды стали заметными и дальнейшее распараллеливание по данным приведет к
недостаточной загрузке процессоров. Этот подход обсуждался в работе [7].
Совокупность методов и приемов распараллеливания, не требующих стро-
гого решения задачи отображения графа алгоритма на граф вычислительной
системы, будем называть инженерным подходом. В настоящем разделе в рам-
ках этого подхода рассматриваются некоторые правила и приемы построения
параллельных алгоритмов, выработанные на основе опыта и здравого смысла.
Успешность применения этих методов в значительной степени будет зависеть
от соответствия структуры построенного параллельного алгоритма типу его
внутреннего параллелизма. Поэтому начнем с рассмотрения классификации ал-
горитмов по этому признаку.
5.2 Классификация алгоритмов по типу параллелизма
Способность алгоритма к распараллеливанию потенциально связана с од-
ним из двух (или одновременно с обоими) внутренних свойств, которые харак-
теризуются как параллелизм задач (message passing) и параллелизм данных