Automatic transaction coarsening

US9244746B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9244746-B2
Application numberUS-201313956609-A
CountryUS
Kind codeB2
Filing dateAug 1, 2013
Priority dateAug 1, 2013
Publication dateJan 26, 2016
Grant dateJan 26, 2016

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 processing device comprises an instruction execution unit and track and combing logic to combine a plurality of transactions into a single combined transaction. The track and combine logic comprises a transaction monitoring module to monitor an execution of a plurality of transactions by the instruction execution unit, each of the plurality of transactions comprising a transaction begin instruction, at least one operation instruction and a transaction end instruction. The track and combine logic further comprises a transaction combination module to identify, in view of the monitoring, a subset of the plurality of transactions to combine into a single combined transaction for execution on the processing device and to combine the identified subset of the plurality of transactions into the single combined transaction, the single combined transaction comprising a single transaction begin instruction, a plurality of operation instructions corresponding to the subset of the plurality of transactions and a single transaction end instruction.

First claim

Opening claim text (preview).

What is claimed is: 1. A processing device comprising: an instruction execution unit; and a track and combine logic to combine a plurality of transactions into a single combined transaction, the track and combine logic comprising: a transaction monitoring module to monitor an execution of the plurality of transactions by the instruction execution unit, each of the plurality of transactions comprising a transaction begin instruction, at least one operation instruction and a transaction end instruction, wherein to monitor the execution, the transaction monitoring module to track a number of occurrences of each of the plurality of transactions and a number of aborts in the execution of each of the plurality of transactions; and a transaction combination module to identify, in view of the monitoring, a subset of the plurality of transactions to combine into the single combined transaction for execution on the processing device and to combine the identified subset of the plurality of transactions into the single combined transaction, the single combined transaction comprising a single transaction begin instruction, a plurality of operation instructions corresponding to the subset of the plurality of transactions and a single transaction end instruction. 2. The processing device of claim 1 , wherein each of the plurality of transactions comprises a section of code in a computer application program designed to atomically execute on a shared data store. 3. The processing device of claim 1 , wherein to identify the subset of the plurality of transactions to combine into the single combined transaction, the transaction combination module to: compare the number of occurrences of each of the plurality of transactions to a first threshold; and compare a ratio of the number of aborts to the number of occurrences of each of the plurality of transactions to a second threshold. 4. The processing device of claim 3 , wherein the transaction combination module further to: combine the subset of the plurality of transactions into the single combined transaction when the number of occurrences of each of the plurality of transactions is greater than the first threshold and when the ratio of the number of aborts to the number of occurrences of each of the plurality of transactions is less than the second threshold. 5. The processing device of claim 1 , wherein to combine the subset of the plurality of transactions into the single combined transaction, the transaction combination module to ignore each transaction begin instruction and transaction end instruction of the subset of the plurality of transactions except for the single transaction begin instruction and the single transaction end instruction, wherein the single transaction begin instruction comprises the transaction begin instruction of the first transaction in the subset and the single transaction end instruction comprises the transaction end instruction of the last transaction in the subset. 6. The processing device of claim 1 , wherein the subset of the plurality of transactions comprises a number of transactions to reduce overhead associated with the transaction begin instructions and the transaction end instructions and to minimize a likelihood of a conflict with an operation instruction not in the subset of the plurality of transactions. 7. A method comprising: monitoring, by a processing device, an execution of a plurality of transactions on the processing device, each of the plurality of transactions comprising a transaction begin instruction, at least one operation instruction and a transaction end instruction, wherein the monitoring comprises tracking a number of occurrences of each of the plurality of transactions and a number of aborts in the execution of each of the plurality of transactions; identifying, in view of the monitoring, a subset of the plurality of transactions to combine into a single combined transaction for execution on the processing device; and combining, by a track and combine logic in the processing device, the identified subset of the plurality of transactions into the single combined transaction, the single combined transaction comprising a single transaction begin instruction, a plurality of operation instructions corresponding to the subset of the plurality of transactions and a single transaction end instruction. 8. The method of claim 7 , wherein each of the plurality of transactions comprises a section of code in a computer application program designed to atomically execute on a shared data store. 9. The method of claim 7 , wherein identifying the subset of the plurality of transactions to combine into the single combined transaction comprises: comparing the number of occurrences of each of the plurality of transactions to a first threshold; and comparing a ratio of the number of aborts to the number of occurrences of each of the plurality of transactions to a second threshold. 10. The method of claim 9 , further comprising: combining the subset of the plurality of transactions into the single combined transaction when the number of occurrences of each of the plurality of transactions is greater than the first threshold and when the ratio of the number of aborts to the number of occurrences of each of the plurality of transactions is less than the second threshold. 11. The method of claim 7 , wherein combining the subset of the plurality of transactions into the single combined transaction comprises ignoring each transaction begin instruction and transaction end instruction of the subset of the plurality of transactions except for the single transaction begin instruction and the single transaction end instruction, wherein the single transaction begin instruction comprises the transaction begin instruction of the first transaction in the subset and the single transaction end instruction comprises the transaction end instruction of the last transaction in the subset. 12. The method of claim 7 , wherein the subset of the plurality of transactions comprises a number of transactions to reduce overhead associated with the transaction begin instructions and the transaction end instructions and to minimize a likelihood of a conflict with an operation instruction not in the subset of the plurality of transactions. 13. A system comprising: a memory to store program code comprising a plurality of transactions, each of the plurality of transactions comprising a transaction begin instruction, at least one operation instruction and a transaction end instruction; and a processing device; communicably coupled to the memory, the processing device comprising a track and combine logic to: monitor an execution of the plurality of transactions on the processing device, wherein to monitor the execution, the track and combine logic is further to track a number of occurrences of each of the plurality of transactions and a number of aborts in the execution of each of the plurality of transactions; identify, in view of the monitoring, a subset of the plurality of transactions to combine into a single combined transaction for execution on the processing device; and combine the identified subset of the plurality of transactions into the single combined transaction, the single combined transaction comprising a single transaction begin instruction, a plurality of operation instructions corresponding to the subset of the plurality of transactions and a single transaction end instruction. 14. The system of claim 13 , wherein each of the plurality of transactions comprises a section of the program code in a computer application program designed to atomically execute on a shared data

Assignees

Inventors

Classifications

  • G06F9/466Primary

    Transaction processing · CPC title

  • G06F9/526Primary

    Mutual exclusion algorithms · CPC title

  • Transactional memory (G06F9/528 takes precedence) · 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 US9244746B2 cover?
A processing device comprises an instruction execution unit and track and combing logic to combine a plurality of transactions into a single combined transaction. The track and combine logic comprises a transaction monitoring module to monitor an execution of a plurality of transactions by the instruction execution unit, each of the plurality of transactions comprising a transaction begin instr…
Who is the assignee on this patent?
Hughes Christopher J, Yoo Richard M, Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06F9/466. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 26 2016 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).