Równoległa maszyna wirtualna — Parallel Virtual Machine

Równoległa maszyna wirtualna
Pierwotny autor (autorzy) Narodowe Laboratorium Oak Ridge
Deweloper(zy) Uniwersytet Tennessee
Pierwsze wydanie 1989
Wersja stabilna
3.4.6 / 2 lutego 2009 ; 12 lat temu ( 2009-02-02 )
Napisane w C
System operacyjny Windows i Unix
Licencja BSD , GPL
Strona internetowa http://www.csm.ornl.gov/pvm/

Parallel Virtual Machine ( PVM ) to narzędzie programowe do równoległego łączenia komputerów w sieć . Został zaprojektowany tak, aby sieć heterogenicznych maszyn Unix i/lub Windows mogła być używana jako pojedynczy rozproszony procesor równoległy . W ten sposób duże problemy obliczeniowe można rozwiązywać w bardziej opłacalny sposób, wykorzystując zagregowaną moc i pamięć wielu komputerów. Oprogramowanie jest bardzo przenośne; kod źródłowy, dostępny bezpłatnie za pośrednictwem 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 niższych kosztach dodatkowych. 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 Uniwersytet Tennessee , Oak Ridge National Laboratory i Emory University . Pierwsza wersja została napisana w ORNL w 1989, a po przepisaniu przez University of Tennessee, wersja 2 została wydana w marcu 1991. Wersja 3 została wydana w marcu 1993 i wspierała odporność na błędy i lepszą przenośność .

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

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 ”.

Poszczególne komputery mogą być wieloprocesorami ze współdzieloną pamięcią 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. Natomiast PVM nie będzie automatycznie dokonać komercyjnego pakietu oprogramowania biegać szybciej, to nie zapewniają bogaty zestaw funkcji do ręcznego parallelizing istniejącego programu źródłowego, lub za pisanie 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”. Nie ma "automatycznej" instalacji plików wykonywalnych na zdalnych maszynach w PVM, chociaż proste skopiowanie katalogów pvm3/libi pvm3/binna inną podobną maszynę (i ustawienie $PVM_ROOTi $PVM_ARCH) jest wystarczające do uruchamiania programów PVM. Kompilowanie lub budowanie programów PVM wymaga pełnej instalacji PVM.

Programy użytkownika napisane w C , C++ lub Fortran mogą uzyskać 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 multicasting (PVM_mcast), który wysyła do określonej listy procesów.

Zobacz też

Bibliografia

Zewnętrzne linki