next up previous contents
Next: Обмен сообщениями Up: PVM - параллельная виртуальная Previous: Посылка сигналов   Contents

Установка и получение опций

int oldval = pvm_setopt( int what, int val)

int val = pvm_getopt( int what)

call pvmfsetopt( what, val, oldval)

call pvmfgetopt( what, val)

Подпрограмма pvm_setopt - это функция общего назначения, которая позволяет пользователю установить или получить опции для системы PVM. В PVM версии 3 pvm_setopt может быть использована для установки ряда опций, задающих автоматический вывод на экран сообщений об ошибках, уровень отладки и метод коммуникационной маршрутизации для всех последующих вызовов PVM; pvm_setopt возвращает предыдущее значение запрашиваемой опции из набора в oldval. В PVM версии 3.3 what может иметь значения, указанные в табл. 13 (см.).


Таблица 13. Значения опций PVM.


Опция Значение Смысл
PvmRoute 1 дисциплина маршрутизации
PvmDebugMask 2 отладочная маска
PvmAutoErr 3 автоматический рапорт об ошибках
PvmOutputTid 4 конечная цель stdout потомков
PvmOutputCode 5 msgtag для выходного потока
PvmTraceTid 6 конечная цель трассировки потомков
PvmTraceCode 7 msgtag для трассировки
PvmFragSize 8 размер фрагментов сообщений
PvmResvTids 9 разрешение доставки сообщений с зарезервированными тегами для задач с идентификаторами задач
PvmSelfOutputTid 10 конечная цель собственного stdout
PvmSelfOutputCode 11 msgtag для собственного выходного потока
PvmSelfTraceTid 12 конечная цель собственной трассировки
PvmSelfTraceCode   msgtag для собственной трассировки

Наиболее популярное применение pvm_setopt - это ``включение'' прямолинейной маршрутизации между задачами PVM. В соответствии с обобщенными требованиями, пропускная сетевая коммуникационная способность PVM удваивается после вызова:

pvm_setopt(PvmRoute, PvmRouteDirect);
Препятствие заключается в том, что такой метод коммуникационного ускорения в UNIX не масштабируется, следовательно, он может не срабатывать, если приложение задействует более 60 задач, которые непредсказуемо взаимодействуют друг с другом. Если метод не срабатывает, то PVM автоматически переключается на использование ``стандартного'' коммуникационного метода. Вызов может выполняться из приложения множество раз - для избирательной установки режима ``прямых'' коммуникационных связей ``задача-задача''; но типичное его применение заключается в одиночном вызове после вызова pvm_mytid().


next up previous contents
Next: Обмен сообщениями Up: PVM - параллельная виртуальная Previous: Посылка сигналов   Contents
2004-06-22