MESSAGE SELECTION FOR INTER-THREAD COMMUNICATION IN A MULTITHREADED PROCESSOR
First Claim
1. A method of processing a workload in a multithreaded processor of the type that includes a plurality of hardware threads, each of the plurality of hardware threads configured to receive at least one message carrying data to process the workload through a respective inbox from among a plurality of inboxes, the method comprising:
- receiving a plurality of messages at a first inbox among the plurality of inboxes, wherein the first inbox is associated with a respective first hardware thread among the plurality of hardware threads, and wherein each of the plurality of messages includes a priority associated therewith;
from the plurality of received messages, selecting a first message among the plurality of received messages to process in the first hardware thread based on the first message being associated with a highest priority among the plurality of received messages; and
in response to processing the first message, selecting a second message among the plurality of messages to process in the first hardware thread based on the second message being associated with an earliest time stamp among the plurality of received messages.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and circuit arrangement process a workload in a multithreaded processor that includes a plurality of hardware threads. Each thread receives at least one message carrying data to process the workload through a respective inbox from among a plurality of inboxes. A plurality of messages are received at a first inbox among the plurality of inboxes, wherein the first inbox is associated with a first thread among the plurality of hardware threads, and wherein each message is associated with a priority. From the plurality of received messages, a first message is selected to process in the first thread based on that first message being associated with the highest priority among the received messages. A second message is selected to process in the first thread based on that second message being associated with the earliest time stamp among the received messages and in response to processing the first message.
-
Citations
27 Claims
-
1. A method of processing a workload in a multithreaded processor of the type that includes a plurality of hardware threads, each of the plurality of hardware threads configured to receive at least one message carrying data to process the workload through a respective inbox from among a plurality of inboxes, the method comprising:
-
receiving a plurality of messages at a first inbox among the plurality of inboxes, wherein the first inbox is associated with a respective first hardware thread among the plurality of hardware threads, and wherein each of the plurality of messages includes a priority associated therewith; from the plurality of received messages, selecting a first message among the plurality of received messages to process in the first hardware thread based on the first message being associated with a highest priority among the plurality of received messages; and in response to processing the first message, selecting a second message among the plurality of messages to process in the first hardware thread based on the second message being associated with an earliest time stamp among the plurality of received messages. - View Dependent Claims (2, 3, 4)
-
-
5. A method of processing a workload in a multithreaded processor of the type that includes a plurality of hardware threads, each of the plurality of hardware threads configured to receive at least one prioritized message carrying data to process the workload through a respective priority message buffer from among a plurality of priority message buffers, each of the plurality of hardware threads configured to receive at least one message carrying data to process the workload through a respective inbox from among a plurality of inboxes, the method comprising:
-
receiving a plurality of prioritized messages at a first priority message buffer among the plurality of priority message buffers, wherein the first priority message buffer is associated with a respective first hardware thread among the plurality of hardware threads, and wherein each of the prioritized messages includes a priority associated therewith; receiving a plurality of messages at a first inbox among the plurality of inboxes, wherein the first inbox is associated with the first hardware thread, and wherein each of the plurality of messages does not include a priority associated therewith; from the plurality of received prioritized messages, selecting a first prioritized message among the plurality of received prioritized messages to process in the first hardware thread based on the first prioritized message being associated with a highest priority among the plurality of received prioritized messages; and in response to processing the first prioritized message, selecting a first message among the plurality of received messages and the plurality of received prioritized messages to process in the first hardware thread based on the first message being associated with an earliest time stamp among the plurality of received messages and the plurality of received prioritized messages. - View Dependent Claims (6, 7, 8, 9)
-
-
10. A circuit arrangement, comprising:
-
a plurality of hardware threads configured to process a workload; a plurality of inboxes in communication with the respective plurality of hardware threads, each of the plurality of inboxes configured to receive a plurality of messages; and control logic disposed in each of the plurality of hardware threads and configured to, during processing of at least a portion of the workload in a first hardware thread among the plurality of hardware threads, select a first message among a plurality of messages received at a respective first inbox among the plurality of inboxes to process in the first hardware thread based on the first message being associated with a highest priority among the plurality of received messages and, in response to processing the first message, select a second message among the plurality of messages to process in the first hardware thread based on the second message being associated with an earliest time stamp among the plurality of received messages. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A circuit arrangement, comprising:
-
a plurality of hardware threads configured to process a workload; a plurality of priority message buffers in communication with the respective plurality of hardware threads, each of the plurality of priority message buffers configured to receive a plurality of prioritized messages; a plurality of inboxes in communication with the respective plurality of hardware threads, each of the plurality of inboxes configured to receive a plurality of messages; and control logic disposed in each of the plurality of hardware threads and configured to, during processing of at least a portion of the workload in a first hardware thread among the plurality of hardware threads, select a first prioritized message among the plurality of prioritized messages received at a respective first priority message buffer among the plurality of priority message buffers to process in the first hardware thread based on the first prioritized message being associated with a highest priority among the plurality of received prioritized messages, and select a first message among the plurality of messages received at a respective first inbox among the plurality of inboxes and the plurality of received prioritized messages to process in the first hardware thread based on the first message being associated with an earliest time stamp among the plurality of received messages and the plurality of received prioritized messages. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27)
-
Specification