Next:4.7. Пример параллельной программы с использованием средств PSE
Up:4. МНОГОПРОЦЕССОРНАЯ ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА nCUBE2
Prev:4.5. Средства параллельного программирования на nCUBE2

4.6. Библиотека подпрограмм хост-компьютера для взаимодействия с параллельными программами nCUBE2

В большинстве случаев нет необходимости организовывать специальное взаимодействие между хост-компьютером и вычислительными узлами. Все запросы ввода/вывода автоматически транслируются хост-процессом xnc. Однако в программном обеспечении nCUBE2 предусмотрена возможность прямого взаимодействия процессов, выполняющихся на nCUBE2, с процессами хост-компьютера. Это позволяет распределять выполнение задачи между ними. Например, вычислительную часть выполнять на nCUBE2, а графическую обработку результатов динамически выполнять на хост-компьютере. В этом случае головная программа (master) запускается на хост-компьютере, из нее выполняется загрузка и запуск ведомой (slave) вычислительной программы на nCUBE2. Тогда между этими программами возможен прямой обмен информацией, реализованный по аналогии с обменом данными между процессорами. Для обеспечения этого режима в программное обеспечение хост-компьютера добавлена библиотека libncube.a. В ее состав, в частности, входят функции:

nopen - запрос подкуба на nCUBE2;
nodeset - создание дескриптора для задаваемого набора процессоров;
rexec - загрузка программы в процессоры nCUBE2;
nread - чтение сообщения на хост-компьютере из параллельной программы;
nwrite - посылка сообщения от хост-компьютера параллельной программе;
nclose - освобождение запрошенного подкуба.

В данном руководстве мы не будем детально рассматривать эти функции, поскольку режим master-slave на сегодня утратил практический смысл. В самом деле, если объемы вычислений таковы, что они допускают интерактивную обработку результатов, то такие задачи разумнее решать на современных графических рабочих станциях.




Next:4.7. Пример параллельной программы с использованием средств PSE
Up:4. МНОГОПРОЦЕССОРНАЯ ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА nCUBE2
Prev:4.5. Средства параллельного программирования на nCUBE2