×

Systems and Methods for Constructing Composable Persistent Data Structures

  • US 20160314044A1
  • Filed: 01/05/2016
  • Published: 10/27/2016
  • Est. Priority Date: 04/21/2015
  • Status: Active Grant
First Claim
Patent Images

1. A method, comprising:

  • performing by one or more computing nodes in a system that supports multithreading;

    beginning execution of a multithreaded application that comprises a plurality of operations targeting a concurrent data structure implemented in persistent memory, wherein the concurrent data structure is accessible by a plurality of threads of the multithreaded application;

    performing, on behalf of one or more threads of the application, one or more operations that target the concurrent data structure, wherein, for at least some of the one or more operations, said performing comprises;

    creating an entry in a signal log, wherein the entry represents an invocation of the operation and a state of its response;

    persisting the entry in the signal log;

    persisting the operation on the concurrent data structure in the persistent memory; and

    returning an indication of the state of its response to the thread on whose behalf the operation was performed;

    performing, in response to a failure of a computing node on which the multithreaded application is executing, the persistent memory, or a connection between a computing node on which the multithreaded application is executing and the persistent memory, a recovery operation that returns a respective response for each of at least one other operation that targets the concurrent data structure and for which an entry was created in the signal log;

    wherein the returned responses of each of the one or more operations and the returned respective responses for each of the at least one other operation collectively represent a consistent state of the data structure.

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