The case for active block layer extensions

Self-managing storage systems have recently received attention from the research community due to their promised ability of continuously adapting to best reflect high-level system goal specifications. However, this eventuality is currently being met by both conceptual and practical challenges that threaten to slow down the pace of innovation. We argue that two fundamental directions will help evolve the state of self-managing storage systems: (i) a standardized development environment for self-management extensions that also addresses ease of deployment, and (ii) a theoretical framework for reasoning about behavioral properties of individual and collective self-management extensions. We propose Active Block Layer Extensions (ABLE), an operating system infrastructure that aids the development and manages the deployed instances of self-management extensions within the storage stack. ABLE develops a theory behind block layer extensions that helps address key questions about overall storage stack behavior, data consistency, and reliability. We exemplify specific storage self-management solutions that can be built as stackable extensions using ABLE. Our initial experience with ABLE and few block layer extensions that we have been building, leads to believe that the ABLE infrastructure can substantially simplify the development and deployment of robust, self-managing, storage systems.

[1]  Mendel Rosenblum,et al.  The design and implementation of a log-structured file system , 1991, SOSP '91.

[2]  Jim Zelenka,et al.  RAIDframe: rapid prototyping for disk arrays , 1996, SIGMETRICS '96.

[3]  Andrea C. Arpaci-Dusseau,et al.  Improving file system reliability with I/O shepherding , 2007, SOSP.

[4]  Eric Anderson,et al.  Selecting RAID Levels for Disk Arrays , 2002, FAST.

[5]  Carl Staelin,et al.  The HP AutoRAID hierarchical storage system , 1995, SOSP.

[6]  Brian N. Bershad,et al.  Extensibility safety and performance in the SPIN operating system , 1995, SOSP.

[7]  Eric Anderson,et al.  Proceedings of the Fast 2002 Conference on File and Storage Technologies Hippodrome: Running Circles around Storage Administration , 2022 .

[8]  Garth A. Gibson,et al.  RAID: high-performance, reliable secondary storage , 1994, CSUR.

[9]  Alexander A. Stepanov,et al.  Loge: A Self-Organizing Disk Controller , 1991 .

[10]  Anastasia Ailamaki,et al.  Atropos: A Disk Array Volume Manager for Orchestrated Use of Disks , 2004, FAST.

[11]  Jason Flinn,et al.  Rethink the sync , 2006, OSDI '06.

[12]  Medha Bhadkamkar,et al.  EXCES: External caching in energy saving storage systems , 2008, 2008 IEEE 14th International Symposium on High Performance Computer Architecture.

[13]  Jai Menon,et al.  The architecture of a fault-tolerant cached RAID controller , 1993, ISCA '93.

[14]  Andrea C. Arpaci-Dusseau,et al.  Proceedings of the 2002 Usenix Annual Technical Conference Bridging the Information Gap in Storage Protocol Stacks , 2022 .

[15]  Greg Lehey The Vinum Volume Manager , 1999, USENIX Annual Technical Conference, FREENIX Track.

[16]  Kang G. Shin,et al.  FS2: dynamic data replication in free disk space for improving disk performance and energy consumption , 2005, SOSP '05.

[17]  David S. H. Rosenthal,et al.  Evolving the Vnode interface , 1990, USENIX Summer.

[18]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[19]  Joel H. Saltz,et al.  Active disks: programming model, algorithms and evaluation , 1998, ASPLOS VIII.

[20]  Angelos Bilas,et al.  Violin: a framework for extensible block-level storage , 2005, 22nd IEEE / 13th NASA Goddard Conference on Mass Storage Systems and Technologies (MSST'05).

[21]  Erez Zadok,et al.  Extending File Systems Using Stackable Templates , 1999, USENIX Annual Technical Conference, General Track.

[22]  Andrea C. Arpaci-Dusseau,et al.  Semantically-Smart Disk Systems , 2003, FAST.

[23]  Christos Faloutsos,et al.  Active Storage for Large-Scale Data Mining and Multimedia , 1998, VLDB.

[24]  Arif Merchant,et al.  Minerva: An automated resource provisioning tool for large-scale storage systems , 2001, TOCS.

[25]  Alan Jay Smith,et al.  The automatic improvement of locality in storage systems , 2005, TOCS.

[26]  Miguel de Icaza,et al.  Kernel Korner: The New Linux RAID Code , 1997 .

[27]  Lei Zhang,et al.  Generalized file system dependencies , 2007, SOSP.

[28]  Alan M. Davis,et al.  Software Requirements: Objects, Functions and States , 1993 .

[29]  R. S. Fabry,et al.  A fast file system for UNIX , 1984, TOCS.

[30]  M. Frans Kaashoek,et al.  Embedded Inodes and Explicit Grouping: Exploiting Disk Bandwidth for Small Files , 1997, USENIX Annual Technical Conference.

[31]  Steven Pratt EVMS : A Common Framework for Volume Management , 2010 .

[32]  Carlos Maltzahn,et al.  Ceph: a scalable, high-performance distributed file system , 2006, OSDI '06.

[33]  Erez Zadok,et al.  FIST: a language for stackable file systems , 2000, OPSR.

[34]  Kanishk Jain Object-based Storage , 2022 .

[35]  Rodney Van Meter,et al.  Network attached storage architecture , 2000, CACM.

[36]  Alexander A. Stepanov,et al.  Mime: a high performance parallel storage device with strong recovery guarantees , 1997 .

[37]  Margo I. Seltzer,et al.  Self-monitoring and self-adapting operating systems , 1997, Proceedings. The Sixth Workshop on Hot Topics in Operating Systems (Cat. No.97TB100133).

[38]  Alexander Thomasian Storage Systems , 2009, Encyclopedia of Database Systems.

[39]  Gregory R. Ganger,et al.  Self-* Storage: Brick-based Storage with Automated Administration (CMU-CS-03-178) , 2003 .

[40]  Vagelis Hristidis,et al.  BORG: Block-reORGanization and Self-optimization in Storage Systems , 2007 .

[41]  Barry Phillips,et al.  Have Storage Area Networks Come of Age? , 1998, Computer.

[42]  Robert B. Hagmann,et al.  Reimplementing the Cedar file system using logging and group commit , 1987, SOSP '87.