NESTED REWIND ONLY AND NON REWIND ONLY TRANSACTIONS IN A DATA PROCESSING SYSTEM SUPPORTING TRANSACTIONAL STORAGE ACCESSES
First Claim
1. A method, comprising:
- in a multiprocessor data processing system having a shared memory system, executing a first memory transaction and a nested second memory transaction, wherein the first memory transaction has a transaction body including the second memory transaction and an additional plurality of transactional memory access instructions, and wherein the first memory transaction is a rewind-only transaction (ROT) and the second memory transaction is a non-ROT memory transaction;
in response to execution of the plurality of transactional memory access instructions, performing one or more memory accesses to the shared memory system indicated by the one or more transactional memory access instructions;
refraining from tracking conflicts between memory accesses not within the first memory transaction and at least a load footprint of any of the plurality of transactional memory access instructions preceding the second memory transaction; and
tracking conflicts between memory accesses not within the first memory transaction and store and load footprints of any of the plurality of transactional memory access instructions that follow initiation of the second memory transaction.
1 Assignment
0 Petitions
Accused Products
Abstract
In a multiprocessor data processing system having a distributed shared memory system, first and second nested memory transactions are executed, where the first memory transaction is a rewind-only transaction (ROT) and the second memory transaction is a non-ROT memory transaction. The first memory transaction has a transaction body including the second memory transaction and an additional plurality of transactional memory access instructions. In response to execution of the transactional memory access instructions, memory accesses are performed to the distributed shared memory system. Conflicts between memory accesses not within the first memory transaction and at least a load footprint of any of the transactional memory access instructions preceding the second memory transaction are not tracked. However, conflicts between memory accesses not within the first memory transaction and store and load footprints of any of the transactional memory access instructions that follow initiation the second memory transaction are tracked.
27 Citations
24 Claims
-
1. A method, comprising:
-
in a multiprocessor data processing system having a shared memory system, executing a first memory transaction and a nested second memory transaction, wherein the first memory transaction has a transaction body including the second memory transaction and an additional plurality of transactional memory access instructions, and wherein the first memory transaction is a rewind-only transaction (ROT) and the second memory transaction is a non-ROT memory transaction; in response to execution of the plurality of transactional memory access instructions, performing one or more memory accesses to the shared memory system indicated by the one or more transactional memory access instructions; refraining from tracking conflicts between memory accesses not within the first memory transaction and at least a load footprint of any of the plurality of transactional memory access instructions preceding the second memory transaction; and tracking conflicts between memory accesses not within the first memory transaction and store and load footprints of any of the plurality of transactional memory access instructions that follow initiation of the second memory transaction. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
9. A processing unit for a multiprocessor data processing system, the processing unit comprising:
-
at least one execution unit that executes a first memory transaction and a nested second memory transaction, wherein the first memory transaction has a transaction body including the second memory transaction and an additional plurality of transactional memory access instructions, and wherein the first memory transaction is a rewind-only transaction (ROT) and the second memory transaction is a non-ROT memory transaction; a cache that, responsive to execution of the plurality of transactional memory access instructions, performs one or more memory accesses to the shared memory system indicated by the one or more transactional memory access instructions; transactional memory logic that refrains from tracking conflicts between memory accesses not within the first memory transaction and at least a load footprint of any of the plurality of transactional memory access instructions preceding the second memory transaction and tracks conflicts between memory accesses not within the first memory transaction and store and load footprints of any of the plurality of transactional memory access instructions that follow initiation of the second memory transaction. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A design structure tangibly embodied in a machine-readable storage medium for designing, manufacturing, or testing an integrated circuit, the design structure comprising:
a processing unit for a multiprocessor data processing system, the processing unit including; at least one execution unit that executes a first memory transaction and a nested second memory transaction, wherein the first memory transaction has a transaction body including the second memory transaction and an additional plurality of transactional memory access instructions, and wherein the first memory transaction is a rewind-only transaction (ROT) and the second memory transaction is a non-ROT memory transaction; a cache that, responsive to execution of the plurality of transactional memory access instructions, performs one or more memory accesses to the shared memory system indicated by the one or more transactional memory access instructions; transactional memory logic that refrains from tracking conflicts between memory accesses not within the first memory transaction and at least a load footprint of any of the plurality of transactional memory access instructions preceding the second memory transaction and tracks conflicts between memory accesses not within the first memory transaction and store and load footprints of any of the plurality of transactional memory access instructions that follow initiation of the second memory transaction. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
Specification