File System Virtual Appliances

Abstract

Implementing and maintaining file systems is painful. OS functionality is notoriously difficult to develop and debug, and file systems are more so than most because of their size and interactions with other OS components. In-kernel file systems must adhere to a large number of internal OS interfaces. Though difficult during initial file system development, these dependencies particularly complicate porting a file system to different OSs or even across OS versions. This dissertation describes an architecture that addresses the file system portability problem. Virtual machines are used to decouple the OS on which a file system runs from the OS on which user applications run. The file system is distributed as a file system virtual appliance (FSVA), a virtual machine running the file system developers' preferred OS (version). Users run their applications in a separate virtual machine, using their preferred OS (version). An FSVA design and implementation is described that maintains file system semantics with few, if any, code changes. This is achieved by sending all file system operations from the user OS to the FSVA. A unified buffer cache is maintained by using shared memory between the user OS and FSVA and by letting the user OS control the FSVA's buffer cache size. Features such as resource isolation and security are maintained through a single FSVA-per-user-OS design. Virtual machine migration is supported by simultaneously migrating a user OS and FSVA(s), maintaining shared memory mappings and live migration's low downtime. Several case studies demonstrate FSVAs' effectiveness in providing OS-independent file system implementations. Measurements show that FSVA overheads on different workloads vary from 0-40%. The main overhead source is the communication latency between the user OS and FSVA. If a processor core is dedicated to an FSVA, a power-efficient polling mechanism reduces the overheads to 0-10%.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
May 01, 2010
Accession Number
ADA522564

Entities

People

  • Michael Abd-el-malek

Organizations

  • Carnegie Mellon University

Tags

Communities of Interest

  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Case Studies
  • Computer Access Control
  • Computer Programming
  • Computer Programs
  • Computers
  • Debugging
  • Device Drivers
  • Downtime
  • High Performance Computing
  • Kernels (Operating System)
  • Measurement
  • Operating Systems
  • Prototypes
  • Scheduling (Production)
  • Software Development
  • Virtual Machines
  • Workload

Fields of Study

  • Computer science

Readers

  • Computer Networking
  • Computer Science/Computer Engineering/Data Science/Digital Signal Processing.
  • Life Cycle Cost Analysis