ОПЫТ ИСПОЛЬЗОВАНИЯ PVM ДЛЯ ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛЕНИЙ

А.В.Богданов, И.Г.Евсеев

Институт высокопроизводительных вычислений и баз данных, Санкт-Петербург

Тел.: (812) 251-90-92, e-mail: bogdanov@hm.csa.ru, il@c1.csa.ru,

Один из путей повышения эффективности приненения вычислительных средств заключается в разработке программных средств, позволяющих организовать совместную работу нескольких различных, вообще говоря, ЭВМ для решения трудоемкой вычислительной задачи. В настоящее время таким средством является программная система PVM (Parallel Virtual Machine), первый вариант которой появился в 1989 году. Этот проект считался исследовательским, а не коммерческим. Предполагалось, чтобы в идеале проблемный программист мог использовать для решения своих трудоемких вычислительных задач сеть разнородных машин, общаясь с этой сетью как с некоей виртуальной многопроцессорной машиной. При этом для организации параллельных вычислений программист использует в программе специальные функции из библиотек PVM (эти библиотеки имеются для алгоритмических языков СИ и ФОРТРАН). Что очень важно, программисту не требуется ничего знать об особенностях используемых вычислительных машин и операционных систем. Все функции согласования программы с вычислительной сетью берет на себя PVM.

Имеется и коммерческий интерес к применению PVM. Это объясняется возможностью использовать ранее непригодные для решения трудоемких задач компьютеры, если они объединены в сеть. В частности, любую учрежденческую сеть можно использовать в ночное время для решения вычислительных задач за соответствующую арендную плату. В настоящее время поддержкой разработки ядра PVM и переносом его на свои компьютеры заняты более 30 фирм - ведущих производителей вычислительной техники, в частности IBM, Cray, DEC, HP, Sun, SGI и т.д.

В первоначальном проекте PVM предполагалось, что задачи, одновременно выполняемые в PVM, обмениваются сообщениями, используя известный протокол TCP/IP. Затем были добавлены еще два варианта связи, которые не являются универсальными, но более высокоскоростные. Это обмен сообщениями через разделяемую память для задач, решаемых процессорами, которые имеют доступ к общему ОЗУ, и обмен сообщениями по скоростной внутримашинной сети для задач, решаемых на машине с архитектурой MPI. Тем самым скорость работы PVM на многопроцессорных машинах была значительно увеличена, что положительно сказалось на практической применимости пакета.

В докладе обсуждаются как общие недостатки, так и недостатки существующих версий PVM. Так например, общим недостатком всякого программного инструментария являются следующие проблемы:

В числе конкретных недостатков существующих версий PVM авторами отмечаются следующие:

Реализации PVM содержат серьезные ошибки, в частности, такие, которые очень трудно выловить. но впоследствии так же легко обойти. Первоначальная локализация такой ошибки может стать крайне затруднительным и растянутым на неизвестный срок делом.

В PVM недостаточно развиты контроль и управление за производительностью и загруженностью используемых компьютеров, за топологией, пропускной способностью и загруженностью сети.

Слабо освещена, и, судя по документации, недостаточно устойчиво реализована работа с сигналами, широко используемое средство межзадачного взаимодействия в операционной системе UNIX.

В заключение кратко обсуждаются сравнительные достоинства и недостатки проектов PVM и MPI, которые в настоящее время интенсивно развиваются, не только конкурируя, но и взаимно обогащая друг друга.