[Paper Review] File system on CRDT
This paper proposes a layered CRDT-based approach to ensure strong eventual consistency in optimistically replicated distributed file systems. By modeling the file system as a CRDT tree and using separate layers for conflict resolution—particularly for naming conflicts—it enables automatic resolution of concurrent file additions while allowing developers to choose policies for handling conflicts, though at the cost of potential name changes or manual user intervention in edge cases.
In this report we show how to manage a distributed hierarchical structure representing a file system. This structure is optimistically replicated, each user work on his local replica, and updates are sent to other replica. The different replicas eventually observe same view of file systems. At this stage, conflicts between updates are very common. We claim that conflict resolution should rely as little as possible on users. In this report we propose a simple and modular solution to resolve these problems and maintain data consistency.
Motivation & Objective
- To address the challenge of maintaining strong eventual consistency in optimistically replicated distributed file systems where concurrent updates lead to conflicts.
- To minimize user involvement in conflict resolution by automating resolution through CRDTs and modular layers.
- To provide a flexible, extensible architecture where different conflict resolution strategies can be applied independently to specific types of conflicts.
- To ensure that all replicas converge to the same file system state despite concurrent, potentially conflicting operations.
- To support disconnected operation and real-time collaboration without requiring exclusive locks or centralized coordination.
Proposed method
- Modeling the file system as a hierarchical CRDT tree using set-based CRDTs to represent directory contents and ensure convergence.
- Introducing a 'compact' policy layer that maps file paths from different replicas into a consistent global view using path adaptation.
- Applying a 'resolve name' layer to handle naming conflicts by either renaming conflicting files with origin metadata or merging based on file type-specific algorithms.
- Using incremental or non-incremental computation to maintain the final consistent tree view, with conflict detection triggered on update operations.
- Supporting both state-based and operation-based CRDT semantics through path adaptation and policy application.
- Allowing developers to select from multiple conflict resolution strategies (e.g., automatic merge, renaming, manual selection) per conflict type.
Experimental results
Research questions
- RQ1How can a distributed file system maintain strong eventual consistency under optimistic replication with concurrent updates?
- RQ2What mechanisms can automatically resolve naming conflicts when two users concurrently create files with the same name in the same directory?
- RQ3How can CRDTs be composed in layers to isolate and manage different types of conflicts (e.g., add/remove, name conflicts) independently?
- RQ4What trade-offs arise when using automatic conflict resolution versus requiring user intervention in file system replication?
- RQ5How can a consistent, user-visible file system tree be reconstructed from divergent, locally updated replicas?
Key findings
- The layered CRDT architecture successfully ensures strong eventual consistency across replicas by isolating and resolving conflicts in a modular way.
- The 'compact' policy enables consistent path mapping across replicas, even when updates originate from different locations, by adapting paths to a canonical form.
- The naming layer resolves concurrent file additions by either automatically merging compatible files (e.g., same type and mergeable content) or renaming files with origin metadata to prevent ambiguity.
- File name changes during conflict resolution may occur, which can lead to user confusion when conflicts resolve, indicating a usability trade-off.
- The system supports both incremental and non-incremental view computation, allowing flexibility in performance and consistency trade-offs.
- Despite automation, some conflicts still require user input, highlighting the need for awareness mechanisms to inform users of automatic decisions.
Better researchstarts right now
From reading papers to final review, dramatically reduce your research time.
No credit card · Free plan available
This review was created by AI and reviewed by human editors.