IP Library Granted Patent US 9,489,142
Granted Patent B2
US 9,489,142 · App. 14/315,763 · Granted Nov 8, 2016

Transactional memory operations with read-only atomicity

Inventors: Michael Karl Gschwind (Chappaqua, NY); Eric M. Schwarz (Gardiner, NY); Chung-Lung K. Shum (Wappingers Falls, NY); Timothy J. Slegel (Staatsburg, NY)
Assignee: International Business Machines Corporation
G06F3/0619G06F3/0653G06F3/0674G06F9/3004G06F9/30047G06F9/30087G06F9/30189G06F9/3834G06F9/3859G06F9/467G06F12/0833G06F12/1027G06F2212/621G06F2212/682
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 9,489,142
App. No.
14/315,763
Granted
Nov 8, 2016
Kind
B2
Abstract

Execution of a transaction mode setting instruction causes a computer processor to be in an atomic read-only mode ignoring conflicts to certain write-sets of a transaction during transactional execution. Read-set conflicts may still cause a transactional abort. Absent any aborting, the transaction's execution may complete, by committing transactional stores to memory and updating architecture states.

Claims (42)

1. A computer system for performing transactional memory operations in a multi-processor transactional execution (TX) environment, the system comprising:

a memory; and

a processor in communications with the memory, wherein the computer system is configured to perform a method, said method comprising:

executing, by the processor, an instruction to cause a transaction be executed in an atomic read-only transaction mode, execution in the atomic read-only transaction mode comprising:

tracking, by the processor, memory read accesses as a read-set of the transaction;

based on detecting, by the processor, a read-set conflict, aborting the transaction;

suppressing, by the processor, any transaction abort due to conflicts of a write-set generated while in the atomic read-only transaction mode; and

absent any aborting, completing the transaction, by the processor, the completing comprising committing stores executed in the transaction to memory and updating architecture states,

wherein the write-set is tracked with dirty bits while inside the read-only mode, wherein each dirty bit is associated with a read-only indicator, the read-only indicator indicating that any conflict detected with the write-set should be ignored.

2. The system of claim 1 , wherein the instruction is an enter TX read-only mode instruction that signals any one of:

a beginning of the transaction, wherein executing the instruction causes the transaction to be started and executed, by the processor, in the atomic read-only transaction mode;

a beginning of the atomic read-only transaction mode, wherein a preceding instruction causes the transaction to be started, by the processor, in a mode other than the atomic read-only transaction mode; and

a resuming of the atomic read-only transaction mode, wherein executing a preceding instruction, by the processor, suspends the atomic read-only transaction mode.

3. The system of claim 1 , wherein the atomic read-only transaction mode is reset based upon any one or more of:

a completion of execution of a number of instructions specified by the instruction;

execution of a resetting instruction; and

an ending of the transaction.

4. The system of claim 1 , the method further comprising:

suppressing a corresponding storage update from being committed at a successful ending of the transaction, upon detecting a conflict with the write-set, wherein the read-only indicators of the write-set are active.

5. The system of claim 1 , the method further comprising: committing, by the processor, a write-set of the transaction having corresponding read-only indicators active upon detecting a conflict, without waiting for the transaction to end successfully.

6. The system of claim 1 , the method further comprising:

executing, by the processor, an immediately preceding prefix instruction signaling to the instruction to begin execution of the transaction in the atomic read-only transaction mode.

7. A computer program product for performing transactional memory operations in a multi-processor transactional execution (TX) environment, the computer program product comprising: a computer-readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method, the method comprising:

executing, by the processing circuit, an instruction to cause a transaction be executed in an atomic read-only transaction mode, execution in the atomic read-only transaction mode comprising:

tracking, by the processing circuit, memory read accesses as a read-set of the transaction;

based on detecting a read-set conflict, aborting, by the processing circuit, the transaction;

suppressing, by the processing circuit, any transaction abort due to conflicts of a write-set generated while in the atomic read-only transaction mode; and

absent any aborting, completing the transaction, the completing comprising committing, by the processing circuit, stores executed in the transaction to memory and updating architecture states,

wherein the write-set is tracked, by the processing circuit, with dirty bits while inside the read-only mode, wherein each dirty bit is associated with a read-only indicator, the read-only indicator indicating that any conflict detected with the write-set should be ignored.

8. The computer program product of claim 7 , wherein the instruction is an enter TX read-only mode instruction that signals any one of:

a beginning of the transaction, wherein executing the instruction causes the transaction to be started and executed, by the processing circuit, in the atomic read-only transaction mode;

a beginning of the atomic read-only transaction mode, wherein a preceding instruction causes the transaction to be started, by the processing circuit, in a mode other than the atomic read-only transaction mode; and

a resuming of the atomic read-only transaction mode, wherein executing a preceding instruction, by the processing circuit, suspends the atomic read-only transaction mode.

9. The computer program product of claim 7 , wherein the atomic read-only transaction mode is reset, by the processing circuit, based upon any one or more of:

a completion of execution of a number of instructions specified by the instruction;

execution of a resetting instruction; and

an ending of the transaction.

10. The computer program product of claim 7 , the method further comprising:

suppressing, by the processing unit, a corresponding storage update from being committed at a successful ending of the transaction, upon detecting a conflict with the write-set, wherein the read-only indicator bits of the write-set are active.

11. The computer program product of claim 7 , the method further comprising: committing, by the processing circuit, a write-set of the transaction having corresponding read-only indicator bits active upon detecting a conflict, without waiting for the transaction to end successfully.

12. The computer program product of claim 7 , the method further comprising:

executing, by the processing circuit, an immediately preceding prefix instruction signaling to the instruction to begin execution of the transaction in the atomic read-only transaction mode.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2014
From: GSCHWIND, MICHAEL KARL; SCHWARZ, ERIC M.; SHUM, CHUNG-LUNG K.; SLEGEL, TIMOTHY J.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 033186/0529 →
Continuity (1)
Related Publication 20150378777A1 · Dec 31, 2015