Równoległa maszyna wirtualna

Równoległa maszyna wirtualna
Oryginalni autorzy Narodowe Laboratorium Oak Ridge
Deweloperzy Uniwersytet Tennessee
Pierwsze wydanie 1989
Wersja stabilna
3.4.6 / 2 lutego 2009 ; 14 lat temu ( 2009-02-02 )
Napisane w C
System operacyjny Windowsa i Uniksa
Licencja BSD , GPL
Strona internetowa https://www.cs.cmu.edu/Groups/pvm.html

Parallel Virtual Machine ( PVM ) to narzędzie programowe do równoległej pracy w sieci komputerów . Został zaprojektowany w celu umożliwienia sieci heterogenicznych maszyn Unix i/lub Windows jako jednego rozproszonego procesora równoległego . W ten sposób duże problemy obliczeniowe można rozwiązywać w sposób bardziej ekonomiczny, wykorzystując łączną moc i pamięć wielu komputerów. Oprogramowanie jest bardzo przenośne; kod źródłowy, dostępny bezpłatnie przez netlib , został skompilowany na wszystkim, od laptopów po Crays .

PVM umożliwia użytkownikom wykorzystanie istniejącego sprzętu komputerowego do rozwiązywania znacznie większych problemów przy mniejszych dodatkowych kosztach. PVM był używany jako narzędzie edukacyjne do nauczania programowania równoległego , ale był również używany do rozwiązywania ważnych problemów praktycznych. Został opracowany przez University of Tennessee , Oak Ridge National Laboratory i Emory University . Pierwsza wersja została napisana w ORNL w 1989 r., A po przepisaniu przez University of Tennessee, wersja 2 została wydana w marcu 1991 r. Wersja 3 została wydana w marcu 1993 r. I obsługiwała odporność na błędy i lepsze przenośność .

PVM był krokiem w kierunku nowoczesnych trendów w przetwarzaniu rozproszonym i przetwarzaniu sieciowym , ale od połowy lat 90. został w dużej mierze wyparty przez znacznie bardziej udany standard MPI do przekazywania komunikatów na maszynach równoległych. PVM jest wolnym oprogramowaniem , wydanym zarówno na licencji BSD , jak i GNU General Public License .

Projekt

PVM to system oprogramowania, który umożliwia wykorzystanie zbioru heterogenicznych komputerów jako spójnego i elastycznego współbieżnego zasobu obliczeniowego lub „równoległej maszyny wirtualnej ”.

wieloprocesorami z pamięcią współdzieloną lub pamięcią lokalną , superkomputerami wektorowymi , wyspecjalizowanymi silnikami graficznymi lub skalarnymi stacjami roboczymi i komputerami PC , które mogą być połączone różnymi sieciami , takimi jak Ethernet lub FDDI .

PVM składa się ze środowiska uruchomieniowego i biblioteki do przekazywania komunikatów, zarządzania zadaniami i zasobami oraz powiadamiania o błędach. Chociaż PVM nie spowoduje automatycznego przyspieszenia komercyjnego pakietu oprogramowania, zapewnia potężny zestaw funkcji do ręcznej równoległości istniejącego programu źródłowego lub do pisania nowych programów równoległych/rozproszonych.

Oprogramowanie PVM musi być specjalnie zainstalowane na każdej maszynie, która ma być używana w danej „maszynie wirtualnej”. W PVM nie ma „automatycznej” instalacji plików wykonywalnych na zdalnych maszynach, chociaż proste skopiowanie katalogów pvm3/lib i pvm3/bin na inną podobną maszynę (i ustawienie $PVM_ROOT i $PVM_ARCH ) jest wystarczające do uruchomienia programów PVM. Kompilowanie lub budowanie programów PVM wymaga pełnej instalacji PVM.

Programy użytkownika napisane w C , C++ lub Fortran mogą uzyskiwać dostęp do PVM za pośrednictwem dostarczonych procedur bibliotecznych.

PVM obsługuje również rozgłaszanie (PVM_bcast), które wysyła do wszystkich procesów w grupie oraz rozsyłanie grupowe (PVM_mcast), które wysyła do określonej listy procesów.

Zobacz też

Linki zewnętrzne