Write Performance in Fault-Tolerant Clustered Storage Systems
First Claim
1. A method comprising:
- integrating a stable memory layer with a page cache layer in a file system to temporarily hold committed data in distributed non-volatile memory of nodes in a cluster;
in response to receiving a synchronous write transaction in the file system, placing data associated with the received write transaction in the layer and replicating the received data within the layer of one or more remote nodes in the cluster;
distinguishing between a master copy of the received data and a replica of the received data, including applying existing cache policies to the master copy of the received data; and
in response to flushing the master copy to persistent storage, invalidating each replica on the one or more remote nodes.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the invention relate to supporting transaction data committed to a stable storage. Committed data in the cluster is stored in the persistent cache layer and replicated and stored in the cache layer of one or more secondary nodes. One copy is designated as a master copy and all other copies are designated as replica, with an exclusive write lock assigned to the master and a shared write lock extended to the replica. An acknowledgement of receiving the data is communicated following confirmation that the data has been replicated to each node designated to receive the replica. Managers and a director are provided to support management of the master copy and the replicas within the file system, including invalidation of replicas, fault tolerance associated with failure of a node holding a master copy, recovery from a failed node, recovered of the file system from a power failure, and transferring master and replica copies within the file system.
22 Citations
9 Claims
-
1. A method comprising:
-
integrating a stable memory layer with a page cache layer in a file system to temporarily hold committed data in distributed non-volatile memory of nodes in a cluster; in response to receiving a synchronous write transaction in the file system, placing data associated with the received write transaction in the layer and replicating the received data within the layer of one or more remote nodes in the cluster; distinguishing between a master copy of the received data and a replica of the received data, including applying existing cache policies to the master copy of the received data; and in response to flushing the master copy to persistent storage, invalidating each replica on the one or more remote nodes. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method comprising:
-
integrating a stable memory layer with a page cache layer in a file system to temporarily hold data committed to a stable storage in non-volatile memory of nodes in a cluster; receiving a synchronous write transaction in the file system, including placing data associated with the transaction in the layer of the file system and replicating received data within the layer; maintaining a master copy and a replica of the received data, the master copy having distinguishing characteristics from the replica; and applying existing cache policies to the master copy of the received data; and invalidating the replica following flushing of the master copy to persistent storage. - View Dependent Claims (8, 9)
-
Specification