Une machine virtuelle parallèle est une application logicielle qui permet à plusieurs ordinateurs indépendants, répartis géographiquement de se connecter les uns aux autres en tant que réseau et apporter leur puissance de traitement du système et de la mémoire à une application.Le changement dans les coûts de fabrication et de la popularité de l'ordinateur à la maison a donné lieu à une augmentation de l'accessibilité des ordinateurs très puissants sur le marché des consommateurs. Ces machines sont sous-utilisées de leur application de logicielles standard, ce qui laisse une grande puissance de traitement libre. Parallèlement logiciel de machine virtuelle permet à ces ressources à mettre en commun et accessibles pour résoudre de grands et complexes problèmes scientifiques, médicales ou industrielles.
La machine virtuelle parallèle a été créée en 1989 à Oak Ridge National Labs par Al Geist. Basé sur le travail là-bas, le projet a été étendu à l'Université du Tennessee en Mars 1991 et n'a cessé de croître depuis.
Le système de machine virtuelle parallèle comporte deux parties, l'application qui se trouve sur les machines individuelles et la bibliothèque de sous-programmes d'interface. Le logiciel est appelé le démon machine parallèle virtuelle, pvmd3 ou pmvd. Ce petit programme est assis passivement jusqu'à ce que nécessaire pour faire fonctionner une application machine virtuelle parallèle. Lorsque l'utilisateur souhaite exécuter ce type de programme, il faut d'abord démarrer la machine virtuelle parallèle. Cela leur permet d'accéder au logiciel sur un autre hôte.
La parallèle bibliothèque virtuelle de routine appareil conserve tous une liste complète de tous les codes nécessaires pour coordonner diverses tâches en cours d'exécution sur des hôtes distincts. Inclus dans cette bibliothèque sont des routines standard pour la transmission de messages, la coordination des tâches et des modifications à la machine virtuelle elle-même.
Le concept de base derrière la machine virtuelle parallèle est que toute application a plusieurs tâches qui peuvent être exécutées de manière indépendante. Ce type de logique est très commun de calculs complexes. Il existe deux modèles utilisés en parallèle des machines virtuelles; parallélismes fonctionnels et de données.
Les parallélismes fonctionnels séparer une application en tâches clairement définies, indépendantes. Ces tâches sont exécutées sur des machines hôtes différentes. La machine virtuelle parallèle est utilisée pour la coordination basée sur les fonctions, telles que l'entrée, la solution, de sortie et d'affichage.
Le parallélisme de données ou des données de programmes simples multiples (SPMD) est la méthode la plus populaire. Dans cette méthode, toutes les tâches sont égales, mais chaque hôte est la résolution d'un petit morceau de la plus grande énigme. Un environnement de machine virtuelle parallèle supporte les deux méthodes, ce qui est important car il peut être plus efficace de combiner ces deux méthodes, selon les calculs nécessaires.
C, C + + et Fortran sont les langages de programmation utilisés dans la machine virtuelle parallèle. Ces langues ont été choisies parce que la plupart des applications utilisées dans cet environnement ont été construits dans ces langues. Le code source de logiciel de machine virtuelle parallèle est largement disponible sur Internet et peut être consulté via ftp, www, xnetlib ou un e-mail automatique.