Patent US5583990A successfully refreshed from Google Patents.
US5583990A
Expired / Lapsed
US
⏱️ 0.0 years remaining
System for allocating messages between virtual channels to avoid deadlock and to optimize the amount of message traffic on each type of virtual channel
Assignee: Morgan Stanley and Co LLC
•
Filing: 1993-12-10
•
Granted: 1996-12-10
•
Expires: 2013-12-10
Abstract
Abstract A multidimensional interconnection and routing apparatus for a parallel processing computer connects together processing elements in a three-dimensional structure. The interconnection and routing apparatus includes a plurality of processing element nodes. A communication connects at least one of the processing elements with a host system. An interconnection network connects together the processing element nodes in an X, Y, and Z dimension. The network includes communication paths connecting each of the plurality of processing elements to adjacent processing elements in the plus and minus directions of each of the X, Y, and Z dimensions.
Inventors
- 👤 Mark S. Birrittella
- 👤 Richard E. Kessler
- 👤 Steven M. Oberlin
- 👤 Randal S. Passint
- 👤 Greg Thorson
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-02 13:20
CPC Classifications
H; H04; H04L; H04L45/00; H04L45/02; H04L45/06; G; G06; G06F; G06F15/00; G06F15/16; G06F15/163; G06F15/173; G06F15/17337; G06F15/17356; G06F15/17368; G06F15/17381; H04L45/10; H04L49/00; H04L49/10; H04L49/101; H04L49/20; H04L49/205; H04L49/25; H04L49/251
Claims Analysis
Total Claims: 11
Claim 1
Independent Claim
223 words
A method of avoiding deadlock in a multiprocessor computer system having a plurality of processing element nodes being interconnected by an interconnection network in an n-dimensional topology, the network including physical communication paths connecting each of the plurality of processing element nodes to adjacent processing element nodes, the method comprising the steps of: defining two types of virtual channels for each of the n-dimensions, each type of said virtual channel having virtual channel buffers assigned to each physical communication path, the virtual channel buffers being capable of storing messages communicated between the processing element nodes over the physical communication paths; defining a dateline in each one of said virtual channels, said dateline representing a communication link between two virtual channel buffers, which complete a cyclic path in their associated virtual channel, wherein if messages cross the dateline a cyclic buffer dependency can occur which creates a deadlock; allocating the messages to the virtual channel buffers in any one of the two types of virtual channels when the messages are being transferred among the processing element nodes in any one of the n dimensions without crossing a dateline; and allocating the messages such that messages cannot cross a dateline in its associated type of virtual channel, but instead must use the other type of virtual channel to cross the dateline to thereby avoid deadlock.
Claim 2
Independent Claim
223 words
A method of avoiding deadlock in a multiprocessor computer system having a plurality of processing element nodes being interconnected by an interconnection network in an n-dimensional topology, the network including physical communication paths connecting each of the plurality of processing element nodes to adjacent processing element nodes, the method comprising the steps of: defining two types of virtual channels for each of the n-dimensions, each type of said virtual channel having virtual channel buffers assigned to each physical communication path, the virtual channel buffers being capable of storing messages communicated between the processing element nodes over the physical communication paths; defining a dateline in each one of said virtual channels, said dateline representing a communication link between two virtual channel buffers, which complete a cyclic path in their associated virtual channel, wherein if messages cross the dateline a cyclic buffer dependency can occur which creates a deadlock; allocating the messages to the virtual channel buffers in any one of the two types of virtual channels when the messages are being transferred among the processing element nodes in any one of the n dimensions without crossing a dateline; and allocating the messages such that messages cannot cross a dateline in its associated type of virtual channel, but instead must use the other type of virtual channel to cross the dateline to thereby avoid deadlock.
Claim 3
Dependent Claim
36 words
The method of claim 1 further comprising the step of placing the defined datelines to decrease imbalances in the utilization of the two types of virtual channels for each processing element node and to avoid deadlock.
Claim 4
Dependent Claim
61 words
The method of claim 1 wherein the messages communicated between the processing element nodes over the physical communication paths include request and response information, and wherein the step of defining two types of virtual channels includes assigning two types of virtual channel buffers capable of storing request information and assigning two types of virtual channel buffers capable of storing response information.
Claim 5
Dependent Claim
39 words
The method of claim 1 further comprising the steps of partitioning the processing element nodes into at least two portions for each of the n dimensions and placing the defined datelines at boundaries of the at least two portions.
Claim 6
Dependent Claim
43 words
The method of claim 4 wherein the allocating steps are performed so that messages between the two types of virtual channels within the at least two portions are allocated prior to allocating messages between the two types of virtual channels crossing portion boundaries.
Claim 7
Dependent Claim
42 words
The method of claim 5 wherein allocating messages between the two types of virtual channels within the at least two portions includes alternating the allocation between the two types of virtual channels depending on the lengths of the associated physical communication paths.
Claim 8
Dependent Claim
138 words
The method of claim 5 wherein allocating messages between the two types of virtual channels crossing portion boundaries includes allocating all virtual channel buffers assigned to physical communication paths which pass one or more processing element node after crossing portion boundaries on a first side to the first type of virtual channel and allocating all other virtual channel buffers assigned to physical communication paths crossing portion boundaries on the first side to the second type of virtual channel, and allocating all virtual channel buffers assigned to physical communication paths which pass one or more processing element node after crossing portion boundaries on a second side to the second type of virtual channel and allocating all other virtual channel buffers assigned to physical communication paths crossing portion boundaries on the second side to the first type of virtual channel.
Claim 9
Dependent Claim
235 words
A multiprocessor computer system comprising: a plurality of processing element nodes; an interconnection network interconnecting the plurality of processing element nodes in an n-dimensional topology, the network including physical communication paths connecting each of the plurality of processing element nodes to adjacent processing element nodes, and two types of virtual channels for each of the n dimensions, each type of said virtual channel having virtual channel buffers assigned to each physical communication path, the virtual channel buffers being capable of storing messages communicated between the processing element nodes over the physical communication paths; and a look-up table storing information indicative of a defined dateline in each one of said virtual channels, said dateline representing a communication link between two virtual channel buffers, which complete a cyclic path in their associated virtual channel, wherein if messages cross the dateline a cyclic buffer dependency can occur which creates a deadlock, the look-up table further storing information indicative of an allocation of messages to the virtual channel buffers in any one of the two types of virtual channels when the messages are to be transferred among the processing element nodes in any one of the n dimensions without crossing a dateline, and an allocation of messages such that messages cannot cross a dateline in its associated type of virtual channel, but instead must use the other type of virtual channel to cross the dateline to thereby avoid deadlock.
Claim 10
Dependent Claim
235 words
A multiprocessor computer system comprising: a plurality of processing element nodes; an interconnection network interconnecting the plurality of processing element nodes in an n-dimensional topology, the network including physical communication paths connecting each of the plurality of processing element nodes to adjacent processing element nodes, and two types of virtual channels for each of the n dimensions, each type of said virtual channel having virtual channel buffers assigned to each physical communication path, the virtual channel buffers being capable of storing messages communicated between the processing element nodes over the physical communication paths; and a look-up table storing information indicative of a defined dateline in each one of said virtual channels, said dateline representing a communication link between two virtual channel buffers, which complete a cyclic path in their associated virtual channel, wherein if messages cross the dateline a cyclic buffer dependency can occur which creates a deadlock, the look-up table further storing information indicative of an allocation of messages to the virtual channel buffers in any one of the two types of virtual channels when the messages are to be transferred among the processing element nodes in any one of the n dimensions without crossing a dateline, and an allocation of messages such that messages cannot cross a dateline in its associated type of virtual channel, but instead must use the other type of virtual channel to cross the dateline to thereby avoid deadlock.
Claim 11
Dependent Claim
29 words
The method of claim 1 wherein the allocating steps are performed to decrease imbalances in the utilization of the two types of virtual channels for each processing element node.
References Cited (Backward Citations)
EP0501524A2
Cited
US5341504A
Cited
US4933933A
Cited
WO1988008652A1
Cited
US5170482A
Cited
US5008882A
Cited
US5105424A
Cited
US5157692A
Cited
US5218676A
Cited
US5383191A
Cited
US5313645A
Cited
EP0570729A2
Cited
US5390164A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1999-12-10 | 2000-06-10 | 2000-12-10 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2003-12-10 | 2004-06-10 | 2004-12-10 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2007-12-10 | 2008-06-10 | 2008-12-10 | $7700.00 | Window Closed / Lapsed |