Che cos'è una macchina virtuale parallela?

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

Lo spostamento dei costi di produzione e la popolarità del computer di casa hanno portato ad un aumento della convenienza dei computer molto potenti nel mercato consumer. Queste macchine sono sottoutilizzate con le loro applicazioni software standard, lasciando una grande potenza di elaborazione libera. Il software per macchine virtuali parallele consente di mettere in comune e accedere a queste risorse per risolvere grandi, complessi problemi scientifici, medici o industriali.

La macchina virtuale parallela è stata creata per la prima volta nel 1989 presso Oak Ridge National Labs da Al Geist. Sulla base del lavoro svolto 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 la libreria di routine di interfaccia. L'applicazione software è chiamata demone della macchina virtuale parallela, pvmd3 o pmvd. Questo piccolo programma è passivo fino a quando non viene richiesto di 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 della macchina virtuale parallela contiene un elenco completo di tutti i codici necessari per coordinare le varie attività eseguite su host separati. In questa libreria sono incluse le routine standard per il passaggio dei messaggi, il coordinamento delle attività e qualsiasi modifica alla macchina virtuale stessa.

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

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

Il parallelismo dei dati o dati multipli a singolo programma (SPMD) è il metodo più popolare. In questo metodo, tutti i compiti 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 potrebbe 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 della macchina virtuale parallela è ampiamente disponibile su Internet ed è possibile accedervi tramite ftp, www, xnetlib o e-mail automatica.

ALTRE LINGUE

Questo articolo è stato utile? Grazie per il feedback Grazie per il feedback

Come possiamo aiutare? Come possiamo aiutare?