1. 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.