ACCELERATING UNBOUNDED MEMORY TRANSACTIONS USING NESTED CACHE RESIDENT TRANSACTIONS
First Claim
1. In a computing environment, a method of using cache resident transaction hardware to accelerate a software transactional memory system, the method comprising:
- identifying a plurality of atomic operations intended to be performed by a software transactional memory system as transactional operations as part of a software transaction;
selecting at least a portion of the plurality of atomic operations; and
attempting to perform the portion of the plurality of atomic operations as hardware transactions using cache resident transaction hardware.
2 Assignments
0 Petitions
Accused Products
Abstract
Using cache resident transaction hardware to accelerate a software transactional memory system. The method includes identifying a plurality of atomic operations intended to be performed by a software transactional memory system as transactional operations as part of a software transaction. The method further includes selecting at least a portion of the plurality of atomic operations. The method further includes attempting to perform the portion of the plurality of atomic operations as hardware transactions using cache resident transaction hardware.
-
Citations
20 Claims
-
1. In a computing environment, a method of using cache resident transaction hardware to accelerate a software transactional memory system, the method comprising:
-
identifying a plurality of atomic operations intended to be performed by a software transactional memory system as transactional operations as part of a software transaction; selecting at least a portion of the plurality of atomic operations; and attempting to perform the portion of the plurality of atomic operations as hardware transactions using cache resident transaction hardware. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer readable medium comprising computer executable instructions that when executed by one or more processors cause the one or more processors to perform the following:
-
identifying a plurality of atomic operations intended to be performed by a software transactional memory system as transactional operations as part of a software transaction; selecting at least a portion of the plurality of atomic operations; and attempting to perform the portion of the plurality of atomic operations as hardware transactions using cache resident transaction hardware. - View Dependent Claims (17, 18, 19)
-
-
20. A computer system comprising:
-
one or more processors; one or more computer memory coupled to the one or more processors, the computer memory having stored thereon computer executable instructions that when executed by the one or more processors cause the one or more processors to perform the following; identifying a plurality of atomic operations intended to be performed by a software transactional memory system as transactional operations as part of a software transaction; selecting at least a portion of the plurality of atomic operations, wherein selecting at least a portion of the plurality of atomic operations comprises selecting a number of operations such that N>
T/(I−
M) where N;
number of operations in a batch;
I;
average cost of a non-contended software based atomic operation;
M;
average cost of a successfully monitored and buffered operation in a cache resident transaction;
T;
average cost of initiating and committing a cache resident transaction; andattempting to perforin the portion of the plurality of atomic operations as hardware transactions using cache resident transaction hardware, including a compiler introducing nested cache resident transactions into generated code, including statically placing cache resident transaction boundaries into the generated code.
-
Specification