PM2 - PM2

A Parallel Multithreaded Machine ( PM2 ) é um software para rede paralela de computadores.

PM2 é um ambiente de programação multithreaded distribuído de código aberto projetado para suportar programas distribuídos de forma eficiente com um comportamento altamente irregular (por exemplo , pesquisa de ramificação e limite , computação em matrizes esparsas , etc.) em arquiteturas distribuídas. Ele é distribuído sob a GPL .

O PM2 adere ao modelo de programação SPMD ( Single Program Multiple Data ), de forma muito semelhante às bibliotecas de comunicação PVM e MPI. O usuário grava um único texto de programa, uma cópia do qual é iniciada por um comando de carregamento específico em cada de processamento da configuração atual. Cabe ao programador incluir ramificações para diferenciar os nós de processamento. Dessa forma, ele permite que uma rede de máquinas heterogêneas seja usada como um único processador paralelo distribuído.

Ele é projetado principalmente para clusters de tamanho médio de nós de processamento de commodities interconectados por redes de alto desempenho, mas nada impede o uso em máquinas MIMD massivamente paralelas em uma extremidade do espectro, ou como suporte para metacomputação pela Internet na outra extremidade . Ele oferece suporte a configurações de rede heterogêneas, como conjuntos de clusters interconectados.

Os recursos distintivos do PM2 incluem sua política de agendamento orientada por prioridade, seus mecanismos de migração de thread e sua capacidade de facilitar o desenvolvimento de várias políticas de balanceamento de carga. Ele pode gerenciar várias centenas de threads em cada processador físico disponível. A interface PM2 fornece funcionalidades para o gerenciamento deste alto grau de paralelismo e para o balanceamento de carga dinâmico.

O subsistema de gerenciamento de threads da PM2 é chamado de Marcel (em homenagem a Marcel Proust ) e seu subsistema de comunicação Madeleine , um doce francês que supostamente desempenhou um papel central na vida de Marcel Proust . O PM2 apresenta uma funcionalidade adicional para fornecer aos threads um acesso uniforme aos dados, qualquer que seja sua localização física. É denominado DSM-PM2.

PM2 funciona na maioria das plataformas Unix .

História de desenvolvimento

O PM2 é desenvolvido no LaBRI (Laboratoire Bordelais de Recherche en Informatique), um laboratório de pesquisa localizado em Bordeaux, França, com o apoio conjunto do INRIA, do CNRS e da Universidade de Bordeaux. Antes disso, o PM2 foi desenvolvido no LIP (Laboratoire de l'Informatique du Parallélisme), um laboratório de pesquisa localizado na ENS Lyon (Ecole Normale Supérieure de Lyon), França, com apoio conjunto do INRIA, do CNRS e da Universidade Claude Bernard Lyon . PM2 foi originalmente projetado por Raymond Namyst e Jean-François Méhaut na LIFL, Universidade de Lille, França.

Veja também

Referências

links externos