We have introduced elastic quotas, a novel disk space management technique that brings elasticity to file systems. Elastic quotas provide traditional persistent file semantics for critical data while providing a new elastic model that is easy to use and matches well with the temporary nature of the vast majority of files. Elastic quotas simplify file system management while providing more efficient utilization of storage space in multi-user computing environments. We have demonstrated the viability of elastic quotas by creating an elastic quota system consisting of the Elastic Quota File System (EQFS) and the rubberd file cleaner. EQFS operates as a thin stackable layer that provides elastic quotas with existing file systems without any modifications to those systems. Rubberd reclaims disk space as needed in a manner that is consistent with user preferences.
We have implemented an elastic quota system in Solaris and measured its performance, finding it to be a low-overhead solution to temporary storage management. Our results show that using EQFS adds very little overhead to existing file systems, with performance on a large parallel compilation within one percent of native file system performance. Our results also show that rubberd storage reclamation on a production file system workload is fast, taking just a couple minutes to clean several gigabytes of elastic files. More importantly, rubberd provides the convenience of automatic file cleaning, relieving users of the burden of this task.
Our experimental results have encouraged us to deploy elastic quotas on a production system to further explore the ways in which users will take advantage of reclaimable space and flexible storage limits. Although we have currently focused on file removal policies for storage reclamation of elastic files, we plan to continue to investigate the benefits of combining file compression and hierarchical storage management techniques with elastic quotas. We hope that elastic quotas will provide a useful foundation for future work in exploring elastic resource management in file systems.