A File Is Not a File: Understanding the I/O Behavior of Apple Desktop Applications

We analyze the I/O behavior of iBench, a new collection of productivity and multimedia application workloads. Our analysis reveals a number of differences between iBench and typical file-system workload studies, including the complex organization of modern files, the lack of pure sequential access, the influence of underlying frameworks on I/O patterns, the widespread use of file synchronization and atomic operations, and the prevalence of threads. Our results have strong ramifications for the design of next generation local and cloud-based storage systems.

[1]  Wei Hu,et al.  Scalability in the XFS File System , 1996, USENIX Annual Technical Conference.

[2]  Andrea C. Arpaci-Dusseau,et al.  Analysis and Evolution of Journaling File Systems , 2005, USENIX Annual Technical Conference, General Track.

[3]  Jacob R. Lorch,et al.  A five-year study of file-system metadata , 2007, TOS.

[4]  Margo I. Seltzer,et al.  New NFS Tracing Tools and Techniques for System Analysis , 2003, LISA.

[5]  Randy H. Katz,et al.  A case for redundant arrays of inexpensive disks (RAID) , 1988, SIGMOD '88.

[6]  Shankar Pasupathy,et al.  Measurement and Analysis of Large-Scale Network File System Workloads , 2008, USENIX Annual Technical Conference.

[7]  Hai Jin,et al.  A Case for Redundant Arrays of Inexpensive Disks (RAID) , 2002 .

[8]  John K. Ousterhout,et al.  Why Threads Are A Bad Idea (for most purposes) , 2003 .

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

[10]  Mahadev Satyanarayanan,et al.  A study of file sizes and functional lifetimes , 1981, SOSP.

[11]  Chandramohan A. Thekkath,et al.  Petal: distributed virtual disks , 1996, ASPLOS VII.

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

[13]  MudgeTrevor,et al.  Thread-level parallelism and interactive performance of desktop applications , 2000 .

[14]  Anoop Gupta,et al.  The SPLASH-2 programs: characterization and methodological considerations , 1995, ISCA.

[15]  Krisztián Flautner,et al.  Evolution of thread-level parallelism in desktop applications , 2010, ISCA.

[16]  Werner Vogels,et al.  File system usage in Windows NT 4.0 , 1999, SOSP.

[17]  Mary Baker,et al.  Measurements of a distributed file system , 1991, SOSP '91.

[18]  A. Retrospective,et al.  The UNIX Time-sharing System , 1977 .

[19]  John A. Kunze,et al.  A trace-driven analysis of the UNIX 4.2 BSD file system , 1985, SOSP '85.

[20]  Jeffrey C. Mogul,et al.  A Better Update Policy , 1994, USENIX Summer.

[21]  Mahadev Satyanarayanan,et al.  Scale and performance in a distributed file system , 1987, SOSP '87.

[22]  Bruce R Terry It's all in the numbers. , 2013, Pennsylvania dental journal.

[23]  Werner Vogels,et al.  Dynamo: amazon's highly available key-value store , 2007, SOSP.

[24]  Lisa Spainhower,et al.  Commercial fault tolerance: a tale of two systems , 2004, IEEE Transactions on Dependable and Secure Computing.

[25]  Andrea C. Arpaci-Dusseau,et al.  A File Is Not a File: Understanding the I/O Behavior of Apple Desktop Applications , 2011, TOCS.

[26]  Bryan Cantrill,et al.  Dynamic Instrumentation of Production Systems , 2004, USENIX Annual Technical Conference, General Track.

[27]  W. Vogels File system usage in Windows NT 4.0 , 2000, OPSR.

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

[29]  Ozalp Babaoglu,et al.  ACM Transactions on Computer Systems , 2007 .

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

[31]  Sahota Rk,et al.  It's all in the numbers. , 2009 .

[32]  Andrea C. Arpaci-Dusseau,et al.  IRON file systems , 2005, SOSP '05.

[33]  Thomas E. Anderson,et al.  A Comparison of File System Workloads , 2000, USENIX Annual Technical Conference, General Track.

[34]  Jim Zelenka,et al.  Informed prefetching and caching , 1995, SOSP.

[35]  William J. Bolosky,et al.  A large-scale study of file-system contents , 1999, SIGMETRICS '99.

[36]  Zheng Wang,et al.  Using latency to evaluate interactive system performance , 1996, OSDI '96.

[37]  GhemawatSanjay,et al.  The Google file system , 2003 .

[38]  David A. Goldberg,et al.  Design and Implementation of the Sun Network Filesystem , 1985, USENIX Conference Proceedings.

[39]  Andrea C. Arpaci-Dusseau,et al.  Generating realistic impressions for file-system benchmarking , 2009, TOS.

[40]  K. K. Ramakrishnan,et al.  Analysis of file I/O traces in commercial computing environments , 1992, SIGMETRICS '92/PERFORMANCE '92.