Fast and Efficient Reacquisition of Locks for Transactional Memory Systems
First Claim
1. A computer-readable storage medium storing program instructions executable by one or more processors to implement:
- determining that a group of shared memory areas are likely to be accessed together in one or more atomic memory transactions executed by one or more threads of a computer program in a transactional memory system;
in response to said determining, associating the group of memory areas with a single software lock, wherein the software lock is usable by the transactional memory system to coordinate concurrent transactional access to the group of memory areas by the threads of the computer program;
a thread of the threads acquiring the single software lock; and
subsequent to said acquiring, the thread accessing one or more of the group of memory areas from within an atomic memory transaction governed by the transactional memory system.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method is disclosed for fast lock acquisition and release in a lock-based software transactional memory system. The method includes determining that a group of shared memory areas are likely to be accessed together in one or more atomic memory transactions executed by one or more threads of a computer program in a transactional memory system. In response to determining this, the system associates the group of memory areas with a single software lock that is usable by the transactional memory system to coordinate concurrent transactional access to the group of memory areas by the threads of the computer program. Subsequently, a thread of the program may gain access to a plurality of the memory areas of the group by acquiring the single software lock.
-
Citations
20 Claims
-
1. A computer-readable storage medium storing program instructions executable by one or more processors to implement:
-
determining that a group of shared memory areas are likely to be accessed together in one or more atomic memory transactions executed by one or more threads of a computer program in a transactional memory system; in response to said determining, associating the group of memory areas with a single software lock, wherein the software lock is usable by the transactional memory system to coordinate concurrent transactional access to the group of memory areas by the threads of the computer program; a thread of the threads acquiring the single software lock; and subsequent to said acquiring, the thread accessing one or more of the group of memory areas from within an atomic memory transaction governed by the transactional memory system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer system, comprising:
-
one or more processors; a memory coupled to the one or more processors and storing program instructions executable by the processors to implement a method comprising; determining that a group of shared memory areas are likely to be accessed together in one or more atomic memory transactions executed by one or more threads of a computer program in a transactional memory system; in response to said determining, associating the group of memory areas with a single software lock, wherein the software lock is usable by the transactional memory system to coordinate concurrent transactional access to the group of memory areas by the threads of the computer program; a thread of the threads acquiring the single software lock; and subsequent to said acquiring, the thread accessing one or more of the group of memory areas from within an atomic memory transaction governed by the transactional memory system. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A computer-implemented method, comprising:
-
determining that a group of shared memory areas are likely to be accessed together in one or more atomic memory transactions executed by one or more threads of a computer program in a transactional memory system; in response to said determining, associating the group of memory areas with a single software lock, wherein the software lock is usable by the transactional memory system to coordinate concurrent transactional access to the group of memory areas by the threads of the computer program; a thread of the threads acquiring the single software lock; and subsequent to said acquiring, the thread accessing one or more of the group of memory areas from within an atomic memory transaction governed by the transactional memory system. - View Dependent Claims (19, 20)
-
Specification