Parallel Multithreaded Machine ( PM2 ) es un software para la interconexión en paralelo de ordenadores.
PM2 es un entorno de programación multihilo distribuido de código abierto diseñado para admitir programas distribuidos de manera eficiente con un comportamiento altamente irregular (por ejemplo, búsqueda de ramificación y acotación , cálculo en matrices dispersas , etc.) en arquitecturas distribuidas. Se distribuye bajo la licencia GPL .
PM2 se adhiere al modelo de programación SPMD ( Programa Único, Datos Múltiples ), de forma muy similar a las bibliotecas de comunicación PVM y MPI. El usuario escribe un único código de programa, cuya copia se ejecuta mediante un comando de carga específico en cada nodo de procesamiento de la configuración actual. El programador es responsable de incluir bifurcaciones para diferenciar entre los nodos de procesamiento. De esta forma, permite utilizar una red de máquinas heterogéneas como un único procesador paralelo distribuido.
Está diseñado principalmente para clústeres de tamaño mediano de nodos de procesamiento estándar interconectados por redes de alto rendimiento, pero nada impide su uso en máquinas MIMD de procesamiento masivamente paralelo, o como soporte para la metacomputación a través de Internet. Admite configuraciones de red heterogéneas, como conjuntos de clústeres interconectados.
Entre las características distintivas de PM2 se incluyen su política de planificación basada en prioridades, sus mecanismos de migración de hilos y su capacidad para facilitar el desarrollo de diversas políticas de equilibrio de carga. Puede gestionar varios cientos de hilos en cada procesador físico disponible. La interfaz de PM2 proporciona funcionalidades para la gestión de este alto grado de paralelismo y para el equilibrio de carga dinámico.
El subsistema de gestión de hilos de PM2 se llama Marcel (en honor a Marcel Proust ) y su subsistema de comunicación, Madeleine , un dulce francés que supuestamente desempeñó un papel fundamental en la vida de Marcel Proust . PM2 incluye una funcionalidad adicional que proporciona a los hilos un acceso uniforme a los datos, independientemente de su ubicación física. Esta funcionalidad se denomina DSM-PM2.
PM2 funciona en la mayoría de las plataformas Unix .
Historia del desarrollo
PM2 se desarrolla en LaBRI (Laboratoire Bordelais de Recherche en Informatique), un laboratorio de investigación ubicado en Burdeos, Francia, apoyado conjuntamente por el INRIA, el CNRS y la Universidad de Burdeos. Antes de eso, PM2 se desarrolló en LIP (Laboratoire de l'Informatique du Parallélisme), un laboratorio de investigación ubicado en la ENS Lyon (Ecole Normale Supérieure de Lyon), Francia, con el apoyo conjunto del INRIA, el CNRS y la Universidad Claude Bernard Lyon. PM2 fue diseñado originalmente por Raymond Namyst y Jean-François Méhaut en LIFL, Universidad de Lille, Francia.
Véase también
Referencias
- Este artículo se basó originalmente en material del artículo "Primeros pasos con PM2" , Copyright © marzo de 2006 Team Runtime.
- El misterio de las galletas: ¿Cuánto sabía Proust sobre las magdalenas? Por Edmund Levin, 11 de mayo de 2005
Enlaces externos
- Sitio web oficial
- Herramientas de programación informática gratuitas