Transactional Memory Computing System with Support for Chained Transactions
First Claim
1. A method for use by a transaction program on a computing system for managing memory access to a shared memory location for transaction data of a first thread, the shared memory location being accessible by the first thread and a second thread, the method comprising:
- using multiple atomic instruction groups (AIGs) of instruction to support on multiple systems excution of a single large transaction that requires operations on multiple threads, and tracking read and write sets of chained AIGs individually.
1 Assignment
0 Petitions
Accused Products
Abstract
A computing system processes memory transactions for parallel processing of multiple threads of execution provides execution of multiple atomic instruction groups (AIGs) on multiple systems to support a single large transaction that requires operations on multiple threads of execution and/or on multiple systems connected by a network. The support provides a Transaction Table in memory and fast detection of potential conflicts between multiple transactions. Special instructions may mark the boundaries of a transaction and identify memory locations applicable to a transaction. A ‘private to transaction’ (PTRAN) tag, directly addressable as part of the main data storage memory location, enables a quick detection of potential conflicts with other transactions that are concurrently executing on another thread. The tag indicates whether (or not) a data entry in memory is part of a speculative memory state of an uncommitted transaction that is currently active in the system.
149 Citations
20 Claims
-
1. A method for use by a transaction program on a computing system for managing memory access to a shared memory location for transaction data of a first thread, the shared memory location being accessible by the first thread and a second thread, the method comprising:
using multiple atomic instruction groups (AIGs) of instruction to support on multiple systems excution of a single large transaction that requires operations on multiple threads, and tracking read and write sets of chained AIGs individually. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
11. A computer-readable computer program medium tangibly embodying computer-executable instructions for performing a computer process implementing a string of instructions to complete a transaction of a first thread among multiple threads, beginning with one instruction of said string of instructions, and execution said string of instructions, and having one instruction set which is part of an active atomic instruction group (AIG) of instructions having a call to a specialized service enabling using multiple atomic instruction groups (AIGs) of instruction to support on multiple systems excution of a single large transaction that requires operations on multiple threads, and tracking read and write sets of chained AIGs individually.
-
12. A computing system, comprising:
-
a plurality of processors and a shared memory accessible by one or more of said processors while said computing system manages memory access to a shared memory location for a transaction being processed, said shared memory location being accessible by a first thread and a second thread, said computing system shared memory having an identified ‘
private to transaction’
tag for identifying each increment of system memory and a transaction table of loads and stores of a first thread for said transaction being processed, and having support for execution on multiple processors of a single large transaction that requires operations on multiple threads using chained AIGs, and tracking read and write sets of chained AIGs individually. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
Specification