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
|
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ż
- KORBA
- Sojusz Globusa
- Język programowania Ockhama
- Łatwy język programowania
- Linda (język koordynacji)
- Rachunek systemów komunikujących się
- Rachunek systemów nadawczych
- Interfejs przekazywania wiadomości (MPI)
Linki zewnętrzne
- Oficjalna strona internetowa
- Parawiki: Parallel Virtual Machine at the Wayback Machine (archiwum 21 marca 2007)