TECHNIQUES FOR SCALABLE ENDPOINT ADDRESSING FOR PARALLEL APPLICATIONS
Techniques are disclosed for algorithmic mapping of logical process identifiers in order to provide highly-scalable end-point addressing in multi-node systems capable of performing massively parallel applications. In particular, nodes initiating inter-process communication with a target process may...
Gespeichert in:
Hauptverfasser: | , , |
---|---|
Format: | Patent |
Sprache: | eng ; fre |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | Techniques are disclosed for algorithmic mapping of logical process identifiers in order to provide highly-scalable end-point addressing in multi-node systems capable of performing massively parallel applications. In particular, nodes initiating inter-process communication with a target process may use an initiator-side translation process that performs an algorithmic mapping to translate a logical process identifier (e.g., a rank/processing element) into a target physical node identifier and a target local process identifier. The initiating node may then use hardware fabric of a multi-node network to route the inter-process communication to an appropriate node. A node may receive an inter-process communication and may use a target-side translation process in hardware to translate the target virtual process identifier into a local process identifier for the node. The node may then execute an operation in accordance with the inter-process communication, such as a get or set against a memory associated with the node.
L'invention concerne des techniques de mappage algorithmique d'identificateurs de processus logiques afin de fournir un adressage de point d'extrémité hautement modulable dans des systèmes multinœud capable d'exécuter des applications massivement parallèles. En particulier, des nœuds initiant une communication entre processus avec un processus cible peuvent utiliser un processus de traduction côté initiateur qui effectue un mappage algorithmique pour traduire un identificateur de processus logique (par exemple, un élément de rang/traitement) en un identificateur de nœud physique cible et en un identificateur de processus local cible. Le nœud initiateur peut ensuite utiliser une structure matérielle d'un réseau multinœud pour acheminer la communication entre processus jusqu'à un nœud approprié. Un nœud peut recevoir une communication entre processus et peut utiliser un processus de traduction côté cible dans le matériel pour traduire l'identificateur de processus virtuel cible en un identificateur de processus local du nœud. Le nœud peut ensuite exécuter une opération conformément à la communication entre processus, tel qu'une opération d'obtention ou d'écriture d'une mémoire associée au nœud. |
---|