The Case for Active Block Layer Extensions∗

The Case for Active Block Layer Extensions∗

The Case for Active Block Layer Extensions∗ Jorge Guerra, Luis Useche, Medha Bhadkamkar, Ricardo Koller, and Raju Rangaswami School of Computing and Information Sciences, Florida International University {jguerra,luis,medha,rkoll001,raju}@cs.fiu.edu Abstract scribe to this philosophy. Further, the pace of innovation and development of new self-management services1 inside Self-managing storage systems have recently received the operating system is surprisingly slow. attention from the research community due to their We believe that immediate effort is required along two promised ability of continuously adapting to best reflect directions to bring self-managing storage systems into the high-level system goal specifications. However, this even- mainstream. First, there is a need for an operating system tuality is currently being met by both conceptual and prac- software infrastructure that can help standardize the devel- tical challenges that threaten to slow down the pace of opment and deployment of self-management services; such innovation. We argue that two fundamental directions an infrastructure is critical for evolving the kernel-space will help evolve the state of self-managing storage sys- development experience to an acceptable level. This in- tems: (i) a standardized development environment for self- frastructure must also be capable of supporting the integra- management extensions that also addresses ease of de- tion of multiple self-management services inside the oper- ployment, and (ii) a theoretical framework for reason- ating system storage stack so that system administrators can ing about behavioral properties of individual and collec- readily deploy these solutions. Second, there is a need for tive self-management extensions. We propose Active Block theoretical foundations that will allow reasoning about in- Layer Extensions (ABLE), an operating system infrastruc- dividual and collective service behavior and automatically ture that aids the development and manages the deployed compose service stacks based on administrator-defined self- instances of self-management extensions within the storage management policies. Such a theoretical foundation is es- stack. ABLE develops a theory behind block layer exten- sential for addressing the concerns of data consistency and sions that helps address key questions about overall storage reliability in storage systems that continuously learn and stack behavior, data consistency, and reliability. We exem- adapt themselves. plify specific storage self-management solutions that can be In this paper, we make the case for Active Block built as stackable extensions using ABLE. Our initial expe- Layer Extensions (ABLE), an operating system infrastruc- rience with ABLE and few block layer extensions that we ture that simplifies the development and deployment of have been building, leads to believe that the ABLE infras- self-management services within existing storage systems. tructure can substantially simplify the development and de- ABLE is an extension of the block layer inside the op- ployment of robust, self-managing, storage systems. erating system and itself manages a stack of active self- management services. ABLE advocates building self- 1. Introduction management services at the block layer, which exports a logical block interface to storage clients (e.g. file systems, In recent years, the opportunity of utilizing idle or virtual memory, etc.) for accessing an underlying block de- cheaply available computational capability to build active vice. Block layer self-management services automatically intelligence into storage systems has been explored by many inherit several desirable features such as access to both pro- researchers. Such initiatives are steps towards the ulti- cess and device context of I/O operations, a simple interface mate goal of making storage systems self-managing. Self- to build upon, file-system independence as well as accesibil- management solutions hold the potential to simultaneously ity, I/O scheduling services, and easy arbitration of storage improve the functional properties and reduce the overall resources. We shall explore these reasons further in Sec- cost of the storage system. However, despite the present tion 2. interest in building them, there exist few systems that sub- 1To simplify exposition, we use the term service to denote a single self- ∗This research was supported in part by NSF Grants CNS 0747038 and management component within a system that may be composed of several IIS 0534530, and the Department of Energy Grant ER25739. services. While we advocate building self-management services at pendently. The need for a theoretical framework that would the block layer, it is important to clarify that by no means do allow modeling service behavior and analyzing the behavior we suggest that block layer implementations are sufficient of service aggregates was thus identified. or even appropriate for every optimization inside the storage Our position is that developers and administrators who stack. This is especially true for services that are strongly optimize storage systems currently share experiences sim- intertwined with the semantics of other layers. However, ilar to what was just described. We envision the ABLE we do claim that a large set of storage self-management so- project transforming into a concerted effort to address a crit- lutions can be implemented most conveniently at the block ical infrastructure need. We present arguments in favor of layer. Further, as we shall elaborate later, optimizations that the ABLE architectural and design decisions in the rest of specifically operate at the file system layer can leverage the this paper, elaborating on the key elements of the ABLE in- ABLE software infrastructure in a straightforward way. frastructure as we go along. We also outline example ABLE For the sake of perspective, we point out that the ABLE services that we have either developed or which serve as project is necessarily the product of experiences during candidates for future case studies. the development of two block-layer self-management ser- vices [6, 37]. BORG [6] is a self-management service 2. Self-Management at the Block Layer that automatically reorganizes on-disk data layout based on block layer access patterns to improve I/O performance. Storage researchers have innovated at varied layers in the BORG identifies popular sequence of block accesses and storage stack. In this section, we examine the suitability of copies them to a dedicated partition of the disk using lay- each layer of the stack in building self-management solu- outs that best support their relative sequence of access. tions, in terms of information availability, solution general- EXCES [37] is a self-management service that focuses on izability, and implementation complexity. power conservation in storage systems. Specifically, it uses Virtual File System. VFS layer improvements have access alternative low power storage devices (e.g. a compact flash to process- and file- specific access information and to the storage device) as a persistent cache for frequently accessed VFS page cache. Further, improvements are independent of disk blocks so that disk drives can be powered down for the actual file system implementation(s). The VFS layer al- longer durations. ready supports extensibility [32, 42]. However, for storage While these systems confirmed the positive effectiveness self-management solutions, the absence of device-specific and efficiency of implementing intelligence at the block information such as device status and block-level access at- layer, in each case, the development experience was poor. tributes is a critical drawback. It precludes the majority of Apart from the well-known pitfalls in kernel space develop- solutions that operate based primarily on block-level infor- ment, the development task was additionally complicated mation (e.g., fault-tolerance [8, 39], data layout optimiza- because of the multiple control paths in I/O processing, tions [12, 20], etc.). ensuring consistency of data accessed during data move- File System. Innovations inside the file system have ment, handling of non- page/block aligned I/Os, necessity the unique advantage of having access to both file- and to maintain persistent data structures, and many more, to block- level access attributes. File system innovation has realize what would appear as fairly simple tasks (e.g., copy- a long history, with classic contributions such as cylinder ing a set of blocks from one drive location to another). An groups [24], journaling [19], and log structuring [31], to interesting observation, however, was that a significant por- more recent contributions [11, 14, 15, 18, 21, 27, 38]. Un- tion of the non-functional complexity [9] could be encap- fortunately, file system optimizations are often not gen- sulated within a block layer infrastructure. Incidentally, eralizable due to the varied designs and implementations. these non-functional code fragments required deep under- Differences of on-disk data format sometimes inherently standing of I/O handling inside the kernel and were also restrict the adoption of new ideas [31]. Finally, detailed the main source of bugs during development. Specifically, block-level attributes are often hidden behind the logical in the case of the BORG implementation, the significantly block interface (e.g., a RAID or NAS device). more complex 4069 out of the total 7168 lines of code (rep- Block Layer. The block layer provides access to a logical resenting 56.8% of

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    8 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us