IP Library Granted Patent US 8,887,170
Granted Patent B2
US 8,887,170 · App. 13/421,205 · Granted Nov 11, 2014

High performance locks

Inventor: Kirk J. Krauss (Los Gatos, CA)
Assignee: International Business Machines Corporation
G06F9/526G06F9/5005G06F9/5011G06F9/455G06F9/4881
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,887,170
App. No.
13/421,205
Granted
Nov 11, 2014
Kind
B2
Abstract

Systems and methods of enhancing computing performance may provide for detecting a request to acquire a lock associated with a shared resource in a multi-threaded execution environment. A determination may be made as to whether to grant the request based on a context-based lock condition. In one example, the context-based lock condition includes a lock redundancy component and an execution context component.

Claims (18)

1. A computer-implemented method comprising:

conducting a runtime analysis of a multi-threaded execution environment including a first thread and a second thread;

identifying a context-based lock condition based on the runtime analysis and a threshold, wherein the threshold includes at least one of a wait time threshold and an occurrence threshold, and the context-based lock condition includes a lock redundancy component and an execution context component;

detecting a request issued by the first thread to acquire a lock held by the second thread, wherein the lock is associated with a shared resource in the multi-threaded execution environment;

denying the request if both the lock redundancy component and the execution context component are satisfied to permit access to the shared resource by the first thread without acquiring any lock for the shared resource; and

granting the request if both the lock redundancy component and the execution context component are not satisfied.

2. The computer-implemented method of claim 1 , wherein the lock redundancy component includes an identification of a lock other than the lock associated with the shared resource, and the execution context component includes an identification of a function call chain.

3. The computer-implemented method of claim 1 , wherein a programmatically designed behavior of the first thread is dynamically modified so that the first thread accesses the shared resource without acquiring the lock associated with the shared resource.

4. The computer-implemented method of claim 1 , wherein the first thread holds a lock associated with another shared resource.

5. A computer-implemented method comprising:

conducting a runtime analysis of a multi-threaded execution environment including a first thread and a second thread;

identifying a context-based lock condition based on the runtime analysis and a threshold, wherein the threshold includes at least one of a wait time threshold and an occurrence threshold, and the context-based lock condition includes a lock redundancy component and an execution context component;

detecting a request issued by a first thread to acquire a lock held by the second thread, wherein the lock is associated with a shared resource in a multi-threaded execution environment; and

determining whether to grant the request based on a context-based lock condition, wherein the request is denied if both a lock redundancy component and an execution context component are satisfied to permit access to the shared resource by the first thread without acquiring any lock for the shared resource, and wherein the request is granted if both the lock redundancy component and the execution context component are not satisfied.

6. The computer-implemented method of claim 5 , wherein the lock redundancy component includes an identification of a lock other than the lock associated with the shared resource.

7. The computer-implemented method of claim 5 , wherein the execution context component includes an identification of a function call chain.

8. The computer-implemented method of claim 5 , wherein a programmatically designed behavior of the first thread is dynamically modified so that the first thread accesses the shared resource without acquiring the lock associated with the shared resource.

9. The computer-implemented method of claim 5 , wherein the first thread holds a lock associated with another shared resource.

Continuity (2)
Continuation 12847666 · Jul 30, 2010
Related Publication 20120174116A1 · Jul 5, 2012