Skip to main content

¿Qué es una máquina virtual paralela?

Una máquina virtual paralela es una aplicación de software que permite que múltiples computadoras independientes, distribuidas geográficamente, se conecten entre sí como una red y presten su poder de procesamiento y memoria del sistema a una sola aplicación.

El cambio en los costos de fabricación y la popularidad de la computadora doméstica ha resultado en un aumento en la asequibilidad de las computadoras muy potentes en el mercado de consumo. Estas máquinas están subutilizadas con sus aplicaciones de software estándar, dejando una gran cantidad de potencia de procesamiento libre. El software de máquina virtual en paralelo permite agrupar y acceder a estos recursos para resolver problemas científicos, médicos o industriales grandes y complejos.

La máquina virtual paralela fue creada por primera vez en 1989 en Oak Ridge National Labs por Al Geist. Basado en el trabajo allí, el proyecto se expandió en la Universidad de Tennessee en marzo de 1991 y ha crecido constantemente desde entonces.

Un sistema de máquina virtual en paralelo tiene dos partes, la aplicación que se encuentra en las máquinas individuales y la biblioteca de rutinas de interfaz. La aplicación de software se llama demonio de máquina virtual paralela, pvmd3 o pmvd. Este pequeño programa se sienta pasivamente hasta que sea necesario para ejecutar una aplicación de máquina virtual paralela. Cuando el usuario desea ejecutar este tipo de programa, primero debe iniciar la máquina virtual paralela. Esto les permite acceder al software en cualquier otro host.

La biblioteca de rutina de máquina virtual paralela contiene una lista completa de todos los códigos necesarios para coordinar varias tareas que se ejecutan en hosts separados. En esta biblioteca se incluyen rutinas estándar para el paso de mensajes, la coordinación de tareas y cualquier cambio en la máquina virtual.

El concepto central detrás de la máquina virtual paralela es que cualquier aplicación tiene varias tareas que se pueden ejecutar de forma independiente. Este tipo de lógica es muy común en los cálculos científicos complejos. Hay dos modelos utilizados en máquinas virtuales paralelas; paralelismos funcionales y de datos.

Los paralelismos funcionales separan una aplicación en tareas claramente definidas e independientes. Estas tareas se realizan en máquinas host separadas. La máquina virtual paralela se utiliza para coordinarse en función de las funciones, como entrada, solución, salida y visualización.

El paralelismo de datos o datos múltiples de un solo programa (SPMD) es el método más popular. En este método, todas las tareas son iguales, pero cada host está resolviendo una pequeña pieza del rompecabezas más grande. Un entorno de máquina virtual paralela admite ambos métodos, lo cual es importante ya que puede ser más efectivo mezclar estos dos métodos dependiendo de los cálculos requeridos.

C, C ++ y Fortran son los lenguajes de programación de computadoras utilizados en la máquina virtual paralela. Estos idiomas se seleccionaron porque la mayoría de las aplicaciones utilizadas en este entorno se crearon en estos idiomas. El código fuente para el software de máquina virtual paralela está ampliamente disponible en Internet y se puede acceder a través de ftp, www, xnetlib o un correo electrónico automático.