Enabling end of transaction detection using speculative look ahead

US2016350124A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016350124-A1
Application numberUS-201514722179-A
CountryUS
Kind codeA1
Filing dateMay 27, 2015
Priority dateMay 27, 2015
Publication dateDec 1, 2016
Grant date

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.

A transaction within a computer program or computer application comprises program instructions performing multiple store operations that appear to run and complete as a single, atomic operation. The program instructions forming a current transaction comprise a transaction begin indicator, a plurality of instructions (e.g., store operations), and a transaction end indicator. A near-end of transaction indicator is triggered based on a speculative look ahead operation such that an interfering transaction requiring a halt operation may be delayed to allow the current transaction to end. A halt operation, also referred to as an abort operation, as used herein refers to an operation responsive to a condition where two transactions have been detected to interfere where at least one transaction must be aborted and the state of the processor is reset to the state at the beginning of the aborted transaction by performing a rollback.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method for enabling end of transaction detection using speculative look ahead, the method comprising: setting an indicator to indicate a current transaction is being processed; monitoring a speculative look ahead operation to detect whether an end-transaction instruction corresponding to the current transaction is likely to occur; and responsive to detecting the end-transaction instruction, enabling a near-end-transaction processing mode. 2 . The method of claim 1 , wherein the current transaction comprises a begin-transaction instruction and program instructions immediately following the begin-transaction instruction up to, and including, the end-transaction instruction, wherein the end-transaction instruction corresponds to the begin-transaction instruction. 3 . The method of claim 1 , wherein the speculative look ahead operation comprises decoding one or more program instructions prior to executing the one or more program instructions. 4 . The method of claim 1 , further comprising: receiving a notification of an interference corresponding to the current transaction and a second computer process; and determining an interference action; wherein: the notification of the interference further includes an abort request for the current transaction. 5 . The method of claim 4 , wherein the interference action includes: responsive to a request for a memory location, deferring a response to the request based on the indicating the end-transaction has been detected; and responsive to the notification of an interference, deferring a transaction abort. 6 . The method of claim 5 , further including completing the current transaction; and providing a response to the request when the current transaction has completed. 7 . The method of claim 5 further including determining a possibility of a deadlock; and aborting the current transaction based on the possibility of a deadlock. 8 . The method of claim 1 , wherein enabling the near-end transaction processing mode includes modifying an execution behavior of the current transaction. 9 . The method of claim 8 , wherein modifying the execution behavior includes transmitting a near-end transaction indication. 10 . A computer program product for enabling end of transaction detection using speculative look ahead, the computer program product comprising a computer readable storage medium having stored thereon: first program instructions programmed to set an indicator to indicate a current transaction is being processed; second program instructions programmed to monitor a speculative look ahead operation to detect whether an end-transaction instruction corresponding to the current transaction is likely to occur; and third program instructions programmed to, responsive to detecting the end-transaction instruction, enable a near-end-transaction processing mode. 11 . The computer program product of claim 10 , wherein the current transaction comprises a begin-transaction instruction and program instructions immediately following the begin-transaction instruction up to, and including, the end-transaction instruction, wherein the end-transaction instruction corresponds to the begin-transaction instruction. 12 . The computer program product of claim 10 , wherein the speculative look ahead operation comprises decoding one or more program instructions prior to executing the one or more program instructions. 13 . The computer program product of claim 10 , further comprising: fourth program instructions programmed to receive a notification of an interference corresponding to the current transaction and a second computer process; and fifth program instructions programmed to determine an interference action; wherein: the notification of the interference further includes an abort request for the current transaction. 14 . The computer program product of claim 13 , wherein the interference action includes: sixth program instructions programmed to, responsive to a request for a memory location, deferring a response to the request based on the indicating the end-transaction has been detected; and seventh program instructions programmed to, responsive to the notification of an interference, deferring a transaction abort, 15 . The computer program product of claim 14 , further comprising: eighth program instructions programmed to complete the current transaction; and ninth program instructions programmed to provide a response to the request when the current transaction has completed. 16 . The computer program product of claim 14 , further comprising: eighth program instructions programmed to determine a possibility of a deadlock; and ninth program instructions programmed to abort the current transaction based on the possibility of a deadlock. 17 . A computer system for enabling end of transaction detection using speculative look ahead, the computer system comprising: a processor set; and a computer readable storage medium; wherein: the processor set is structured, located, connected and/or programmed to run program instructions stored on the computer readable storage medium; and the program instructions include: first program instructions programmed to set an indicator to indicate a current transaction is being processed; second program instructions programmed to monitor a speculative look ahead operation to detect whether an end-transaction instruction corresponding to the current transaction is likely to occur; and third program instructions programmed to, responsive to detecting the end-transaction instruction, enable a near-end-transaction processing mode. 18 . The computer system of claim 17 , further comprising: fourth program instructions programmed to receive a notification of an interference corresponding to the current transaction and a second computer process; and fifth program instructions programmed to determine an interference action; wherein: the notification of the interference further includes an abort request for the current transaction. 19 . The computer system of claim 18 , wherein the interference action includes: sixth program instructions programmed to, responsive to a request for a memory location, defer a response to the request based on the indicating the end-transaction has been detected; and seventh program instructions programmed to, responsive to the notification of an interference, defer the abort of the current transaction. 20 . The computer system of claim 18 , further comprising: eighth program instructions programmed to complete the current transaction; and ninth program instructions programmed to provide a response to the request when the current transaction has completed.

Assignees

Inventors

Classifications

  • G06F9/3004Primary

    to perform operations on memory · CPC title

  • Transaction processing · CPC title

  • G06F9/3842Primary

    Speculative instruction execution · CPC title

  • high-strength or high-molecular-weight polyethylene, e.g. ultra-high molecular weight polyethylene [UHMWPE] · CPC title

  • Elastic yarns or threads {; Production of plied or cored yarns, one of which is elastic} · 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 US2016350124A1 cover?
A transaction within a computer program or computer application comprises program instructions performing multiple store operations that appear to run and complete as a single, atomic operation. The program instructions forming a current transaction comprise a transaction begin indicator, a plurality of instructions (e.g., store operations), and a transaction end indicator. A near-end of transa…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/3004. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Dec 01 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).