IP Library Granted Patent US 8,281,185
Granted Patent B2
US 8,281,185 · App. 12/494,934 · Granted Oct 2, 2012

Advice-based feedback for transactional execution

Assignee: Oracle America, Inc.
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 8,281,185
App. No.
12/494,934
Granted
Oct 2, 2012
Kind
B2
Abstract

One embodiment provides a system that facilitates the execution of a transaction for a program in a hardware-supported transactional memory system. During operation, the system records a failure state of the transaction during execution of the transaction using hardware transactional memory mechanisms. Next, the system detects a transaction failure associated with the transaction. Finally, the system provides an advice state associated with the recorded failure state to the program to facilitate a response to the transaction failure by the program.

Claims (43)

1. A computer-implemented method for facilitating the execution of a transaction for a program in a hardware-supported transactional memory system, comprising:

recording a failure state of the transaction using at least one failure bit in a set of failure bits in a checkpoint status (CPS) register in a register file during execution of the transaction;

detecting a transaction failure associated with the transaction;

calculating an advice state associated with the recorded failure state by using at least one of a number of cache misses encountered during the transaction, an address associated with the transaction failure, and a processor version associated with the hardware-supported transactional memory system; and

providing the advice state to the program to enable the program to facilitate a response to the transaction failure by the program.

2. The computer-implemented method of claim 1 , wherein the advice state is used by the program to:

retry the transaction;

perform a remedial action to address a source of the transaction failure; or

bypass the transaction.

3. The computer-implemented method of claim 2 , wherein bypassing the transaction failure involves executing an alternative code path provided by software transactional execution mechanisms.

4. The computer-implemented method of claim 2 , wherein bypassing the transaction failure involves executing a critical section while holding a lock.

5. The computer-implemented method of claim 1 , wherein the advice state is recorded in the CPS using at least one advice bit in a set of advice bits in the CPS.

6. The computer-implemented method of claim 5 , wherein the advice bits encode an advice code corresponding to:

no advice;

retry immediately;

retry after a delay;

retry with remediation; or

unlikely to succeed.

7. The computer-implemented method of claim 1 , wherein the advice state is calculated using the failure bits.

8. The computer-implemented method of claim 7 , wherein the advice state is further calculated using at least one of a program counter and a recent transaction attempt.

9. The method of claim 1 , wherein the register file in which the CPS is located is located in a processor that is executing the transaction.

10. A system for facilitating the execution of a transaction for a program in a hardware-supported transactional memory system, comprising:

a storage apparatus configured to record a failure state of the transaction using at least one failure bit in a set of failure bits in a checkpoint status (CPS) register in a register file during execution of the transaction; and

an execution mechanism within a processor, wherein the execution mechanism is configured to:

execute the transaction;

detect a transaction failure associated with the transaction;

calculate an advice state associated with the recorded failure state by using at least one of a number of cache misses encountered during the transaction, an address associated with the transaction failure, and a processor version associated with the hardware-supported transactional memory system; and

provide an advice state associated with the recorded failure state to the program to facilitate a response to the transaction failure by the program.

11. The system of claim 10 , wherein the advice state is used by the program to:

retry the transaction;

perform a remedial action to address a source of the transaction failure; or

bypass the transaction.

12. The system of claim 11 , wherein bypassing the transaction failure involves executing an alternative code path provided by software transactional execution mechanisms.

13. The system of claim 11 , wherein bypassing the transaction failure involves executing a critical section while holding a lock.

14. The system of claim 10 , wherein the advice state is recorded in the CPS using at least one advice bit in a set of advice bits in the CPS.

15. The system of claim 14 , wherein the advice bits encode an advice code corresponding to:

no advice;

retry immediately;

retry after a delay;

retry with remediation; or

unlikely to succeed.

16. The system of claim 10 , wherein the advice state is calculated using the failure bits.

17. The system of claim 16 , wherein the advice state is further calculated using at least one of a program counter and a recent transaction attempt.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037311/0182 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2009
From: NUSSBAUM, DANIEL S.; DICE, DAVID; KARLSSON, MARTIN; MOIR, MARK S.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 023010/0870 →
Continuity (1)
Related Publication 20100332901A1 · Dec 30, 2010