ACM Transactions on Computer Systems (TOCS)
Scale and performance in a distributed file system
ACM Transactions on Computer Systems (TOCS)
Evolution of storage facilities in AIX Version 3 for RISC System/6000 processors
IBM Journal of Research and Development
SIGMOD '91 Proceedings of the 1991 ACM SIGMOD international conference on Management of data
VMS file system internals
Software—Practice & Experience
The logical disk: a new approach to improving file systems
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
The snapshot index: an I/O-optimal access method for timeslice queries
Information Systems
The Zebra striped network file system
ACM Transactions on Computer Systems (TOCS)
Petal: distributed virtual disks
Proceedings of the seventh international conference on Architectural support for programming languages and operating systems
ACM SIGOPS Operating Systems Review
Overview of the Spiralog file system
Digital Technical Journal
Designing a fast, on-line backup system for a log-structured file system
Digital Technical Journal
Efficient distributed backup with delta compression
Proceedings of the fifth workshop on I/O in parallel and distributed systems
The Recovery Manager of the System R Database Manager
ACM Computing Surveys (CSUR)
An Efficient Multiversion Access Structure
IEEE Transactions on Knowledge and Data Engineering
Designing Access Methods for Bitemporal Databases
IEEE Transactions on Knowledge and Data Engineering
Venti: A New Approach to Archival Storage
FAST '02 Proceedings of the Conference on File and Storage Technologies
SnapMirror: File-System-Based Asynchronous Mirroring for Disaster Recovery
FAST '02 Proceedings of the Conference on File and Storage Technologies
PRCS: The Project Revision Control System
ECOOP '98 Proceedings of the SCM-8 Symposium on System Configuration Management
An asymptotically optimal multiversion B-tree
The VLDB Journal — The International Journal on Very Large Data Bases
Passive NFS Tracing of Email and Research Workloads
FAST '03 Proceedings of the 2nd USENIX Conference on File and Storage Technologies
Self-securing storage: protecting data in compromised system
OSDI'00 Proceedings of the 4th conference on Symposium on Operating System Design & Implementation - Volume 4
File system logging versus clustering: a performance comparison
TCON'95 Proceedings of the USENIX 1995 Technical Conference Proceedings
Journaling versus soft updates: asynchronous meta-data protection in file systems
ATEC '00 Proceedings of the annual conference on USENIX Annual Technical Conference
Scalability in the XFS file system
ATEC '96 Proceedings of the 1996 annual conference on USENIX Annual Technical Conference
Wayback: a user-level versioning file system for linux
ATEC '04 Proceedings of the annual conference on USENIX Annual Technical Conference
ShiftFlash: Make flash-based storage more resilient and robust
Performance Evaluation
Using blocks correlations to improve the i/o performance of large network storage system
ISPA'05 Proceedings of the 2005 international conference on Parallel and Distributed Processing and Applications
Extracting flexible, replayable models from large block traces
FAST'12 Proceedings of the 10th USENIX conference on File and Storage Technologies
BVSSD: build built-in versioning flash-based solid state drives
Proceedings of the 5th Annual International Systems and Storage Conference
Hi-index | 0.00 |
Versioning file systems retain earlier versions of modified files, allowing recovery from user mistakes or system corruption. Unfortunately, conventional versioning systems do not efficiently record large numbers of versions. In particular, versioned metadata can consume as much space as versioned data. This paper examines two space-efficient metadata structures for versioning file systems and describes their integration into the Comprehensive Versioning File System (CVFS), which keeps all versions of all files. Journal-based metadata encodes each metadata version into a single journal entry; CVFS uses this structure for inodes and indirect blocks, reducing the associated space requirements by 80%. Multiversion b-trees extend each entry's key with a timestamp and keep current and historical entries in a single tree; CVFS uses this structure for directories, reducing the associated space requirements by 99%. Similar space reductions are predicted via trace analysis for other versioning strategies (e.g., on-close versioning). Experiments with CVFS verify that its current-version performance is similar to that of non-versioning file systems while reducing overall space needed for history data by a factor of two. Although access to historical versions is slower than conventional versioning systems, checkpointing is shown to mitigate and bound this effect.