×

Routing data communications packets in a parallel computer

  • US 9,569,399 B2
  • Filed: 11/05/2012
  • Issued: 02/14/2017
  • Est. Priority Date: 09/28/2010
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method for routing data communications packets in a parallel computer, the parallel computer comprising a plurality of compute nodes organized for collective operations through at least one data communications network,each compute node comprising an operating system kernel and a system-level messaging module, the system-level messaging module comprising a module of automated computing machinery that exposes a messaging interface to applications,the at least one data communications network comprises a global combining network which is optimized for collective operations by organizing the plurality of compute nodes in a binary tree network topology,each compute node including a global combining network adapter that couples the compute node to the global combining network,the global combining network adapter in each compute node including the compute node'"'"'s routing table that specifies, for each of a multiplicity of route identifiers, a data communications path through the compute node,the method comprising:

  • initializing, by the operating system kernel of each compute node, the compute node'"'"'s routing table with high priority routing table entries, wherein high priority routing table entries include entries for each data communications path through the compute node that connects the compute node to another compute node in an operational group organized for collective operations;

    receiving in the compute node a data communications packet, the data communications packet including a route identifier value that identifies a specification of a data communications path through each of the plurality of compute nodes that the data communications packet traverses;

    determining whether the compute node'"'"'s routing table contains an entry for the data communications packet'"'"'s route identifier value;

    if the compute node'"'"'s routing table does not have an entry for the data communications packet'"'"'s route identifier value, creating by the operating system kernel an entry for the data communications packet'"'"'s route identifier value in the compute node'"'"'s routing table by requesting a specification of a data communications path through the compute node for the route identifier value from another compute node;

    if the compute node'"'"'s routing table does have an entry for the data communications packet'"'"'s route identifier value, retrieving from the routing table in dependence upon the route identifier value, the specification of a data communications path through the compute node; and

    routing, by the compute node, the data communications packet through the compute node according to the data communications path identified by the compute node'"'"'s routing table entry for the data communications packet'"'"'s route identifier value.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×