High throughput message passing process using latency and reliability classes
First Claim
1. A method of transferring data on a communication medium from a source processor to a destination processor, the data including messages of a first transmit latency class and messages of a second transmit latency class, comprising:
- queuing messages of the first transmit latency class in the source processor according to a first transmit priority rule in a first transmit queue;
queuing messages of the second transmit latency class in the source processor according to a second transmit priority rule in a second transmit queue; and
sending a particular message selected from the first and second transmit queues in the source processor according to a queue priority rule to the destination processor without establishing connection with the destination processor for the particular message in advance of sending the particular message.
6 Assignments
0 Petitions
Accused Products
Abstract
A communication technique for high volume connectionless-protocol, backbone communication links in distributed processing systems provides for control of latency and reliability of messages transmitted. The system provides for transmit list and receive list processes in the processors on the link. On the transmit side, a high priority command list and a normal priority command list are provided. In the message passing process, the command transmit function transmits commands across the backplane according to a queue priority rule that allows for control of transmit latency. Messages that require low latency are written into the high priority transmit list, while a majority of messages are written into the high throughput or normal priority transmit list. A receive filtering process in the receiving processor includes dispatch logic which dispatches messages either to a high priority receive list or a normal priority receive list. The filtering function also acts to drop messages received according to the amount of available buffer space in the receiving processor, as measured against watermarks based on reliability tags in message headers. The messages received are routed to either the high priority receive list or a normal priority receive list based on another control bit in the message headers. The receiving processor processes the messages in the receive queues according to a priority rule that allows for control of the latency between receipt of a message, and actual processing of the message by the receiving processor.
-
Citations
57 Claims
-
1. A method of transferring data on a communication medium from a source processor to a destination processor, the data including messages of a first transmit latency class and messages of a second transmit latency class, comprising:
-
queuing messages of the first transmit latency class in the source processor according to a first transmit priority rule in a first transmit queue; queuing messages of the second transmit latency class in the source processor according to a second transmit priority rule in a second transmit queue; and sending a particular message selected from the first and second transmit queues in the source processor according to a queue priority rule to the destination processor without establishing connection with the destination processor for the particular message in advance of sending the particular message. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A method of transferring data on a communication medium from a source processor to a destination processor, the data including messages of a first reliability class and messages of a second reliability class, comprising:
-
providing in the source processor, a code in messages being transmitted which indicates one of the first and second reliability classes; sending a particular message from the source processor to the destination processor without establishing connection with the destination processor for the particular message in advance of sending the particular message; receiving at the destination processor messages addressed to the destination processor; and storing the received messages in destination processor memory according to a receive priority rule, the receive priority rule providing for storing messages of the first reliability class if a first threshold amount of storage is available in destination processor memory, and storing messages of the second reliability class if a second threshold amount of storage is available in destination processor memory, wherein the first threshold is larger than the second threshold. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. A method of transferring data on a communication medium from a source processor to a destination processor, the data including messages of a first latency class and messages of a second latency class, comprising:
-
providing in the source processor, a code in messages being transmitted which indicates one of a first and second receive latency classes; sending a particular message from the source processor to the destination processor without establishing connection with the destination processor for the particular message in advance of sending the particular message; receiving at the destination processor messages addressed to the destination processor; queuing messages of the first receive latency class for handling at the destination processor according to a first receive priority rule in a first receive queue; queuing messages of the second receive latency class for handling at the destination processor according to a second receive priority rule in a second receive queue; and processing messages in the first and second receive queues at the destination processor according to a receive queue priority rule. - View Dependent Claims (35, 36, 37, 38, 39, 40)
-
-
41. In a system including a plurality of processors, processors in the plurality having one or more input/output ports coupled to data networks, a method of transferring a plurality of types of messages on a communication medium among the plurality of processors, comprising:
-
receiving a frame of data from an input/output port on a source processor; executing a frame transfer process on the source processor to route the frame of data to a destination processor in the plurality of processors, the frame transfer process including generating control and data transfer messages to be transferred among the plurality of processors; classifying the control and data transfer messages in the source processor according to a transmit latency class and a receive reliability class; queuing, in response to the frame transfer process, messages of a first transmit latency class in a source processor according to a first transmit priority rule in a first transmit queue; queuing, in response to the frame transfer process, messages of a second transmit latency class in the source processor according to a second transmit priority rule in a second transmit queue; sending specific messages selected from the first and second transmit queues in the source processor according to a queue priority rule to the destination processor without establishing that the destination processor has available resources to receive a specific message in advance of sending the specific message; receiving at the destination processor messages addressed to the destination processor;
determining at the destination processor the reliability class of received messages;storing the received messages in destination processor memory according to a receive priority rule, the receive priority rule providing for dropping messages of a first reliability class if less than a first threshold amount of storage is available in destination processor memory; and executing a process in the destination processor using the stored messages. - View Dependent Claims (42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55)
-
-
56. A method of transferring data on a communication medium from a source processor to a destination processor, the data including messages of a first transmit latency class and messages of a second transmit latency class, comprising:
-
queuing messages of the first transmit latency class in the source processor according to a first transmit priority rule in a first transmit queue; queuing messages of the second transmit latency lass in the source processor according to a second transmit priority rule in a second transmit queue; and sending a particular message selected from the first and second transmit queues in the source processor according to a queue priority rule to the destination processor without establishing connection with the destination processor for the particular message in advance of sending the particular message; receiving at the destination processor messages addressed to the destination processor; and storing the received messages in destination processor memory according to a receive priority rule, the receive priority rule providing for storing messages of a first reliability class if a first threshold amount of storage is available in destination processor memory, and storing messages of a second reliability class if a second threshold amount of storage is available in destination processor memory, wherein the first threshold is larger than the second threshold, and wherein the receive priority rule includes dropping messages of the second reliability class if than the second threshold amount of storage is available in the destination processor memory. - View Dependent Claims (57)
-
Specification