Facilitating transaction completion subsequent to repeated aborts of the transaction

US9740549B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9740549-B2
Application numberUS-201213524857-A
CountryUS
Kind codeB2
Filing dateJun 15, 2012
Priority dateJun 15, 2012
Publication dateAug 22, 2017
Grant dateAug 22, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Processing of transactions within a computing environment is facilitated by taking actions to increase the chances of successfully executing a transaction. A counter is maintained that provides a count of how often a transaction has aborted. The counter increments the count each time the transaction is aborted, and it is reset to zero upon successful completion of the transaction or an interruption leading to no more re-executions of the transaction. If the count reaches a threshold value, then an interrupt is presented and transaction execution is unsuccessful. However, before the count reaches the threshold, a number of actions may be taken to increase the chances of successfully executing the transaction. These actions include actions to be performed within the processor executing the transaction, and/or actions to be performed against conflicting processors.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer program product for facilitating processing within a computing environment, said computer program product comprising: a non-transitory computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising: tracking, by a processor of the computing environment, a number of times a transaction executing within the processor aborts, the transaction effectively delaying committing transactional stores to main memory until completion of a selected transaction, and the tracking employing a counter within the processor to track the number of aborts of the transaction; determining whether the transaction has successfully completed, and based on the transaction successfully completing, automatically resetting the counter to a predefined value; based on the transaction aborting, automatically resetting the counter to the predefined value based on an interruption action, wherein the automatically resetting the counter to the predefined value is based on one of the following: reaching by the counter a threshold number of aborts for the transaction causing an interrupt to be presented for the transaction, the counter to track the number of aborts of the transaction; determining the abort of the transaction is due to an interruption; and based on the transaction aborting for a reason other than an interruption, determining whether the counter has reached the threshold number of aborts, and based on the counter not reaching the threshold number of aborts, re-executing the transaction via a transaction begin instruction. 2. The computer program product of claim 1 , wherein the transaction is a constrained transaction having a plurality of restrictions associated therewith, and wherein the transaction begin instruction is a transaction begin constrained instruction. 3. The computer program product of claim 1 , wherein the method further comprises based on the transaction aborting for a reason other than an interruption, determining whether the counter has reached the threshold number of aborts, and based on the counter not reaching the threshold number of aborts, incrementing the counter, and setting a program instruction address to the transaction begin instruction to re-execute the transaction. 4. The computer program product of claim 1 , wherein the method further comprises based on the transaction aborting for a reason other than an interruption, determining whether the counter has reached the threshold number of aborts, and based on the counter not reaching the threshold number of aborts, determining whether an action is to be taken to facilitate successful completion of the transaction on re-execution. 5. The computer program product of claim 4 , wherein the method further comprises: selecting one or more actions based on the determining indicating an action is to be performed; and performing the selected one or more actions. 6. The computer program product of claim 5 , wherein the one or more actions comprise one or more actions of the following actions: disabling branch prediction, disabling speculative instruction fetching, disabling super-scalar dispatching, disabling out-of-order execution, fetching cache misses exclusively, or executing a single instruction through an instruction pipeline. 7. The computer program product of claim 6 , wherein the following actions further comprise using a semaphore to block out one or more other processors. 8. The computer program product of claim 5 , wherein the selecting comprises choosing an action based on one or more of a value of the counter and a reason for the abort. 9. The computer program product of claim 1 , wherein the counter is a hardware counter. 10. A computer system for facilitating processing within a computing environment, said computer 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: tracking, by a processor of the computing environment, a number of times a transaction executing within the processor aborts, the transaction effectively delaying committing transactional stores to main memory until completion of a selected transaction, and the tracking employing a counter within the processor to track the number of aborts of the transaction; determining whether the transaction has successfully completed, and based on the transaction successfully completing, automatically resetting the counter to a predefined value; based on the transaction aborting, automatically resetting the counter to the predefined value based on an interruption action, wherein the automatically resetting the counter to the predefined value is based on one of the following: reaching by the counter a threshold number of aborts for the transaction causing an interrupt to be presented for the transaction, the counter to track the number of aborts of the transaction; determining the abort of the transaction is due to an interruption; and based on the transaction aborting for a reason other than an interruption, determining whether the counter has reached the threshold number of aborts, and based on the counter not reaching the threshold number of aborts, re-executing the transaction via a transaction begin instruction. 11. The computer system of claim 10 , wherein the transaction is a constrained transaction having a plurality of restrictions associated therewith, and the transaction begin instruction is a transaction begin constrained instruction. 12. The computer system of claim 10 , wherein the method further comprises based on the transaction aborting for a reason other than an interruption, determining whether the counter has reached the threshold number of aborts, and based on the counter not reaching the threshold number of aborts, incrementing the counter, and setting a program instruction address to the transaction begin instruction to re-execute the transaction. 13. The computer system of claim 10 , wherein the method further comprises based on the transaction aborting for a reason other than an interruption, determining whether the counter has reached the threshold number of aborts, and based on the counter not reaching the threshold number of aborts, determining whether an action is to be taken to facilitate successful completion of the transaction on re-execution. 14. The computer system of claim 13 , wherein the method further comprises: selecting one or more actions based on the determining indicating an action is to be performed; and performing the selected one or more actions. 15. The computer system of claim 14 , wherein the one or more actions comprise one or more actions of the following actions: disabling branch prediction, disabling speculative instruction fetching, disabling super-scalar dispatching, disabling out-of-order execution, fetching cache misses exclusively, or executing a single instruction through an instruction pipeline. 16. The computer system of claim 15 , wherein the following actions further comprise using a semaphore to block out one or more other processors. 17. The computer system of claim 14 , wherein the selecting comprises choosing an action based on one or more of a value of the counter and a reason for the abort. 18. The computer system of claim 10 , wherein the counter is a hardware counter.

Assignees

Inventors

Classifications

  • G06F11/076Primary

    by exceeding a count or rate limit, e.g. word- or bit count limit · CPC title

  • Physics · mapped topic

  • G06F9/466Primary

    Transaction processing · CPC title

  • using interrupt (G06F13/32 takes precedence) · CPC title

  • within a central processing unit [CPU] · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9740549B2 cover?
Processing of transactions within a computing environment is facilitated by taking actions to increase the chances of successfully executing a transaction. A counter is maintained that provides a count of how often a transaction has aborted. The counter increments the count each time the transaction is aborted, and it is reset to zero upon successful completion of the transaction or an interrup…
Who is the assignee on this patent?
Belmar Brenton F, Jacobi Christian, Philley Randall W, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F11/076. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 22 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).