Skip to main content

O que é uma máquina virtual paralela?

Uma máquina virtual paralela é um aplicativo de software que permite que vários computadores independentes se espalhem geograficamente para se conectarem como uma rede e emprestam seu poder de processamento e memória ao sistema a um aplicativo.

A mudança nos custos de fabricação e a popularidade do computador doméstico resultaram em um aumento na acessibilidade de computadores muito poderosos no mercado consumidor. Essas máquinas são subutilizadas com seus aplicativos de software padrão, deixando um grande poder de processamento livre. O software de máquina virtual paralela permite que esses recursos sejam agrupados e acessados ​​para resolver problemas científicos, médicos ou industriais grandes e complexos.

A máquina virtual paralela foi criada em 1989 no Oak Ridge National Labs por Al Geist. Com base no trabalho lá, o projeto foi ampliado na Universidade do Tennessee em março de 1991 e tem crescido constantemente desde então.

Um sistema de máquina virtual paralela possui duas partes, o aplicativo que fica nas máquinas individuais e a biblioteca de rotinas de interface. O aplicativo de software é chamado de daemon da máquina virtual paralela, pvmd3 ou pmvd. Este pequeno programa fica passivo até ser necessário para executar um aplicativo paralelo de máquina virtual. Quando o usuário deseja executar esse tipo de programa, ele deve primeiro iniciar a máquina virtual paralela. Isso permite que eles acessem o software em qualquer outro host.

A biblioteca de rotina da máquina virtual paralela contém uma lista completa de todos os códigos necessários para coordenar várias tarefas que estão sendo executadas em hosts separados. Estão incluídos nesta biblioteca rotinas padrão para passagem de mensagens, coordenação de tarefas e quaisquer alterações na própria máquina virtual.

O conceito principal por trás da máquina virtual paralela é que qualquer aplicativo tem várias tarefas que podem ser executadas independentemente. Este tipo de lógica é muito comum é cálculos científicos complexos. Existem dois modelos utilizados em máquinas virtuais paralelas; paralelismos funcionais e de dados.

Os paralelismos funcionais separam um aplicativo em tarefas independentes claramente definidas. Essas tarefas são executadas em máquinas host separadas. A máquina virtual paralela é usada para coordenar com base nas funções, como entrada, solução, saída e exibição.

O paralelismo de dados ou dados múltiplos de programa único (SPMD) é o método mais popular. Neste método, todas as tarefas são iguais, mas cada host está resolvendo uma pequena peça do quebra-cabeça maior. Um ambiente de máquina virtual paralelo suporta os dois métodos, o que é importante, pois pode ser mais eficaz misturar esses dois métodos, dependendo dos cálculos necessários.

C, C ++ e Fortran são as linguagens de programação de computador usadas na máquina virtual paralela. Esses idiomas foram selecionados porque a maioria dos aplicativos usados ​​nesse ambiente foi criada nesses idiomas. O código fonte do software paralelo da máquina virtual está amplamente disponível na Internet e pode ser acessado via ftp, www, xnetlib ou por email automático.