×

Enhancing weak consistency

  • US 9,594,667 B2
  • Filed: 12/11/2014
  • Issued: 03/14/2017
  • Est. Priority Date: 10/09/2014
  • Status: Active Grant
First Claim
Patent Images

1. A method to discover errors in a parallel application comprising a plurality of threads executed on a computing system, comprising:

  • scanning, by a debugger, a program code of the parallel application;

    setting a respective breakpoint in the program code of the parallel application at each;

    (i) sync instruction in the program code, and (ii) instruction determined to stall execution of the program code, wherein the debugger is configured to switch execution from a first thread of the plurality of threads of the parallel application to a second thread of the plurality of threads of the parallel application upon encountering one of the breakpoints in the program code;

    executing, by the debugger, the first thread comprising;

    upon determining that a first instruction in the first thread specifies to store a first value at a first memory address;

    setting a current value stored in the first memory address as an old value for the first memory address in a container for the first thread;

    executing the first instruction to store the first value at the first memory address; and

    setting the first value as a new value for the first memory address in the container for the first thread, wherein the container for the first thread specifies a new value and an old value for each of a plurality of memory addresses including the first memory address; and

    executing, by the debugger, a second thread, comprising;

    restoring each old value for the plurality of memory addresses in the container for the first thread to the respective memory address specified in the container for the first thread; and

    restoring a new value for each of a plurality of memory addresses specified in a container for the second thread to the respective memory address specified in the container for the second thread.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×