next up previous
Next: Data Recovery Up: Implementation Overview Previous: Metadata Backup and the

Data Consistency

The I/O trace of scientific applications shows a frequent pattern that multiple clients concurrently access the same files [17]. In CEFT-PVFS, we employ an centralized byte-range locking mechanism to support the multiple-reader single-writer semantics. When the metadata server receives a write request, it looks at the desired portion of the destination file and checks whether this portion has already been locked by any other clients. If nobody locks this portion, the metadata will issue an write-lock to the client to permit the write access. Multiple read-locks can be issued to different read-only requests as long as no conflicting write-lock exists. Deadlock is avoided by using a two-phased locking, in which all locking operations in a transaction precede the first unlock operation [18]. To reduce the overhead of locking, after the clients are granted the access, they continue to hold this access grant for a short period of time in a hope to save the negotiation with the metadata server for the immediate accesses of the same data. This access grant is revoked by the metadata server before the short period expires if other clients are waiting. The centralized management of locking certainly limits the parallelism of I/O operations. However, as discussed in Section V, the metadata server is not likely the bottleneck under our measurements.


next up previous
Next: Data Recovery Up: Implementation Overview Previous: Metadata Backup and the
Yifeng Zhu 2003-10-16