Parallele virtuelle Maschine - Parallel Virtual Machine
| Originalautor(en) | Oak Ridge National Laboratory |
|---|---|
| Entwickler | Universität von Tennessee |
| Erstveröffentlichung | 1989 |
| Stabile Version | 3.4.6 / 2. Februar 2009
|
| Geschrieben in | C |
| Betriebssystem | Windows und Unix |
| Lizenz | BSD , GPL |
| Webseite | http://www.csm.ornl.gov/pvm/ |
Parallel Virtual Machine ( PVM ) ist ein Softwaretool für die parallele Vernetzung von Computern . Es ist so konzipiert, dass ein Netzwerk heterogener Unix- und/oder Windows-Rechner als einzelner verteilter paralleler Prozessor verwendet werden kann . Somit können große Rechenprobleme kosteneffektiver gelöst werden, indem die Gesamtleistung und der Speicher vieler Computer genutzt werden. Die Software ist sehr portabel; Der Quellcode, der kostenlos über netlib erhältlich ist , wurde für alles von Laptops bis hin zu Crays kompiliert .
PVM ermöglicht es Benutzern, ihre vorhandene Computerhardware zu nutzen, um viel größere Probleme zu geringeren zusätzlichen Kosten zu lösen. PVM wurde als Lehrmittel verwendet, um parallele Programmierung zu lehren, wurde aber auch verwendet, um wichtige praktische Probleme zu lösen. Es wurde von der University of Tennessee , dem Oak Ridge National Laboratory und der Emory University entwickelt . Die erste Version wurde 1989 am ORNL geschrieben, und nachdem sie von der University of Tennessee neu geschrieben wurde, wurde Version 2 im März 1991 veröffentlicht. Version 3 wurde im März 1993 veröffentlicht und unterstützte Fehlertoleranz und bessere Portabilität .
PVM war ein Schritt in Richtung moderner Trends in der verteilten Verarbeitung und im Grid-Computing, wurde aber seit Mitte der 1990er Jahre weitgehend durch den viel erfolgreicheren MPI- Standard für die Nachrichtenweitergabe auf parallelen Maschinen verdrängt . PVM ist freie Software , die sowohl unter der BSD-Lizenz als auch unter der GNU General Public License veröffentlicht wird .
Entwurf
PVM ist ein Softwaresystem, das es ermöglicht, eine Sammlung von heterogenen Computern als kohärente und flexible gleichzeitige Rechenressource oder als "parallele virtuelle Maschine " zu verwenden.
Die einzelnen Computer können mit gemeinsam genutztem Speicher oder lokalen Speicher werden Multiprozessoren , Vektor - Supercomputer , spezialisiert Grafik - Engines oder skalare Workstations und PCs , die durch eine Vielzahl von miteinander verbunden werden können Netzwerke wie Ethernet oder FDDI .
PVM besteht aus einer Laufzeitumgebung und einer Bibliothek für die Nachrichtenweitergabe, das Aufgaben- und Ressourcenmanagement sowie die Fehlerbenachrichtigung. Obwohl PVM ein kommerzielles Softwarepaket nicht automatisch schneller macht, bietet es einen leistungsstarken Satz von Funktionen zum manuellen Parallelisieren eines vorhandenen Quellprogramms oder zum Schreiben neuer paralleler/verteilter Programme.
Die PVM-Software muss auf jeder Maschine, die in einer bestimmten "virtuellen Maschine" verwendet werden soll, speziell installiert werden. Es gibt keine "automatische" Installation von ausführbaren Dateien auf entfernten Maschinen in PVM, obwohl das einfache Kopieren der pvm3/libund pvm3/bin-Verzeichnisse auf eine andere ähnliche Maschine (und die Einstellung von $PVM_ROOTund $PVM_ARCH) zum Ausführen von PVM-Programmen ausreicht. Das Kompilieren oder Erstellen von PVM-Programmen erfordert die vollständige PVM-Installation.
In C , C++ oder Fortran geschriebene Benutzerprogramme können über bereitgestellte Bibliotheksroutinen auf PVM zugreifen.
PVM unterstützt auch Broadcasting (PVM_bcast), das an alle Prozesse in einer Gruppe sendet, und Multicasting (PVM_mcast), das an eine bestimmte Liste von Prozessen sendet.
Siehe auch
- CORBA
- Globus-Allianz
- Occam-Programmiersprache
- Einfache Programmiersprache
- Linda (Koordinationssprache)
- Berechnung von kommunizierenden Systemen
- Berechnung von Rundfunksystemen
- Message Passing Interface (MPI)
Verweise
Externe Links
- Offizielle Website
- Parawiki: Parallele virtuelle Maschine auf der Wayback-Maschine (archiviert am 21. März 2007)