Method and system for over-run protection in a message passing multi-processor computer system using a credit-based protocol
First Claim
Patent Images
1. A message passing computer system, comprising:
- an interconnection;
a plurality of multi-processor nodes connected to said interconnection; and
a credit-based message receive unit coupled to said interconnection for controlling passage of messages through said multi-processor nodes, the message receive unit including a message buffer coupled to a plurality of credit registers;
wherein the size of said buffer satisfies the condition;
1 Assignment
0 Petitions
Accused Products
Abstract
In a multi-processor computer system, a message receive unit using a shared buffer pool and a set of per-node credit registers in each processor node. The buffer stores incoming messages received from the sending nodes. The credit registers prevent a sending node from using more than its allocated share of the buffer pool and thus prevent the buffer pool from overflowing. Because the buffer pool of the receiving node does not overflow, the receiving node can continue to communicate with other nodes.
20 Citations
20 Claims
-
1. A message passing computer system, comprising:
-
an interconnection;
a plurality of multi-processor nodes connected to said interconnection; and
a credit-based message receive unit coupled to said interconnection for controlling passage of messages through said multi-processor nodes, the message receive unit including a message buffer coupled to a plurality of credit registers;
wherein the size of said buffer satisfies the condition;
- View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer communication method in a multi-processor node computer system, comprising the steps of:
-
using a buffer for temporarily storing messages from at least one sending node to a receiving node;
using credit values stored in credit registers, each credit value corresponding to a respective one of the at least one sending node and controlling writing incoming messages from the at least one sending node into said buffer; and
determining the number of accesses of the at least one sending node to said buffer in order to adjust said credit value corresponding to the at least one sending node;
wherein said credit value in each of said plurality of credit registers determines the maximum number of messages that a receiving node can receive from the corresponding sending node. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A system comprising:
-
A) an interconnect;
B) a plurality of multiprocessor nodes connected to the interconnect, including at least 1) a bus, 2) a plurality of processors having at least a cache connected to the bus, 3) an input/output unit connected to the bus, 4) a memory unit, and 5) a mesh coherence unit connected to the bus, having at least a) a memory controller for controlling the memory unit, and b) a credit based receive unit having at least i) an input for receiving a packet from the interconnect, ii) a buffer coupled to the input for receiving, iii) a decoder, coupled to the input for receiving, for decoding an identification of the packet, iv) a credit adjustment logic unit coupled to the decoder and contents of the buffer, which, based on the decoding and the contents of the buffer creates a signal to adjust credit, v) a bank of credit registers having a credit register whose credit is adjusted based on the signal to adjust credit, for returning signals to the credit adjustment logic unit so that the credit register whose credit is adjusted corresponds to a sending unit, vi) a multiplexer coupled to the decoder and to the bank of credit registers for determining, based on the decoding, and passing, the credit value associated with the credit register whose credit is adjusted, vii) a credit evaluator for evaluating the credit value that was passed by comparing the credit value to a value corresponding to no credits left to determine if credits remain, and viii) a read/write control unit that is coupled to the buffer and to the credit evaluator and that uses results of the evaluating to determine whether to allow the packet to be written to the buffer;
c) the credit adjustment logic unit being coupled to the read/write control unit to recredit credit registers depending on whether a packet is read, not read, written, or not written to the buffer.
-
-
20. A system comprising:
-
a multiprocessor computer; and
a message passing system within the multiprocessor computer for passing messages between processors of the multiprocessor computer, the message passing system including at least an interconnection, a plurality of multi-processor nodes connected to said interconnection, each multi-processor node having a multiple processors, and a credit-based message receive unit coupled to said interconnection for controlling passage of messages through said multi-processor nodes, the message receive unit including a message buffer coupled to a plurality of credit registers;
wherein the size of said buffer satisfies the condition;
-
Specification