Una macchina virtuale parallela è un'applicazione software che consente a più computer indipendenti, distribuiti geograficamente per connettersi l'un l'altro come una rete e prestano la loro potenza di elaborazione del sistema e la memoria a una sola applicazione.
Lo spostamento dei costi di produzione e la popolarità del computer di casa ha portato a un aumento del costo dei computer molto potenti nel mercato consumer. Queste macchine sono sottoutilizzate con le loro applicazioni software standard, lasciando un patrimonio di potenza di elaborazione libera. Parallelamente software della macchina virtuale permette di tali risorse per essere messe in comune e accessibile per risolvere i grandi problemi complessi scientifiche, mediche o industriali. La macchina virtuale parallela stato inizialmente creato nel 1989 a Oak Ridge National Labs da Al Geist. Sulla base del lavoro c'è, il progetto è stato ampliato presso l'Università del Tennessee marzo 1991 ed è cresciuto costantemente da allora. Un sistema parallelo macchina virtuale ha due parti, la domanda che si siede sulla singola macchina e la libreria di routine di interfaccia. L'applicazione software si chiama il demone Parallel Virtual Machine, pvmd3, o pmvd. Questo piccolo programma si siede passivamente fino al momento di eseguire un'applicazione parallela macchina virtuale. Quando l'utente desidera eseguire questo tipo di programma, devono prima di avviare la macchina virtuale parallela. Ciò consente loro l'accesso al software su qualsiasi altro host. La macchina virtuale parallela routine di libreria contiene tutti un elenco completo di tutti i codici necessari per coordinare le varie attività in esecuzione su host distinti. Inclusi in questa libreria sono routine standard per il passaggio di messaggi, il coordinamento dei compiti e delle eventuali modifiche alla macchina virtuale stessa. Il concetto di base dietro la macchina virtuale parallela è che ogni applicazione ha diversi compiti che può essere eseguito in modo indipendente. Questo tipo di logica è molto comune, è un complesso calcolo scientifico. Ci sono due modelli utilizzati in parallelo macchine virtuali; funzionale e parallelismi dati. parallelismi funzionali separate una domanda in ben definiti, le attività indipendenti. Tali compiti vengono svolti su macchine host separati. La macchina virtuale parallela viene utilizzata per coordinato sulla base delle funzioni, come input, soluzione, output e visualizzazione. parallelismo dei dati o un programma unico di dati multipli (SPMD) è il metodo più popolare. In questo metodo, tutti i compiti sono uguali, ma ogni host è risolvere un piccolo pezzo del puzzle più grande. Un ambiente in parallelo macchina virtuale supporta entrambi i metodi, il che è importante in quanto può essere più efficace di mescolare questi due metodi in base ai calcoli richiesti.C, C + + e Fortran sono i linguaggi di programmazione utilizzati per la macchina virtuale parallela. Queste lingue sono stati scelti perché la maggior parte delle applicazioni utilizzate in questo ambiente sono stati costruiti in queste lingue. Il codice sorgente per il software parallelo macchina virtuale è ampiamente disponibile su Internet e può accedere via ftp, www, xnetlib o una e-mail automatica.
