call pvmfparent (tid)
call pvmftidtohost (tid, dtid)
struct pvmhostinfo **hostp)
call pvmfconfig( nhost, narch, dtid, name, arch, speed,
info)
Функции на Фортране возвращают информацию об одном хосте за вызов,
поэтому для ``опроса'' всех хостов нужен цикл. Если
pvmfconfig
вызывается nhost раз, то будет представлена полная внутренняя структура виртуальной
машины. Работа с Фортран-интерфейсом подразумевает
сохранение копии массива hostp и возврат только одного ``вхождения''
за вызов. На всех хостах должны отработать циклы для того, чтобы они
получили обновленный массив hostp. Поэтому, если виртуальная
машина в течение этих вызовов изменяется, то изменение проявится в
параметрах nhost и narch, но не отразится на информации
о хосте. В настоящее время не существует способ ``сбросить'' pvmfconfig()
и заставить его перезапустить цикл в процессе его работы.
struct pvmtaskinfo **taskp)
call pvmftasks ( which, ntask, tid, ptid, dtid, flag,
aout, info)
Количество задач возвращается в ntask. taskp - это указатель на массив структур pvmtaskinfo - массив размера ntask. Каждая структура pvmtaskinfo содержит TID, pvmd TID, TID предка, флаг статуса и имя файла для порождения. (PVM ``не знает'' имя файла вручную запущенной задачи и поэтому ``не заполняет'' это имя.) Функция на Фортране возвращает информацию об одной задаче за вызов, поэтому для ``опроса'' всех задач нужен цикл. Так что, если нужно ``опрашивать'' все задачи и если pvmftasks вызывается ntask раз, то все задачи будут представлены. Фортран-реализации предполагают, что пул задач не подвержен изменениям, пока имеются циклы ``опроса'' задач. Если же пул изменился, эти изменения не проявятся до тех пор, пока не начнется следующий цикл из ntask вызовов.
Примеры использования pvm_config и pvm_tasks можно найти в исходных текстах консоли PVM, которая сама является задачей PVM. Примеры использования Фортран-версий этих подпрограмм можно найти в исходных текстах pvm3/examples/ testall.f.