- 62 -
Практика построения параллельных программ
Система PARIX предоставляет достаточно широкие воз-
можности в плане выбора средств для реализации той или иной про-
граммы. Во многих случаях поставленная цель может быть достигнута
с помощью различных средств. Выбор наиболее эффективного метода
для каждого конкретного случая представляет определенные трудно-
сти. Вместе с тем некоторые приемы построения программ уже хоро-
шо себя зарекомендовали и предлагаются в качестве удобного и впол-
не приемлемого подхода.
Укажем наиболее характерные моменты, допускающие не-
однозначную интерпретацию.
Ввод и вывод исходных данных
Ввод и вывод исходных данных с внешних дисковых нако-
пителей может осуществляться как минимум двумя разными способа-
ми:
• Ввод/вывод данных выполняет один из процессоров, называемый в
дальнейшем «управляющий». После ввода данных управляющий
процессор передает данные по высокоскоростным каналам связи
остальным процессорам (назовем их «удаленными»). Для вывода
данных, все процессоры передают результаты управляющему про-
цессору, осуществляющему их непосредственный вывод на диск;
• Ввод/вывод данных выполняется непосредственно каждым процес-
сором.
Преимуществом первого подхода является его универсаль-
ность. Он применим даже для тех систем, в которых удаленные про-
цессоры не имеют непосредственно доступа к дискам вычислительной
системы, с которой осуществлен запуск. Вторым доводом в пользу ис-
пользования первого подхода на ряде систем, может служить, как ни
странно, меньшее время записи данных, по сравнению со вторым ме-
тодом. Например, в системе Parsytec CC доступ удаленных процессо-
ров к дисковым накопителям, установленным на так называемом
«мастер»-узле, осуществляется по медленной Ethernet сети, на порядок
уступающей в пропускной способности высокоскоростной сети HS-
Link, тогда как запись на диск непосредственно с процессора «мас-
тер»-узла осуществляется максимально быстро (рис. 47).
Наряду с преимуществами у первого подхода есть некоторые
недостатки. Основной из них проявляется при обработке данных, объ-
ем которых превышает оперативную память управляющего процес-
сорного узла. В этой ситуации необходимо выполнять запись на диск
непосредственно после получения данных от каждого из удаленных
процессоров. Это ограничение затруднит использование асинхронного
сбора данных с удаленных процессоров, но учитывая, что обмен с