stringtranslate.com

Interfaz de programación de aplicaciones de programación de redes de portales

Portals es una API de red de bajo nivel para redes de alto rendimiento en sistemas informáticos de alto rendimiento desarrollados por Sandia National Laboratories y la Universidad de Nuevo México . Portals es actualmente la interfaz de programación de red de nivel más bajo en la exitosa línea comercial de supercomputadoras XT de Cray .

Descripción general

Portals se basa en el concepto de bloques de construcción elementales que se pueden combinar para admitir una amplia variedad de semánticas de transporte de red de nivel superior. Portals proporciona operaciones de movimiento de datos unilaterales, pero a diferencia de otras interfaces de programación unilaterales, el objetivo de una operación remota no es una dirección virtual . En cambio, el destino final en la memoria de un mensaje entrante se determina en el receptor comparando el contenido del encabezado del mensaje con el contenido de las estructuras en el destino. Esta flexibilidad permite implementaciones eficientes de comunicaciones tanto unilaterales como bilaterales. En particular, Portals tiene como objetivo proporcionar las operaciones fundamentales necesarias para admitir una implementación escalable y de alto rendimiento del estándar Message Passing Interface (MPI). [1] También se utilizó como la capa de transporte de red inicial para el sistema de archivos Lustre .

Primeros años

Los portales comenzaron a desarrollarse a principios de los años 90 como una extensión del sistema de transmisión de mensajes nX utilizado en los sistemas operativos SUNMOS y Puma. Primero se implementaron para Intel Paragon en Sandia y luego se trasladaron a la máquina Intel TeraFLOPS llamada ASCI Red . [1] La primera versión de Portals tenía cuatro bloques de construcción: el bloque único, el bloque dinámico, el bloque independiente y el bloque combinado. Todos los mensajes entrantes pasarían primero por una lista de coincidencias que permitía a los portales individuales responder a grupos específicos, rangos y un conjunto de bits de coincidencia especificados por el usuario. [1]

Portales 3

El concepto de Portals continuó evolucionando a lo largo de sucesivas generaciones de núcleos ligeros y sistemas masivamente paralelos. En 1999, se le dio a Portals una interfaz de programación operativa para que pudiera implementarse para interfaces de red inteligentes o programables fuera de un entorno de núcleo ligero. [2] Este estándar fue diseñado para sistemas donde el trabajo requerido para preparar, transmitir y entregar mensajes es más largo que el viaje de ida y vuelta a las estructuras de datos de Portals. Por ejemplo, en los sistemas modernos, este trabajo está dominado por el viaje de ida y vuelta a través del bus IO a la interfaz de red. El estándar ha sido revisado desde el lanzamiento inicial para hacerlo más adecuado para las computadoras modernas de alto rendimiento y masivamente paralelas. [3] La biblioteca MPI fue trasladada desde el retrógrado Portals 2 al nuevo Portals 3.0. [4]

La especificación Portals 3 se ha implementado varias veces, primero en ASCI Red , luego en CPlant sobre Myrinet , [5] Linux y la familia Cray XT . [6]

Portales 4

En vista de la aparición de lenguajes de espacio de direcciones globales particionados (PGAS), se han agregado varias características nuevas a la API de Portals como parte de Portals 4. Portals 4 también realizó varios cambios para mejorar la interacción entre el procesador y la interfaz de red (NIC) para implementaciones que brindan descarga. Finalmente, se agregó a Portals 4 una opción para admitir una forma de control de flujo. [7]

Portals 4 es la API de red de bajo nivel para la NIC Bull-Atos BXI. [8]

Enlaces externos

Referencias

  1. ^ abc Ron Brightwell; et al. (junio de 1996). Diseño e implementación de MPI en portales Puma . Conferencia de desarrolladores de MPI, 1996. Actas., segunda edición. CiteSeerX  10.1.1.54.3830 .
  2. ^ Ron Brightwell; et al. (diciembre de 1999). "La interfaz de paso de mensajes de Portals 3.0, revisión 1.0". Sandia National Laboratories. {{cite journal}}: Requiere citar revista |journal=( ayuda )
  3. ^ Rolf Riesen; et al. (abril de 2006). "La interfaz de paso de mensajes de Portals 3.3, revisión 2.1" (PDF) . Sandia National Laboratories. Archivado desde el original (PDF) el 2011-06-05 . Consultado el 2009-10-02 . {{cite journal}}: Requiere citar revista |journal=( ayuda )
  4. ^ Diseño e implementación de MPI en Portals 3.0 . Apuntes de clase en informática. Springer. 2002.
  5. ^ Neil Pundit. "CPlant: el clúster Linux más grande". Comité Técnico de Computación Escalable del IEEE . Consultado el 2 de octubre de 2009 . {{cite journal}}: Requiere citar revista |journal=( ayuda )
  6. ^ Kevin Pedretti; et al. (27 de septiembre de 2005). "Implementación y rendimiento de Portals 3.3 en Cray XT3". Conferencia internacional IEEE sobre computación en clúster. {{cite journal}}: Requiere citar revista |journal=( ayuda )
  7. ^ Ryan Grant; et al. (1 de octubre de 2014). "La interfaz de paso de mensajes de Portals 4.0.2" (PDF) . Sandia National Laboratories . Consultado el 25 de marzo de 2016 . {{cite journal}}: Requiere citar revista |journal=( ayuda )
  8. ^ Derradji, S.; Palfer-Sollier, T.; Panziera, JP; Poudes, A.; Wellenreiter, F. (26 de agosto de 2015). "La arquitectura de interconexión BXI". Simposio sobre interconexiones en caliente . IEEE. doi :10.1109/HOTI.2015.15.