Managing checkpoint queues in a multiple node system
First Claim
1. A method for writing data items to persistent storage, the method comprising the steps of:
- maintaining, within a first node, a first queue of entries that correspond to dirty data items that need to be written to persistent storage;
maintaining, within the first node, a second queue of entries that correspond to dirty data items that need to be written to persistent storage;
in response to determining that a dirty data item, corresponding to a particular entry, needs to be transferred to a node other than said first node, moving said particular entry from said first queue to said second queue;
selecting, at the first node, which data items to write to persistent storage based on which queue, of the first queue and the second queue, an entry for a data item resides in, wherein said selecting gives priority to data items that correspond to entries in said second queue; and
writing, to persistent storage, a particular data item selected based on which queue, of the first queue and the second queue, an entry for the particular data item resides in.
0 Assignments
0 Petitions
Accused Products
Abstract
Techniques are provided for managing caches in a system with multiple caches that may contain different copies of the same data item. Specifically, techniques are provided for coordinating the write-to-disk operations performed on such data items to ensure that older versions of the data item are not written over newer versions, and to reduce the amount of processing required to recover after a failure. Various approaches are provided in which a master is used to coordinate with the multiple caches to cause a data item to be written to persistent storage. Techniques are also provided for managing checkpoints associated with the caches, where the checkpoints are used to determine the position at which to begin processing recovery logs in the event of a failure.
-
Citations
8 Claims
-
1. A method for writing data items to persistent storage, the method comprising the steps of:
-
maintaining, within a first node, a first queue of entries that correspond to dirty data items that need to be written to persistent storage; maintaining, within the first node, a second queue of entries that correspond to dirty data items that need to be written to persistent storage; in response to determining that a dirty data item, corresponding to a particular entry, needs to be transferred to a node other than said first node, moving said particular entry from said first queue to said second queue; selecting, at the first node, which data items to write to persistent storage based on which queue, of the first queue and the second queue, an entry for a data item resides in, wherein said selecting gives priority to data items that correspond to entries in said second queue; and writing, to persistent storage, a particular data item selected based on which queue, of the first queue and the second queue, an entry for the particular data item resides in. - View Dependent Claims (2)
-
-
3. A method for writing data items to persistent storage, the method comprising the steps of:
-
maintaining a forced-write count for each of said data items; incrementing the forced-write count of a data item whenever the data item is written to persistent storage by one node for transfer of the data item to another node; selecting which dirty data items to write to persistent storage based on the write counts associated with the data items; and writing one or more selected dirty data items, which were selected based on the write counts associated with the selected dirty data items, to persistent storage. - View Dependent Claims (4)
-
-
5. A computer-readable medium carrying instructions for writing data items to persistent storage, the instructions, which when executed by one or more processors, causes:
-
maintaining, within a first node, a first queue of entries that correspond to dirty data items that need to be written to persistent storage; maintaining, within the first node, a second queue of entries that correspond to dirty data items that need to be written to persistent storage; in response to determining that a dirty data item, corresponding to a particular entry, needs to be transferred to a node other than said first node, moving said particular entry from said first queue to said second queue; selecting, at the first node, which data items to write to persistent storage based on which queue, of the first queue and the second queue, an entry for a data item resides in, wherein said selecting gives priority to data items that correspond to entries in said second queue; and writing, to persistent storage, a particular data item selected based on which queue, of the first queue and the second queue, an entry for the particular data item resides in. - View Dependent Claims (6)
-
-
7. A computer-readable medium carrying instructions for writing data items to persistent storage, the instructions, which when executed by one or more processors, causes:
-
maintaining a forced-write count for each of said data items; incrementing the forced-write count of a data item whenever the data item is written to persistent storage by one node for transfer of the data item to another node; selecting which dirty data items to write to persistent storage based on the write counts associated with the data items; and writing one or more selected dirty data items, which were selected based on the write counts associated with the selected dirty data items, to persistent storage. - View Dependent Claims (8)
-
Specification