Workshop Abstract

A major milestone in the evolution of digital computers was the development of the stored-program concept and the design of Turing-complete machines as opposed to fixed-program computers. Yet, we still treat an increasingly important subsystem of computers largely as a fixed-program computer: file and storage systems. Among the key reasons for this history is the justified fear that (1) any interface changes in file and storage systems will make legacy data inaccessible and locks the data to a particular system and (2) programmability will increase the probability of data loss.

Yet with the advent of open source file systems a new usage pattern emerges: users isolate subsystems of these file systems and put them in contexts not foreseen by original designers. Examples are: (1) an object-based storage back end gets a new RESTful front end to become a Amazon Web Service's S3 compliant key value store, (2) a data placement function is used as a placement function for customer accounts, and (3) the HDF5 scientific data access library is embedded into parallel storage systems. This trend shows a desire for the ability to use existing file system services and compose them to implement new services — a desire, however, that is frequently stumped by the difficulty of bringing new services of advanced functionality up to production quality and sufficiently low probability of data loss. At the same time government and industry are heavily investing into the development of new, extremely scalable, and highly efficient, distributed I/O stacks that largely abandon traditional file and storage system interfaces.

Designing programmability into file and storage systems has the following benefits: (1) we are achieving greater separation of storage performance engineering from storage reliability engineering, making it possible to optimize storage systems in a wide variety of ways without risking years of investments into code hardening; (2) we are creating an environment that encourages people to create a new stack of storage systems abstractions, both domain-specific and across domains, including sophisticated optimizers that rely on machine learning techniques; (3) we are informing commercial parallel file system vendors on the design of low-level APIs for their products so that they match the versatility of open source storage systems without having to release their entire code into open source; and (4) we are using this historical opportunity to leverage the tension between the versatility of open source storage systems and the reliability of proprietary systems to lead the community of storage system designers.


This one-day workshop focusses on frameworks that allow the programmability of file and storage systems while addressing the risks of data interface change. The workshop aims to serve as a venue for leaders in the file system and storage community to exchange ideas outside the tradition of half a century of classic file and storage systems research which focussed on a small set of unchanging interfaces.


Addressing programmability of the non-volatile part of the memory hierarchy, the workshop seeks contributions on relevant topics, included but not limited to:

  1. Programming models

  2. Data interface change management and isolation

  3. Interface metadata management and propagation

  4. Compile-time and runtime storage optimization

  5. Data and task placement in large-scale storage stack

  6. Local and distributed performance management and isolation

  7. Nonstop storage system evolution

Program Committee

John Bent, EMC

André Brinkmann, Johannes Gutenberg-Universität Mainz

Randal Burns, Johns Hopkins University

Phil Carns, Argonne National Laboratory

Yong Chen, Texas Tech University

Toni Cortes, Universitat Politècnica de Catalunya

Evan Felix, Pacific Northwest National Laboratory

Maya Gokhale, Lawrence Livermore National Laboratory

Gary Grider, Los Alamos National Laboratory

Dean Hildebrand, IBM Almaden

Dries Kimpe, Argonne National Laboratory

Scott Klasky, Oak Ridge National Laboratory

Quincey Koziol, HDF Group

Jay Lofstead, Sandia National Laboratory

Barney Maccabe, Oak Ridge National Laboratory

Carlos Maltzahn, University of California at Santa Cruz

Adam Manzanares, HGST

Pat McCormick, Los Alamos National Laboratory

Michael Mesnier, Intel

Kiran-Kumar Muniswamy-Reddy,

Neoklis Polyzotis, University of California at Santa Cruz

Rob Ross, Argonne National Laboratory

Sage Weil, Inktank Storage

Brent Welch, Google

Jon Woodring, Los Alamos National Laboratory


Important PFSW’14 links

  1. Workshop Abstract

  2. Call for Papers

  3. Camera-Ready Instructions

  4. Program

  5. Registration

Update 6/23/14:

Slides and Notes from the Panel are available at the Program

Update 6/22/14:

Proceedings are available at the ACM Digital Library!


1st Programmable File Systems Workshop

held in conjunction with HPDC’14

Chairs: Carlos Maltzahn, UCSC, Pat McCormick, LANL

June 23, 2014, Shaughnessy Salon, Marriott Pinnacle Downtown Hotel, Vancouver, BC, Canada

PFSW’14 Program (with Presentation Slides and Panel Notes)

HPDC’14 Workshop Webpage