Inter-thread communication of lock protected data
First Claim
Patent Images
1. A method, comprising:
- receiving, from a first thread of a first programmable unit of a set of multiple multi-threaded programmable units integrated within a single die, a first request for a lock associated with data;
receiving, from a second thread at a second programmable unit of the set of multiple multi-threaded programmable units, a second request for the lock associated with data; and
sending at least one message to the first thread granting the lock and identifying the second thread as the next thread to receive the lock.
1 Assignment
0 Petitions
Accused Products
Abstract
In general, in one aspect, the disclosure describes a method that includes issuing, by a first thread at a first programmable unit of a set of multiple multi-threaded programmable units integrated within a single die, a request for a lock associated with data. The method also includes receiving, by the first thread, a grant for the lock and identification of a second thread to receive a grant for the lock after the lock is released by the first thread. The first thread initiates transfer of the data associated with the lock to the one of the multiple multi-threaded programmable units executing the second thread and releases the lock.
43 Citations
16 Claims
-
1. A method, comprising:
-
receiving, from a first thread of a first programmable unit of a set of multiple multi-threaded programmable units integrated within a single die, a first request for a lock associated with data;
receiving, from a second thread at a second programmable unit of the set of multiple multi-threaded programmable units, a second request for the lock associated with data; and
sending at least one message to the first thread granting the lock and identifying the second thread as the next thread to receive the lock. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer program, disposed on a computer readable medium, comprising instructions for causing a processor to:
-
issue, by a first thread at a first programmable unit of a set of multiple multi-threaded programmable units integrated within a single die, a request for a lock associated with data;
receive, by the first thread, a grant for the lock and identification of a second thread at a second programmable unit of the set of multiple multi-threaded programmable units integrated within a single die to receive a grant for the lock after the lock is released by the first thread;
modify, by the first thread, the data associated with the lock;
initiate, by the first thread, transfer of the data associated with the lock to the one of the multiple multi-threaded programmable units executing the second thread; and
issue, by the first thread, a request to release the lock. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A network device, comprising:
-
a switch fabric; and
multiple blades coupled to the switch fabric, at least one of the blades comprising a processor having multiple multi-threaded programmable units integrated on a single integrated die, the processor having circuitry integrated on the die and communicatively coupled the multiple multi-threaded programmable units, the circuitry to;
receive, from a first thread of a first programmable unit of a set of multiple multi-threaded programmable units integrated within a single die, a first request for a lock associated with data;
receive, from a second thread at a second programmable unit of the set of multiple multi-threaded programmable units, a second request for the lock associated with data; and
send at least one message to the first thread granting the lock and identifying the second thread as the next thread to receive the lock. - View Dependent Claims (14, 15, 16)
-
Specification