Averting Lock Contention Associated with Core-Based Hardware Threading in a Split Core Environment
AssigneeInternational Business Machines Corporation
InventorsMathew ACCAPADI, Grover C. DAVIDSON, II, Dirk MICHEL, Bret R. OLSZEWSKI
Life of this patent
Estimating the term…
Abstract
Techniques are disclosed for managing lock contention in a multithreaded processing system. In one embodiment, a method includes tracking an amount of time that a lock on a first thread prevents a second thread from execution. The method also includes, if the amount of time is greater than a first threshold, storing the amount of time and an address associated with the lock. The method includes dispatching a third thread that utilizes the address associated with the lock. The method also includes increasing the hardware priority of the third thread during a lock operation.
Claims20
A method for managing lock contention in a processor, comprising:
- tracking an amount of time that a lock on a first thread prevents a second thread from execution;
- if the amount of time is greater than a first threshold, storing the amount of time and an address associated with the lock;
- dispatching a third thread that utilizes the address associated with the lock;
- and
- increasing the hardware priority of the third thread during a lock operation.
A computer program product for managing lock contention, the computer program product comprising a non-transitory computer-readable storage medium having computer-readable program code embodied therewith, the computer-readable program code executable by a processor to cause the processor to:
- track an amount of time that a lock on a first thread prevents a second thread from execution;
- if the amount of time is greater than a first threshold, store the amount of time and an address associated with the lock;
- dispatch a third thread that utilizes the address associated with the lock;
- and
- increase the hardware priority of the third thread during a lock operation.
A system, comprising:
- a processor;
- and
- a memory storing a program, which, when executed on the processor, performs an operation for managing lock contention, the operation comprising:
- tracking an amount of time that a lock on a first thread prevents a second thread from execution;
- if the amount of time is greater than a first threshold, storing the amount of time and an address associated with the lock;
- dispatching a third thread that utilizes the address associated with the lock;
- and
- increasing the hardware priority of the third thread during a lock operation.
Dependencies are inferred from the claim text.