Logging modifications to a variable in persistent memory
AssigneeHewlett-Packard Development Company, L. P.
InventorsDhruva Chakrabarti, Hans Boehm
Life of this patent
Estimating the term…
Abstract
A log entry is created in persistent memory that represents a modification to a variable that resides in persistent memory. A log entry is created in persistent memory that represents a synchronization operation. A program-order based dynamic ordering relationship is created between two successive log entries within an execution entity. A synchronization-order based dynamic ordering relationship is created between two log entries corresponding to synchronization operations in concurrently executing distinct execution entities of said execution instance.
Claims20
An online, non-blocking method for creating a log structure, for an execution instance of an application, representing modifications to a variable residing in persistent memory and for capturing dynamic ordering relationships among log entries, the method comprising:
- creating a log entry in persistent memory that represents a modification to a variable that resides in persistent memory;
- creating a log entry in persistent memory that represents a synchronization operation;
- creating a program-order based dynamic ordering relationship between two successive log entries within an execution entity;
- and
- creating a synchronization-order based dynamic ordering relationship between two log entries corresponding to synchronization operations in concurrently executing distinct execution entities of said execution instance.
An online, non-blocking system for creating a log structure, for an execution instance of an application, representing modifications to a variable residing in persistent memory and for capturing dynamic ordering relationships among log entries, configured at a granularity of consistent mutually exclusive instruction execution regions, the system comprising:
- a processor;
- and
- a non-transitory computer readable medium comprising instructions executed by the processor to implement at least:
- a log-entry-creation-component to create a log entry in persistent memory that represents a modification to a variable that resides in persistent memory;
- the log-entry-creation-component to create a log entry in persistent memory that represents a synchronization operation;
- a program-order-creation-component to create a program-order based dynamic ordering relationship between two successive log entries within an execution entity;
- and
- a synchronization-order-creation-component to create a synchronization-order based dynamic ordering relationship between two log entries corresponding to synchronization operations in concurrently executing distinct execution entities of said execution instance.
A non-transitory computer readable storage medium having computer-executable instructions stored thereon for causing a computer system to perform an online, non-blocking method for creating a log structure, for an execution instance of an application, representing modifications to a variable residing in persistent memory and for capturing dynamic ordering relationships among log entries, configured at a granularity of consistent mutually exclusive instruction execution regions, the method comprising:
- creating a log entry in persistent memory that represents a modification to a variable that resides in persistent memory;
- creating a log entry in persistent memory that represents a synchronization operation;
- creating a program-order based dynamic ordering relationship between two successive log entries within an execution entity;
- and
- creating a synchronization-order based dynamic ordering relationship between two log entries corresponding to synchronization operations in concurrently executing distinct execution entities of said execution instance.
Dependencies are inferred from the claim text.