Patent US5471623A successfully refreshed from Google Patents.
US5471623A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Lambda network having 2m-1 nodes in each of m stages with each node coupled to four other nodes for bidirectional routing of data packets between nodes
Assignee: United States Department of Energy
•
Filing: 1991-02-26
•
Granted: 1995-11-28
•
Expires: 2011-02-26
Abstract
Abstract The Lambda network is a single stage, packet-switched interprocessor communication network for a distributed memory, parallel processor computer. Its design arises from the desired network characteristics of minimizing mean and maximum packet transfer time, local routing, expandability, deadlock avoidance, and fault tolerance. The network is based on fixed degree nodes and has mean and maximum packet transfer distances where n is the number of processors. The routing method is detailed, as are methods for expandability, deadlock avoidance, and fault tolerance.
Inventors
- 👤 Leonard M. Napolitano, Jr.
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-05 03:50
CPC Classifications
H; H04; H04L; H04L49/00; H04L49/25; G; G06; G06F; G06F15/00; G06F15/16; G06F15/163; G06F15/173; G06F15/17356; G06F15/17368; G06F15/17393; H04L49/15; H04L49/30; H04L49/3018; H04L49/55; H04L49/557
Claims Analysis
Total Claims: 18
Claim 1
Independent Claim
125 words
A multiprocessor communication network for transfer of data packets in a distributed memory parallel processor computing system, comprising: (a) a plurality of nodes arranged in m stages with 2 m-1 nodes in each of said stages, each of said nodes being connected by links to four other nodes; (b) a plurality of processing elements equal to the number of nodes, one of each of said processing elements located at and connected to one node by a link; (c) means at each node for localized control of packet routing between nodes; and (d) means at each node for bidirectionally routing packets between nodes, whereby the number of nodes in said network is m2 m-1 nodes, where m is an integer having a value greater than two.
Claim 2
Dependent Claim
125 words
A multiprocessor communication network for transfer of data packets in a distributed memory parallel processor computing system, comprising: (a) a plurality of nodes arranged in m stages with 2 m-1 nodes in each of said stages, each of said nodes being connected by links to four other nodes; (b) a plurality of processing elements equal to the number of nodes, one of each of said processing elements located at and connected to one node by a link; (c) means at each node for localized control of packet routing between nodes; and (d) means at each node for bidirectionally routing packets between nodes, whereby the number of nodes in said network is m2 m-1 nodes, where m is an integer having a value greater than two.
Claim 3
Dependent Claim
87 words
The network of claim 1, wherein each node further includes: (a) a switch point for routing packets from one link to another; and b) a node input communication port and a node output communication port at each link for the transfer of packets between a specific node and each of the four other nodes connected to said specific node; and (c) a processing element input communication port and a processing element output communication port for the transfer of packets between said specific node and its processing element.
Claim 4
Dependent Claim
77 words
The network of claim 2, wherein each of said nodes further comprise: (a) at least one input FIFO queue associated with each of said input communication ports; (b) an output multiplexer; and (c) routing determination circuitry, wherein a packet arriving at one of said nodes is placed in one of said input FIFO queues, and said routing determination circuitry selects one of said communication output ports for routing said packet, and said output multiplexer outputs said packet.
Claim 5
Dependent Claim
164 words
The network of claim 3, wherein said means at each node for localized control of packet routing between nodes includes: (a) means for constructing a current loop address of the packet given a current node address; (b) means for constructing a destination loop address of the packet given a destination node address: (c) means for transforming the current loop address to the destination loop address to produce a loop resultant; (d) means for normalizing stage addresses one of which is a destination stage address and the loop resultant; and (f) means for switching loops according to the value of a predetermined bit of the normalized loop resultant; (g) means for selecting four possible paths to a destination node; (h) means for arranging the possible paths in order of shortest length and so that the output path corresponding to the input port through which the packet arrived is placed in fourth position; and (i) means for routing the packet out a first intact path link.
Claim 6
Dependent Claim
50 words
The network of claim 4, wherein said means for bidirectionally routing packets between nodes includes means for changing direction according to the value of a predetermined bit of the normalized destination stage address, the value of a predetermined bit of the normalized loop resultant, and stage size of the system.
Claim 7
Dependent Claim
11 words
The network of claim 5, further comprising means for avoiding deadlock.
Claim 8
Dependent Claim
96 words
The network of claim 6, wherein said means for avoiding deadlock comprises: (a) means for determining the number of nodes that a packet must traverse to reach its destination node; (b) means for transmitting the packet to the next node only when a number of packet storage spaces in a fullest input queue of the next node is equal to the number of nodes that a data packet must traverse to reach its destination; and (c) means for recirculating packets in any queue when packets have not been transmitted from a queue after a predetermined time.
Claim 9
Dependent Claim
20 words
The network of claim 7, where there is one input FIFO queue connected to each of said input communication ports.
Claim 10
Dependent Claim
55 words
The network of claim 7, where there are two input FIFO queues connected to each of said input communication ports; a first input FIFO queue for storing packets to be routed to said processing element associated with said specific node, and a second input FIFO queue for storing packets to be routed to other nodes.
Claim 11
Dependent Claim
57 words
The network of claim 7, where there are five input FIFO queues connected to each of said input communication ports; four of the five queues storing packets to be routed to each of the four connected nodes, and one of said FIFO queues storing packets to be routed to said processing element associated with said specific node.
Claim 12
Independent Claim
237 words
A method for local control of routing data packets between nodes along bidirectional loops in a distributed memory parallel processor computer system comprising a plurality of nodes arranged in m stages with 2 m-1 nodes in each of said stages, each of said nodes being connected by links to four other nodes, a plurality of processing elements equal to the number of nodes, one of each of said processing elements located at and connected to one node by a link, means at each node for localized control of packet routing between nodes, and means at each node for bidirectionally routing packets between nodes, whereby the number of nodes in said network is m2 -1 nodes, where m is an integer having a value greater than two, the method comprising the steps of: (a) constructing a current loop address of the packet given a current node address; (b) constructing a destination loop address of the packet given a destination node address; (c) transforming the current loop address to the destination loop address to produce a loop resultant; (d) normalizing a destination stage address and the loop resultant; (f) switching loops according to the value of a predetermined bit of the normalized loop resultant; and (g) changing direction according to the value of a predetermined bit of the normalized destination stage address, the value of a predetermined bit of the normalized loop resultant, and stage size of the system.
Claim 13
Independent Claim
237 words
A method for local control of routing data packets between nodes along bidirectional loops in a distributed memory parallel processor computer system comprising a plurality of nodes arranged in m stages with 2 m-1 nodes in each of said stages, each of said nodes being connected by links to four other nodes, a plurality of processing elements equal to the number of nodes, one of each of said processing elements located at and connected to one node by a link, means at each node for localized control of packet routing between nodes, and means at each node for bidirectionally routing packets between nodes, whereby the number of nodes in said network is m2 -1 nodes, where m is an integer having a value greater than two, the method comprising the steps of: (a) constructing a current loop address of the packet given a current node address; (b) constructing a destination loop address of the packet given a destination node address; (c) transforming the current loop address to the destination loop address to produce a loop resultant; (d) normalizing a destination stage address and the loop resultant; (f) switching loops according to the value of a predetermined bit of the normalized loop resultant; and (g) changing direction according to the value of a predetermined bit of the normalized destination stage address, the value of a predetermined bit of the normalized loop resultant, and stage size of the system.
Claim 14
Dependent Claim
61 words
The method of claim 11, further comprising the steps of: (h) selecting four possible paths to a destination node; (i) arranging the possible paths in order of shortest length and so that the output path corresponding to the input port through which the packet arrived is placed in fourth position; and (j) routing the packet out a first intact path link.
Claim 15
Independent Claim
261 words
A method for deadlock avoidance in a distributed memory parallel processor computer system comprising a plurality of nodes arranged in In stages with 2 m-1 nodes in each of said stages, each of said nodes being connected by links to four other nodes, a plurality of processing elements equal to the number of nodes, one of each of said processing elements located at and connected to one node by a link, means at each node for localized control of packet routing between nodes, and means at each node for bidirectionally routing packets between nodes, whereby the number of nodes in said network is m2 m-1 nodes, where m is an integer having a value greater than two, and having at least one input FIFO queue connected to each node input communication port at each link for the transfer of packets between a specific node and each of the four other nodes connected to said specific node and connected to a processing element input communication port for the transfer of packets between a specific node and its processing element, said method comprising the steps of: (a) determining the number of nodes that a data packet must traverse to reach its destination node; (b) transmitting the packet to the next node only when a number of packet storage spaces in a fullest input queue of the next node is equal to the number of nodes that a packet must traverse to reach its destination; (c) recirculating packets in any queue when packets have not been transmitted from a queue after a predetermined time.
Claim 16
Independent Claim
261 words
A method for deadlock avoidance in a distributed memory parallel processor computer system comprising a plurality of nodes arranged in In stages with 2 m-1 nodes in each of said stages, each of said nodes being connected by links to four other nodes, a plurality of processing elements equal to the number of nodes, one of each of said processing elements located at and connected to one node by a link, means at each node for localized control of packet routing between nodes, and means at each node for bidirectionally routing packets between nodes, whereby the number of nodes in said network is m2 m-1 nodes, where m is an integer having a value greater than two, and having at least one input FIFO queue connected to each node input communication port at each link for the transfer of packets between a specific node and each of the four other nodes connected to said specific node and connected to a processing element input communication port for the transfer of packets between a specific node and its processing element, said method comprising the steps of: (a) determining the number of nodes that a data packet must traverse to reach its destination node; (b) transmitting the packet to the next node only when a number of packet storage spaces in a fullest input queue of the next node is equal to the number of nodes that a packet must traverse to reach its destination; (c) recirculating packets in any queue when packets have not been transmitted from a queue after a predetermined time.
Claim 17
Dependent Claim
564 words
A multiprocessor communication network for the transfer of data packets in a distributed memory parallel processor computing system, comprising: (a) a plurality of nodes arranged in m stages, each of said stages having 2 m-1 nodes, each of said nodes being connected by links to four other nodes, each node including a switch point for routing packets from one link to another, a node input communication port and a node output communication port at each link for the transfer of packets between a specific node and each of the four other nodes connected to said specific node, a processing element input communication port and a processing element output communication port for the transfer of packets between said specific node and its processing element, at least one input FIFO queue connected to each of said communication ports for storing packets to be routed to each of the four connected nodes, and one of said FIFO queues storing packets to be routed to said processing element associated with said specific node, an output multiplexer connected to each output communication port, and routing determination circuitry; (b) a plurality of processing elements equal to the number of nodes, one of each of said processing elements located at and connected to one node by a link; (c) means at each node for localized control of packet routing between nodes, said means for localized control includes means for constructing a current loop address of the packet given a current node address including a current stage address, means for constructing a destination loop address of the packet given a destination node address having a destination stage address, means for transforming the current loop address to the destination loop address to produce a loop resultant, means for normalizing the stage addresses and the loop resultant, means for switching loops according to the value of a predetermined bit of the normalized loop resultant, means for selecting four possible paths to a destination node, means for arranging the possible paths in order of shortest length so that the output path corresponding to the input port through which the packet arrived is placed in fourth position, and means for routing the packet out a first intact path link; (d) means at each node for bidirectionally routing packets between nodes by changing direction according to the value of a predetermined bit of the normalized destination stage address, the value of a predetermined bit of the normalized loop resultant, and stage size of the system; and (e) means for avoiding deadlock which includes means for determining the number of nodes a packet must traverse to reach its destination node, means for transmitting the packet to the next node only when the number of packet storage spaces in a fullest input queue of the next node is equal to the number of nodes that a packet must traverse to reach its destination, and means for recirculating packets in any queue when packets have not been transmitted from a queue after a predetermined time, whereby the number of nodes in said network is m2 m-1 nodes, where m is an integer having a value greater than two and wherein a packet arriving at one of said nodes is placed in one of said input FIFO queues, and said routing determination circuitry selects one of said communication output ports for routing said packet, and said output multiplexer outputs said packet.
Claim 18
Dependent Claim
564 words
A multiprocessor communication network for the transfer of data packets in a distributed memory parallel processor computing system, comprising: (a) a plurality of nodes arranged in m stages, each of said stages having 2 m-1 nodes, each of said nodes being connected by links to four other nodes, each node including a switch point for routing packets from one link to another, a node input communication port and a node output communication port at each link for the transfer of packets between a specific node and each of the four other nodes connected to said specific node, a processing element input communication port and a processing element output communication port for the transfer of packets between said specific node and its processing element, at least one input FIFO queue connected to each of said communication ports for storing packets to be routed to each of the four connected nodes, and one of said FIFO queues storing packets to be routed to said processing element associated with said specific node, an output multiplexer connected to each output communication port, and routing determination circuitry; (b) a plurality of processing elements equal to the number of nodes, one of each of said processing elements located at and connected to one node by a link; (c) means at each node for localized control of packet routing between nodes, said means for localized control includes means for constructing a current loop address of the packet given a current node address including a current stage address, means for constructing a destination loop address of the packet given a destination node address having a destination stage address, means for transforming the current loop address to the destination loop address to produce a loop resultant, means for normalizing the stage addresses and the loop resultant, means for switching loops according to the value of a predetermined bit of the normalized loop resultant, means for selecting four possible paths to a destination node, means for arranging the possible paths in order of shortest length so that the output path corresponding to the input port through which the packet arrived is placed in fourth position, and means for routing the packet out a first intact path link; (d) means at each node for bidirectionally routing packets between nodes by changing direction according to the value of a predetermined bit of the normalized destination stage address, the value of a predetermined bit of the normalized loop resultant, and stage size of the system; and (e) means for avoiding deadlock which includes means for determining the number of nodes a packet must traverse to reach its destination node, means for transmitting the packet to the next node only when the number of packet storage spaces in a fullest input queue of the next node is equal to the number of nodes that a packet must traverse to reach its destination, and means for recirculating packets in any queue when packets have not been transmitted from a queue after a predetermined time, whereby the number of nodes in said network is m2 m-1 nodes, where m is an integer having a value greater than two and wherein a packet arriving at one of said nodes is placed in one of said input FIFO queues, and said routing determination circuitry selects one of said communication output ports for routing said packet, and said output multiplexer outputs said packet.
References Cited (Backward Citations)
US4344134A
Cited
US4412281A
Cited
US4445171A
Cited
US4493021A
Cited
US4475192A
Cited
US4470114A
Cited
US4453630A
Cited
US4593154A
Cited
US4630259A
Cited
US4811210A
Cited
US4925311A
Cited
US4933933A
Cited
US4943909A
Cited
US5159595A
Cited
US5067124A
Cited
US5140584A
Cited
US5157692A
Cited
US5181017A
Cited
US5079762A
Cited
US5218676A
Cited
US5253248A
Cited
US5175733A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1998-11-27 | 1999-05-29 | 1999-11-28 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2002-11-27 | 2003-05-29 | 2003-11-28 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2006-11-27 | 2007-05-29 | 2007-11-28 | $7700.00 | Window Closed / Lapsed |