Managing lock and unlock operations using operation prediction
First Claim
1. A method for managing instructions on a processor comprising a plurality of processor cores, the method comprising:
- identifying selected instructions as being associated with operations from a stored library of operations including at least one lock operation and at least one unlock operation, the identifying including, for a plurality of instructions included in a particular thread executing on the processor, identifying a first subset of the plurality of instructions as being associated with a lock operation based on predetermined characteristics of the plurality of instructions, and identifying a second subset of the plurality of instructions as being associated with an unlock operation based on predetermined characteristics of the plurality of instructions, andmanaging lock and unlock operations associated with the selected instructions that are issued on a first processor core of the processor, for a first thread executing on the first processor core, the managing including;
for each instruction included in the first thread and identified as being associated with a lock operation corresponding to a particular lock, in response to determining that the particular lock has already been acquired, continuing to attempt to acquire the particular lock for a plurality of attempts using a lock operation different from the lock operation in the stored library, andfor each instruction included in the first thread and identified as being associated with an unlock operation corresponding to a particular lock, releasing the particular lock from the first thread.
4 Assignments
0 Petitions
Accused Products
Abstract
Managing instructions on a processor includes: identifying selected instructions as being associated with operations from a stored library of operations. The identifying includes, for instructions included in a particular thread executing on the processor, identifying first/second subsets of the instructions as being associated with a lock/unlock operation based on predetermined characteristics of the instructions. Managing lock/unlock operations associated with the selected instructions that are issued on a first processor core includes, for each instruction included in a first thread and identified as being associated with a lock operation corresponding to a particular lock, in response to determining that the particular lock has already been acquired, continuing to attempt to acquire the particular lock for multiple attempts using a lock operation different from the lock operation in the stored library.
-
Citations
20 Claims
-
1. A method for managing instructions on a processor comprising a plurality of processor cores, the method comprising:
-
identifying selected instructions as being associated with operations from a stored library of operations including at least one lock operation and at least one unlock operation, the identifying including, for a plurality of instructions included in a particular thread executing on the processor, identifying a first subset of the plurality of instructions as being associated with a lock operation based on predetermined characteristics of the plurality of instructions, and identifying a second subset of the plurality of instructions as being associated with an unlock operation based on predetermined characteristics of the plurality of instructions, and managing lock and unlock operations associated with the selected instructions that are issued on a first processor core of the processor, for a first thread executing on the first processor core, the managing including; for each instruction included in the first thread and identified as being associated with a lock operation corresponding to a particular lock, in response to determining that the particular lock has already been acquired, continuing to attempt to acquire the particular lock for a plurality of attempts using a lock operation different from the lock operation in the stored library, and for each instruction included in the first thread and identified as being associated with an unlock operation corresponding to a particular lock, releasing the particular lock from the first thread. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A processor comprising:
-
a plurality of processor cores, each configured to execute at least one thread having access to a stored library of operations including at least one lock operation and at least one unlock operation; circuitry in one or more of the processor cores configured to identify selected instructions as being associated with operations from the stored library, the identifying including, for a plurality of instructions included in a particular thread executing on the processor, identifying a first subset of the plurality of instructions as being associated with a lock operation based on predetermined characteristics of the plurality of instructions, and identifying a second subset of the plurality of instructions as being associated with an unlock operation based on predetermined characteristics of the plurality of instructions; and instruction management circuitry configured to manage lock and unlock operations associated with the selected instructions that are issued on a first processor core of the processor, for a first thread executing on the first processor core, the managing including; for each instruction included in the first thread and identified as being associated with a lock operation corresponding to a particular lock, in response to determining that the particular lock has already been acquired, continuing to attempt to acquire the particular lock for a plurality of attempts using a lock operation different from the lock operation in the stored library, and for each instruction included in the first thread and identified as being associated with an unlock operation corresponding to a particular lock, releasing the particular lock from the first thread. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification