← Back to Patent Explorer
US5659796A Expired / Lapsed US ⏱️ 0.0 years remaining

System for randomly modifying virtual channel allocation and accepting the random modification based on the cost function

Assignee: Morgan Stanley and Co LLC
•
Filing: 1995-04-13
•
Granted: 1997-08-19
•
Expires: 2015-04-13
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method optimizes routing in a multiprocessor computer system by defining two types of virtual channels having virtual channel buffers for storing messages communicated between processing element nodes in the multiprocessor computer system. A dateline is associated to each type of virtual channel, and messages are restrained from crossing a dateline on its associated type of virtual channel to avoid deadlock. A cost function is defined which is correlated to imbalances in the utilization of the two types of virtual channels. The unrestrained messages are allocated between the two types of virtual channels to minimize the cost function by defining an initial virtual channel allocation, randomly modifying the virtual channel allocation, and accepting the random modification if the modification decreases the cost function, else accepting the modification based on a probability that slowly decreases during the allocating step.

Inventors

  • 👤 Gregory M. Thorson
  • 👤 Steven L. Scott

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-28 01:50
CPC Classifications
H; H04; H04L; H04L45/00; H04L45/12; H04L45/02; H04L45/10

Claims Analysis

Total Claims: 15
Claim 1
Independent Claim 208 words
A method of optimizing routing in a multiprocessor computer system having a plurality of processing element nodes being interconnected by physical communication links in an n-dimensional topology, the method comprising: defining two types of virtual channels, each type of virtual channel having virtual channel buffers assigned to each physical communication link and capable of storing messages communicated between the processing element nodes over the physical communication links; associating a dateline to each type of virtual channel, each dateline representing a communication link between two virtual channel buffers, which completes a cyclic path in their associated type of virtual channel, wherein if messages cross the dateline a cyclic buffer dependency can occur which creates a deadlock; restraining messages from crossing a dateline on its associated type of virtual channel to avoid deadlock; defining a cost function correlated to imbalances in the utilization of the two types of virtual channels; and allocating unrestrained messages between the two types of virtual channels to minimize the cost function, the step of allocating comprising: defining an initial virtual channel allocation, randomly modifying the virtual channel allocation, and accepting the random modification if the modification decreases the cost function, else accepting the modification based on a probability that slowly decreases during the allocating step.
Claim 2
Independent Claim 208 words
A method of optimizing routing in a multiprocessor computer system having a plurality of processing element nodes being interconnected by physical communication links in an n-dimensional topology, the method comprising: defining two types of virtual channels, each type of virtual channel having virtual channel buffers assigned to each physical communication link and capable of storing messages communicated between the processing element nodes over the physical communication links; associating a dateline to each type of virtual channel, each dateline representing a communication link between two virtual channel buffers, which completes a cyclic path in their associated type of virtual channel, wherein if messages cross the dateline a cyclic buffer dependency can occur which creates a deadlock; restraining messages from crossing a dateline on its associated type of virtual channel to avoid deadlock; defining a cost function correlated to imbalances in the utilization of the two types of virtual channels; and allocating unrestrained messages between the two types of virtual channels to minimize the cost function, the step of allocating comprising: defining an initial virtual channel allocation, randomly modifying the virtual channel allocation, and accepting the random modification if the modification decreases the cost function, else accepting the modification based on a probability that slowly decreases during the allocating step.
Claim 3
Dependent Claim 33 words
The method of claim 1 further comprising the step of predicting a traffic distribution of messages though the multiprocessor computer system, and wherein the cost function is based on the predicted traffic distribution.
Claim 4
Dependent Claim 26 words
The method of claim 2 wherein the steps of predicting the traffic distribution and defining the cost function are performed to account for a partitioned workload.
Claim 5
Dependent Claim 35 words
The method of claim 1 further comprising the steps of: generating routing information having the modified virtual channel allocation stored therein; and routing the messages between the processing dement nodes based on the routing information.
Claim 6
Dependent Claim 71 words
The method of claim 1 wherein the step of restraining includes the step of logically pre-scheduling messages to virtual channels such that any message that would cross the dateline associated to the first type of virtual channel is pre-scheduled to the second type of virtual channel and any message that would cross the dateline associated to the second type of virtual channel is pre-scheduled to the first type of virtual channel.
Claim 7
Dependent Claim 69 words
The method of claim 1 wherein one dateline is associated to both types of virtual channels, and wherein the step of restraining includes the steps of: assigning all messages that will be routed across the one dateline to the first type of virtual channel; and switching the messages from the first type of virtual channel to the second type of virtual channel when a message crosses the one dateline.
Claim 8
Dependent Claim 30 words
The method of claim 6 further comprising the step of providing an error signal if a message attempts to cross the one dateline from the second type of virtual channel.
Claim 9
Dependent Claim 209 words
A multiprocessor computer system comprising: a plurality of processing element nodes; physical communication links interconnecting the processing element nodes in an n-dimensional topology; two types of virtual channels, each type of virtual channel having virtual channel buffers assigned to each physical communication link and capable of storing messages communicated between the processing element nodes over the physical communication links, wherein a dateline is associated with each type of virtual channel, each dateline representing a communication link between two virtual channel buffers, which complete a cyclic path in their associated type of virtual channel wherein if messages cross the dateline a cyclic buffer dependency can occur which creates a deadlock; means for restraining messages from crossing a dateline on its associated type of virtual channel to avoid deadlock; and means for assigning unrestrained messages between the two types of virtual channels based on calculated virtual channel allocation information which minimizes a defined cost function correlated to imbalances in the utilization of the two types of virtual channels by defining an initial virtual channel allocation and randomly modifying the initial virtual channel allocation, wherein the random modification is accepted if the modification decreases the cost function, and is otherwise accepted based on a probability that slowly decreases during the allocating step.
Claim 10
Dependent Claim 209 words
A multiprocessor computer system comprising: a plurality of processing element nodes; physical communication links interconnecting the processing element nodes in an n-dimensional topology; two types of virtual channels, each type of virtual channel having virtual channel buffers assigned to each physical communication link and capable of storing messages communicated between the processing element nodes over the physical communication links, wherein a dateline is associated with each type of virtual channel, each dateline representing a communication link between two virtual channel buffers, which complete a cyclic path in their associated type of virtual channel wherein if messages cross the dateline a cyclic buffer dependency can occur which creates a deadlock; means for restraining messages from crossing a dateline on its associated type of virtual channel to avoid deadlock; and means for assigning unrestrained messages between the two types of virtual channels based on calculated virtual channel allocation information which minimizes a defined cost function correlated to imbalances in the utilization of the two types of virtual channels by defining an initial virtual channel allocation and randomly modifying the initial virtual channel allocation, wherein the random modification is accepted if the modification decreases the cost function, and is otherwise accepted based on a probability that slowly decreases during the allocating step.
Claim 11
Dependent Claim 36 words
The multiprocessor computer system of claim 8 wherein the means for assigning unrestrained messages comprises a virtual channel look-up table, wherein routing information in said virtual channel look-up table includes the calculated virtual channel allocation information.
Claim 12
Dependent Claim 33 words
The multiprocessor computer system of claim 9 further comprising a network router coupled to the virtual channel look-up table for transferring the messages through the multiprocessor computer system based on the routing information.
Claim 13
Dependent Claim 72 words
The multiprocessor computer system of claim 8 wherein the means for restraining includes means for logically pre-scheduling messages to virtual channels such that any message that would cross the dateline associated to the first type of virtual channel is pre-scheduled to the second type of virtual channel and any message that would cross the dateline associated to the second type of virtual channel is pre-scheduled to the first type of virtual channel.
Claim 14
Dependent Claim 73 words
The multiprocessor computer system of claim 8 wherein one dateline is associated to both types of virtual/channels, and wherein the means for restraining includes: means for assigning all messages that will be routed across the one dateline to the first type of virtual channel; and switching means for physically switching the messages from the first type of virtual channel to the second type of virtual channel when a message crosses the one dateline.
Claim 15
Dependent Claim 31 words
The multiprocessor computer system of claim 12 further comprising means for providing an error signal if a message attempts to cross the one dateline from the second type of virtual channel.

References Cited (Backward Citations)

USRE28577E Cited
US5341504A Cited
US4771391A Cited
US4933933A Cited
US5170482A Cited
US5157692A Cited
US5218676A Cited
US5239545A Cited
US5175733A Cited
US5313645A Cited
US5550589A Cited
US5546549A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-08-18 2001-02-17 2001-08-19 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-08-18 2005-02-17 2005-08-19 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-08-18 2009-02-17 2009-08-19 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag