Skip to main content

Cos'è una macchina virtuale parallela?

Una macchina virtuale parallela è un'applicazione software che consente a più computer indipendenti, distribuita geograficamente per connettersi tra loro come una rete e prestare la potenza e la memoria di elaborazione del sistema a un'applicazione.

Il cambiamento nei costi di produzione e la popolarità del computer domestico ha comportato un aumento dell'accessibilità economica di computer molto potenti nel mercato dei consumatori.Queste macchine sono sottoutilizzate con le loro applicazioni software standard, lasciando una vasta gamma di alimentazione senza elaborazione.Il software per macchine virtuali parallele consente di raggruppare e accedere a queste risorse per risolvere problemi scientifici, medici o industriali complessi.

La macchina virtuale parallela è stata creata per la prima volta nel 1989 a Oak Ridge National Labs da Al Geist.Sulla base del lavoro lì, il progetto è stato ampliato all'Università del Tennessee nel marzo 1991 e da allora è cresciuto costantemente.

Un sistema di macchine virtuali parallele ha due parti, l'applicazione che si trova sulle singole macchine e sulla libreria di routine di interfaccia.L'applicazione del software è chiamata Daemon, PVMD3 o PMVD.Questo piccolo programma si trova passivamente fino a quando non è necessario eseguire un'applicazione di macchina virtuale parallela.Quando l'utente desidera eseguire questo tipo di programma, deve prima avviare la macchina virtuale parallela.Ciò consente loro di accedere al software su qualsiasi altro host.

La libreria di routine di macchine virtuali parallele contiene tutto un elenco completo di tutti i codici necessari per coordinare vari compiti eseguiti su host separati.In questa libreria sono incluse routine standard per il passaggio dei messaggi, il coordinamento delle attività e le eventuali modifiche alla macchina virtuale stessa.

Il concetto di base dietro la macchina virtuale parallela è che qualsiasi applicazione ha diverse attività che possono essere eseguite in modo indipendente.Questo tipo di logica è molto comune è calcoli scientifici complessi.Esistono due modelli utilizzati in macchine virtuali parallele;Parallelismo funzionali e di dati.

I parallelismi funzionali separano un'applicazione in compiti indipendenti chiaramente definiti.Queste attività vengono eseguite su macchine host separate.La macchina virtuale parallela viene utilizzata per coordinare in base alle funzioni, come input, soluzione, output e display.

Parallelismo dei dati o Programma singolo Multiple Data (SPMD) è il metodo più popolare.In questo metodo, tutte le attività sono uguali, ma ogni host sta risolvendo un piccolo pezzo del puzzle più grande.Un ambiente di macchine virtuali parallele supporta entrambi i metodi, il che è importante in quanto può essere più efficace mescolare questi due metodi a seconda dei calcoli richiesti.

C, C ++ e Fortran sono i linguaggi di programmazione del computer utilizzati nella macchina virtuale parallela.Queste lingue sono state selezionate perché la maggior parte delle applicazioni utilizzate in questo ambiente sono state costruite in queste lingue.Il codice sorgente per il software per macchine virtuali parallele è ampiamente disponibile su Internet ed è accessibile tramite FTP, WWW, XNETLIB o un'e -mail automatica.