Macchina virtuale parallela - Parallel Virtual Machine

Macchina virtuale parallela
Autori originali Laboratorio nazionale di Oak Ridge
Sviluppatore/i Università del Tennessee
Versione iniziale 1989
Rilascio stabile
3.4.6 / 2 febbraio 2009 ; 12 anni fa ( 2009-02-02 )
Scritto in C
Sistema operativo Windows e Unix
Licenza BSD , GPL
Sito web http://www.csm.ornl.gov/pvm/

Parallel Virtual Machine ( PVM ) è uno strumento software per il collegamento in rete parallelo di computer . È progettato per consentire l'utilizzo di una rete di macchine Unix e/o Windows eterogenee come un singolo processore parallelo distribuito . Pertanto, grandi problemi computazionali possono essere risolti in modo più economico utilizzando la potenza e la memoria aggregate di molti computer. Il software è molto portatile; il codice sorgente, disponibile gratuitamente tramite netlib , è stato compilato su qualsiasi cosa, dai laptop ai Cray .

PVM consente agli utenti di sfruttare l'hardware del computer esistente per risolvere problemi molto più grandi a un costo aggiuntivo inferiore. Il PVM è stato utilizzato come strumento educativo per insegnare la programmazione parallela, ma è stato anche utilizzato per risolvere importanti problemi pratici. È stato sviluppato dall'Università del Tennessee , dall'Oak Ridge National Laboratory e dalla Emory University . La prima versione è stata scritta all'ORNL nel 1989 e, dopo essere stata riscritta dall'Università del Tennessee, la versione 2 è stata rilasciata nel marzo 1991. La versione 3 è stata rilasciata nel marzo 1993 e supportava la tolleranza agli errori e una migliore portabilità .

Il PVM è stato un passo verso le tendenze moderne nell'elaborazione distribuita e nel grid computing, ma dalla metà degli anni '90 è stato ampiamente soppiantato dallo standard MPI di maggior successo per la trasmissione di messaggi su macchine parallele. PVM è un software libero , rilasciato sia con la licenza BSD che con la GNU General Public License .

Design

PVM è un sistema software che consente di utilizzare una raccolta di computer eterogenei come una risorsa computazionale simultanea coerente e flessibile, o una " macchina virtuale parallela ".

I singoli computer possono essere multiprocessori a memoria condivisa o a memoria locale , supercomputer vettoriali , motori grafici specializzati o workstation e PC scalari , che possono essere interconnessi da una varietà di reti , come Ethernet o FDDI .

PVM è costituito da un ambiente runtime e da una libreria per il passaggio dei messaggi, la gestione delle attività e delle risorse e la notifica dei guasti. Mentre PVM non renderà automaticamente una corsa pacchetto di software commerciale più veloce, non fornisce un potente set di funzioni per parallelizzare manualmente un programma sorgente esistente o per la scrittura di nuovi programmi paralleli / distribuiti.

Il software PVM deve essere installato in modo specifico su ogni macchina che deve essere utilizzata in una determinata "macchina virtuale". Non esiste un'installazione "automatica" di eseguibili su macchine remote in PVM, sebbene la semplice copia delle directory pvm3/libe pvm3/binsu un'altra macchina simile (e l'impostazione di $PVM_ROOTe $PVM_ARCH) sia sufficiente per l'esecuzione dei programmi PVM. La compilazione o la creazione di programmi PVM richiede l'installazione completa di PVM.

I programmi utente scritti in C , C++ o Fortran possono accedere a PVM tramite le routine di libreria fornite.

PVM supporta anche il broadcasting (PVM_bcast) che invia a tutti i processi in un gruppo e il multicasting (PVM_mcast) che invia a un elenco specifico di processi.

Guarda anche

Riferimenti

link esterno