Method for memory consistency among heterogeneous computer components

US9361118B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9361118-B2
Application numberUS-201414275271-A
CountryUS
Kind codeB2
Filing dateMay 12, 2014
Priority dateMay 13, 2013
Publication dateJun 7, 2016
Grant dateJun 7, 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 method, computer program product, and system is described that determines the correctness of using memory operations in a computing device with heterogeneous computer components. Embodiments include an optimizer based on the characteristics of a Sequential Consistency for Heterogeneous-Race-Free (SC for HRF) model that analyzes a program and determines the correctness of the ordering of events in the program. HRF models include combinations of the properties: scope order, scope inclusion, and scope transitivity. The optimizer can determine when a program is heterogeneous-race-free in accordance with an SC for HRF memory consistency model. For example, the optimizer can analyze a portion of program code, respect the properties of the SC for HRF model, and determine whether a value produced by a store memory event will be a candidate for a value observed by a load memory event. In addition, the optimizer can determine whether reordering of events is possible.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: receiving a portion of program code, the portion having a first thread and a second thread; identifying a store memory event associated with the first thread and a load memory event associated with the second thread, wherein the store memory event and the load memory share a same variable; and determining, in accordance with a memory consistency model, when a program is heterogeneous-race-free due to a release synchronization event associated with the first thread and an acquire synchronization event associated with the second thread, the memory consistency model having a property of scope order, scope inclusion, scope transitivity or combination thereof, wherein the determining in accordance with the memory consistency model includes determining a correctness with regard to an ordering in program code of the release synchronization event and the acquire synchronization event and wherein the properties of the scope order, scope inclusion, and scope transitivity are defined based upon a capability of a system on which program code is being executed. 2. The method of claim 1 , wherein the scope order comprises a strong scope order or a weak scope order. 3. The method of claim 1 , wherein the scope order is a weak scope order, and the release synchronization event and the acquire synchronization event share a same scope. 4. The method of claim 1 , wherein the scope order is a strong scope order, and both scope inclusion and scope transitivity are present in the memory consistency model. 5. The method of claim 1 , wherein the scope order is a strong scope order, and scope transitivity is present in the memory consistency model. 6. The method of claim 1 , wherein the scope order is a weak scope order, and scope transitivity is present in the memory consistency model. 7. The method of claim 1 , wherein the scope order is a strong scope order, and scope inclusion is present in the memory consistency model. 8. A non-transitory computer-readable storage device having stored thereon instructions, execution of which, by a processing unit, cause the processing unit to perform operations comprising: receiving a portion of program code, the portion having a first thread and a second thread; identifying a store memory event associated with the first thread and a load memory event associated with the second thread, wherein the store memory event and the load memory share a same variable; and determining, in accordance with a memory consistency model, when a program is heterogeneous-race-free due to a release synchronization event associated with the first thread and an acquire synchronization event associated with the second thread, the memory consistency model having a property of scope order, scope inclusion, scope transitivity or combination thereof, wherein the determining in accordance with the memory consistency model includes determining a correctness with regard to an ordering in program code of the release synchronization event and the acquire synchronization event and wherein the properties of the scope order, scope inclusion, and scope transitivity are defined based upon a capability of a system on which program code is being executed. 9. The non-transitory computer-readable storage device of claim 8 , wherein the scope order comprises a strong scope order or a weak scope order. 10. The non-transitory computer-readable storage device of claim 8 , wherein the scope order is a weak scope order, and the release synchronization event and the acquire synchronization event share a same scope. 11. The non-transitory computer-readable storage device of claim 8 , wherein the scope order is a strong scope order, and both scope inclusion and scope transitivity are present in the memory consistency model. 12. The non-transitory computer-readable storage device of claim 8 , wherein the scope order is a strong scope order and scope transitivity is present in the memory consistency model. 13. The non-transitory computer-readable storage device of claim 8 , wherein the scope order is a weak scope order and scope transitivity is present in the memory consistency model. 14. The non-transitory computer-readable storage device of claim 8 , wherein the scope order is a strong scope order and scope inclusion is present in the memory consistency model. 15. A processing unit comprising one or more compute units configured to: receive a portion of program code, the portion having a first thread and a second thread; identify a store memory event associated with the first thread and a load memory event associated with the second thread, wherein the store memory event and the load memory share a same variable; and determine, in accordance with a memory consistency model, when a program is heterogeneous-race-free due to a release synchronization event associated with the first thread and an acquire synchronization event associated with the second thread, the memory consistency model having a property of scope order, scope inclusion, scope transitivity or combination thereof, wherein the determination in accordance with the memory consistency model includes the one or more compute units configured to determine a correctness with regard to an ordering in program code of the release synchronization event and the acquire synchronization event and wherein the properties of the scope order, scope inclusion, scope transitivity are defined based upon a capability of a system on which program code is being executed. 16. The processing unit of claim 15 , wherein the scope order comprises a strong scope order or a weak scope order. 17. The processing unit of claim 16 , wherein the scope order is a strong scope order, and both scope inclusion and scope transitivity are present in the memory consistency model. 18. The processing unit of claim 16 , wherein the scope order is a strong scope order and scope transitivity is present in the memory consistency model. 19. The processing unit of claim 16 , wherein the scope order is a weak scope order and scope transitivity is present in the memory consistency model. 20. The processing unit of claim 15 , wherein the scope order is a weak scope order, and the release synchronization event and the acquire synchronization event share a same scope.

Assignees

Inventors

Classifications

  • G06F9/44Primary

    Arrangements for executing specific programs · CPC title

  • Barrier synchronisation · CPC title

  • Deadlock detection or avoidance · CPC title

  • Consistency (cache consistency protocols in hierarchically structured memory systems G06F12/0815) · CPC title

  • Program synchronisation; Mutual exclusion, e.g. by means of semaphores · 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 US9361118B2 cover?
A method, computer program product, and system is described that determines the correctness of using memory operations in a computing device with heterogeneous computer components. Embodiments include an optimizer based on the characteristics of a Sequential Consistency for Heterogeneous-Race-Free (SC for HRF) model that analyzes a program and determines the correctness of the ordering of event…
Who is the assignee on this patent?
Advanced Micro Devices Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/44. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 07 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).