Parallel Virtual Machine ( PVM ) es una herramienta de software para la interconexión paralela de computadoras . Está diseñada para permitir que una red de máquinas Unix y/o Windows heterogéneas se utilice como un único procesador paralelo distribuido . [ 2 ] De esta manera, se pueden resolver grandes problemas computacionales de forma más rentable utilizando la potencia y la memoria agregadas de muchas computadoras. El software es muy portable; el código fuente, disponible gratuitamente a través de netlib , se ha compilado en todo tipo de dispositivos, desde portátiles hasta Cray . [ 3 ]
PVM permite a los usuarios aprovechar su hardware informático existente para resolver problemas mucho mayores con un menor coste adicional. PVM se ha utilizado como herramienta educativa para enseñar programación paralela , pero también se ha utilizado para resolver importantes problemas prácticos. [ 3 ] Fue desarrollado por la Universidad de Tennessee , el Laboratorio Nacional de Oak Ridge y la Universidad de Emory . La primera versión se escribió en ORNL en 1989, y después de ser reescrita por la Universidad de Tennessee, la versión 2 se publicó en marzo de 1991. La versión 3 se publicó en marzo de 1993 y admitía tolerancia a fallos y una mejor portabilidad .
PVM supuso un avance hacia las tendencias modernas en el procesamiento distribuido y la computación en malla , pero desde mediados de la década de 1990 ha sido en gran medida reemplazado por el estándar MPI, mucho más exitoso , para el paso de mensajes en máquinas paralelas. PVM es software libre , distribuido bajo la Licencia BSD y la Licencia Pública General GNU .
Diseño
PVM es un sistema de software que permite utilizar un conjunto de ordenadores heterogéneos como un recurso computacional concurrente coherente y flexible, o una " máquina virtual paralela ".
Los ordenadores individuales pueden ser multiprocesadores de memoria compartida o local , superordenadores vectoriales , motores gráficos especializados o estaciones de trabajo escalares y PC , que pueden estar interconectados mediante diversas redes , como Ethernet o FDDI .
PVM consta de un entorno de ejecución y una biblioteca para el paso de mensajes , la gestión de tareas y recursos, y la notificación de fallos. Si bien PVM no acelera automáticamente un paquete de software comercial, sí proporciona un potente conjunto de funciones para paralelizar manualmente un programa fuente existente o para escribir nuevos programas paralelos/distribuidos.
El software PVM debe instalarse específicamente en cada máquina que se vaya a utilizar en una máquina virtual determinada. No existe una instalación automática de ejecutables en máquinas remotas en PVM, aunque basta con copiar los pvm3/libdirectorios pvm3/bina otra máquina similar$PVM_ROOT (y configurar los parámetros $PVM_ARCHcorrespondientes) para ejecutar programas PVM. La compilación o creación de programas PVM requiere la instalación completa de PVM.
Los programas de usuario escritos en C , C++ o Fortran pueden acceder a PVM a través de las rutinas de biblioteca proporcionadas.
PVM también admite la difusión (PVM_bcast), que envía mensajes a todos los procesos de un grupo, y la multidifusión (PVM_mcast), que envía mensajes a una lista específica de procesos.
Véase también
Referencias
- ↑ Notas de la versión
- ↑ Este artículo se basa en material tomado de Parallel+Virtual+Machine en el Free On-line Dictionary of Computing antes del 1 de noviembre de 2008 e incorporado bajo los términos de "relicencia" de la GFDL , versión 1.3 o posterior.
- 1 2 "Página principal de la máquina virtual paralela (PVM)" .
Enlaces externos
- Sitio web oficial
- Parawiki: Máquina virtual paralela en Wayback Machine (archivado el 21 de marzo de 2007)
- Computación paralela
- Comunicación entre procesos
- Software de virtualización
- Software que utiliza la licencia BSD.
- Software de 1989