Skip to main content

Что такое параллельная виртуальная машина?

Параллельная виртуальная машина - это программное приложение, которое позволяет нескольким независимым компьютерам географически распределяться друг с другом как сеть и предоставлять вычислительную мощность и память своей системы одному приложению.

Изменение производственных затрат и популярность домашнего компьютера привели к увеличению доступности очень мощных компьютеров на потребительском рынке. Эти машины недостаточно используются с их стандартными программными приложениями, оставляя огромное количество вычислительной мощности бесплатно. Программное обеспечение параллельной виртуальной машины позволяет объединять эти ресурсы и получать к ним доступ для решения больших, сложных научных, медицинских или промышленных задач.

Параллельная виртуальная машина была впервые создана в 1989 году в Oak Ridge National Labs компанией Al Geist. Основываясь на проведенной там работе, проект был расширен в Университете Теннесси в марте 1991 года и с тех пор неуклонно растет.

Параллельная система виртуальных машин состоит из двух частей: приложения, расположенного на отдельных машинах, и библиотеки подпрограмм интерфейса. Программное приложение называется демоном параллельной виртуальной машины, pvmd3 или pmvd. Эта небольшая программа пассивно работает до тех пор, пока не потребуется запустить приложение параллельной виртуальной машины. Когда пользователь хочет запустить программу такого типа, он должен сначала запустить параллельную виртуальную машину. Это позволяет им получить доступ к программному обеспечению на любом другом хосте.

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

Основная концепция параллельной виртуальной машины заключается в том, что у любого приложения есть несколько задач, которые можно запускать независимо. Этот тип логики очень распространен в сложных научных расчетах. Есть две модели, используемые в параллельных виртуальных машинах; функциональный и информационный параллелизм.

Функциональные параллелизмы разделяют приложение на четко определенные, независимые задачи. Эти задачи выполняются на отдельных хостах. Параллельная виртуальная машина используется для координации на основе таких функций, как ввод, решение, вывод и отображение.

Параллелизм данных или множественные данные одной программы (SPMD) - более популярный метод. В этом методе все задачи одинаковы, но каждый хост решает маленький кусочек большей головоломки. Среда параллельной виртуальной машины поддерживает оба метода, что важно, поскольку может оказаться наиболее эффективным смешивать эти два метода в зависимости от требуемых расчетов.

C, C ++ и Fortran - языки программирования, используемые в параллельной виртуальной машине. Эти языки были выбраны потому, что большинство приложений, используемых в этой среде, были созданы на этих языках. Исходный код программного обеспечения для параллельных виртуальных машин широко доступен в Интернете и доступен по ftp, www, xnetlib или по электронной почте.