Составители:
Рубрика:
выполняются лишь для процессов данной сети. Можно рассматри-
вать базовые функции как сетевые функции для сети, состоящей
из всех процессов программы (такая сеть помечается именем *).
Таким образом, базовые сетевые и узловые функции различа-
ются степенью интегрированности процессов, исполняющих каж-
дый вид функций. Базовые функции — наиболее интегрированы:
все процессы программы обязательно содержат код базовой функ-
ции: поэтому нет смысла говорить о параллельном вызове двух ба-
зовых функций. С другой стороны, наименее интегрированы узло-
вые функции; они могут выполняться как отдельным процессом,
так и группой процессов.
Сетевые функции занимают промежуточное положение меж-
ду базовыми и узловыми функциями: они описывают вычисления
и коммуникации на некоторой (абстрактной) сети, являющейся ее
формальным параметром. Если две сетевые функции вызваны од-
новременно на двух непересекающихся сетях, то они будут выпол-
няться параллельно. Таким образом, аппарат узловых и сетевых
функций поддерживает параллелизм задач.
Описание библиотечной функции MPC_Barrier, находящееся в
файле mpc.h, выглядит так
int [net SimpleNet(n) w] MPC\_Barrier(viod);
Любая сетевая функция имеет специальный сетевой формальный
параметр. Этот параметр принимает значение сети, на которой вы-
полняется сетевая функция.
В данном случае описание сетевого параметра имеет вид
net SimpleNet(n) w
Данное описание, наряду с формальной сетью w, на которой выпол-
няется функция, вводит параметр n — число виртуальных процес-
соров этой сети.
§ 8. Подсети в языке mpC
Объявленное подмножество виртуальных процессоров сети на-
зывается подсетью; подсети служат для неявного описания обменов
данными.
180
Страницы
- « первая
- ‹ предыдущая
- …
- 177
- 178
- 179
- 180
- 181
- …
- следующая ›
- последняя »