Accession Number : ADA522564


Title :   File System Virtual Appliances


Descriptive Note : Doctoral thesis


Corporate Author : CARNEGIE-MELLON UNIV PITTSBURGH PA DEPT OF ELECTRICAL AND COMPUTER ENGINEERING


Personal Author(s) : Abd-El-Malek, Michael


Full Text : https://apps.dtic.mil/dtic/tr/fulltext/u2/a522564.pdf


Report Date : May 2010


Pagination or Media Count : 128


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%.


Descriptors :   *MAINTENANCE , *DISTRIBUTED DATA PROCESSING , *COMMUNICATIONS PROTOCOLS , *MIGRATION , *MULTIPROCESSORS , *OPERATING SYSTEMS(COMPUTERS) , *COMPUTER ARCHITECTURE , USER NEEDS , BUFFER STORAGE , CASE STUDIES , MEMORY DEVICES , THESES , WORKLOAD , DATA PROCESSING SECURITY , APPLICATION PROGRAMMING INTERFACE


Subject Categories : Computer Programming and Software
      Computer Hardware
      Computer Systems Management and Standards


Distribution Statement : APPROVED FOR PUBLIC RELEASE