Алгоритмы параллельных вычислений и программирование. Бурова И.Г - 181 стр.

UptoLike

на виртуальные процессы сети row 0 копируется в проекции рас-
пределенного массива neighbour на виртуальные процессы сети
row 1.
Замечание. Иногда можно обойтись лишь неявным определе-
нием подсетей (без использования объявления subnet). В частно-
сти, это можно сделать в приведенном выше примере присваивани-
ем
[mynet: \, I== 0]neighbour[]=[mynet: \, I== 1]me[];
[mynet: \, I== 1]neighbour[]=[mynet: \, I== 0]me[];
В результате программа упрощается без потери эффективно-
сти или функциональных возможностей.
Следует отметить, однако, что без явного определения подсе-
ти не всегда можно обойтись; например, сетевые функции нельзя
вызывать на неявно определенных подсетях.
§ 9. Управление отображением виртуальных
процессоров на реальные процессы
параллельной программы
Определение сети приводит к отображению виртуальных про-
цессоров на реальные процессы параллельной программы, которые
производит система программмирования mpC на основе поступаю-
щей к ней информации, минимизируя время выполнения програм-
мы. При этом система использует информацию о конфигурации и
производительности вычислительной системы и отдельных ее ком-
понентов, а также на информацию об объеме вычислений, которые
необходимо выполнить в предьявленной программе.
В тех случаях, когда информация об объемах вычислений от-
сутствует, система считает, что всем виртуальным процессорам всех
определенных сетей предстоит выполнить одинаковые объемы вы-
числений, и потому распределяет их по реальным процессам про-
граммы в соответствии с этим предположением.
Если объемы вычислений между точками синхронизации или
обмена данными приблизительно одинаковы, то процессы в этих
точках не будут простаивать в ожидании друг друга; таким образом
программа окажется сбалансированной.
Однако, в случае значительных различий в объемах вычисле-
ний данное распределение заметно замедлит программу.
182