Long Term Distributed File Reference Tracing: Implementation and Experience" Technical Report CMU-CS

DFSTrace is a system to collect and analyze long-term file reference data in a distributed UNIX workstation environment. The design of DFSTrace is unique in that it pays particular attention to efficiency, extensibility, and the logistics of long-term trace data collection in a distributed environment. The components of DFSTrace are a set of kernel hooks, a kernel buffer mechanism, a data extraction agent, a set of collection servers, and post-processing tools. Our experience with DFSTrace has been highly positive. Tracing has been virtually unnoticeable, degrading performance 3-7%, depending on the level of detail of tracing. We have collected file reference traces from approximately 30 workstations continuously for over two years. We have implemented a post-processing library to provide a convenient programmer interface to the traces, and have created an on-line database of results from a suite of analysis programs to aid trace selection. Our data has been used for a wide variety of purposes, including file system studies, performance measurement and tuning, and debugging. Extensions of DFSTrace have enabled its use in applications such as field reliability testing and determining disk geometry. This paper presents the design, implementation, and evaluation of DFSTrace and associated tools, and describes how they have been used.

[1]  Garth A. Gibson,et al.  Exposing I/O concurrency with informed prefetching , 1994, Proceedings of 3rd International Conference on Parallel and Distributed Information Systems.

[2]  Raj Jain,et al.  The art of computer systems performance analysis - techniques for experimental design, measurement, simulation, and modeling , 1991, Wiley professional computing.

[3]  Randy H. Katz,et al.  An Analysis of File Migration in a UNIX Supercomputing Environment , 1993, USENIX Winter.

[4]  James J. Kistler Disconnected Operation in a Distributed File System , 1995, Lecture Notes in Computer Science.

[5]  Dan Duchamp,et al.  Detection and exploitation of file working sets , 1991, [1991] Proceedings. 11th International Conference on Distributed Computing Systems.

[6]  Mahadev Satyanarayanan,et al.  Log-based directory resolution in the Coda file system , 1993, [1993] Proceedings of the Second International Conference on Parallel and Distributed Information Systems.

[7]  Mahadev Satyanarayanan,et al.  Lightweight recoverable virtual memory , 1993, SOSP '93.

[8]  K. K. Ramakrishnan,et al.  Trace driven analysis of write caching policies for disks , 1993, SIGMETRICS '93.

[9]  Mahadev Satyanarayanan,et al.  A status report on research in transparent informed prefetching , 1993, OPSR.

[10]  Hossein H. Ghannad,et al.  A trace-driven study of CMS file references , 1991, IBM J. Res. Dev..

[11]  Michael B. Jones,et al.  Interposition agents: transparently interposing user code at the system interface , 1994, SOSP '93.

[12]  Gerald J. Popek,et al.  Name Service Locality and Cache Design in a Distributed Operating System , 1986, ICDCS.

[13]  Michael Burrows Efficient data sharing , 1988 .

[14]  John K. Ousterhout,et al.  A trace-driven analysis of name and attribute caching in a distributed system , 1992 .

[15]  Michael Dahlin,et al.  A quantitative analysis of cache policies for scalable network file systems , 1994, SIGMETRICS.

[16]  K. K. Ramakrishnan,et al.  File access characterization of VAX/VMS environments , 1990, Proceedings.,10th International Conference on Distributed Computing Systems.

[17]  Carla Schlatter Ellis,et al.  Directory Reference Patterns in Hierarchical File Systems , 1989, IEEE Trans. Knowl. Data Eng..

[18]  Alan Jay Smith Analysis of Long Term File Reference Patterns for Application to File Migration Algorithms , 1981, IEEE Transactions on Software Engineering.

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

[20]  Jim Griffioen,et al.  Reducing File System Latency using a Predictive Approach , 1994, USENIX Summer.

[21]  Michael B Jones,et al.  Transparently interposing user code at the system interface , 1994, [1992] Proceedings Third Workshop on Workstation Operating Systems.

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

[23]  Mahadev Satyanarayanan,et al.  Scalable, secure, and highly available distributed file access , 1990, Computer.

[24]  Alan Jay Smith,et al.  A File System Tracing Package for Berkeley UNIX , 1985 .

[25]  Mahadev Satyanarayanan,et al.  Scale and performance in a distributed file system , 1988, TOCS.

[26]  Geoffrey H. Kuenning,et al.  An Analysis of Trace Data for Predictive File Caching in Mobile Computing , 1994, USENIX Summer.

[27]  Rick Floyd,et al.  Directory Reference Patterns in a UNIX Environment. , 1986 .

[28]  Steve R. Kleiman,et al.  Vnodes: An Architecture for Multiple File System Types in Sun UNIX , 1986, USENIX Summer.

[29]  Rick Floyd Short-Term File Reference Patterns in a UNIX Environment, , 1986 .

[30]  K. Korner,et al.  Intelligent caching for remote file service , 1990, Proceedings.,10th International Conference on Distributed Computing Systems.

[31]  Mahadev Satyanarayanan,et al.  Coda: A Highly Available File System for a Distributed Workstation Environment , 1990, IEEE Trans. Computers.

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

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

[34]  Mahadev Satyanarayanan,et al.  Distributed file systems , 1990 .

[35]  Mahadev Satyanarayanan,et al.  Disconnected operation in the Coda File System , 1992, TOCS.

[36]  Carl Staelin,et al.  File system design using large memories , 1990, Proceedings of the 5th Jerusalem Conference on Information Technology, 1990. 'Next Decade in Information Technology'.

[37]  Michael N. Nelson,et al.  Caching in the Sprite network file system , 1988, TOCS.

[38]  Bruce Walker,et al.  The LOCUS distributed operating system , 1983, SOSP '83.

[39]  William J. Bolosky,et al.  Mach: A New Kernel Foundation for UNIX Development , 1986, USENIX Summer.

[40]  Alan Jay Smith,et al.  Long term file migration: development and evaluation of algorithms , 1981, CACM.

[41]  David L. Mills,et al.  Internet time synchronization: the network time protocol , 1991, IEEE Trans. Commun..

[42]  Edward Preble Stritter,et al.  File migration , 1976 .

[43]  Shikharesh Majumdar,et al.  Measurement and analysis of locality phases in file referencing behaviour , 1986, SIGMETRICS '86/PERFORMANCE '86.

[44]  Juan M. Porcar File migration in distributed computer systems , 1982, Perform. Evaluation.

[45]  Joseph Pasquale,et al.  A high performance multi-structured file system design , 1991, SOSP '91.

[46]  Samuel J. Leffler,et al.  The design and implementation of the 4.3 BSD Unix operating system , 1991, Addison-Wesley series in computer science.

[47]  J. C. Browne,et al.  Trace driven modeling: Review and overview , 1973, ANSS '73.

[48]  Duncan H. Lawrie,et al.  Experiments with Automatic File Migration , 1982, Computer.

[49]  Mahadev Satyanarayanan,et al.  An Empirical Study of a Highly Available File System , 1994, SIGMETRICS.

[50]  Lawrence C. Stewart,et al.  Firefly: a multiprocessor workstation , 1987, ASPLOS 1987.

[51]  Mahadev Satyanarayanan,et al.  The ITC distributed file system: principles and design , 1985, SOSP 1985.

[52]  Maria Ebling,et al.  SynRGen: an extensible file reference generator , 1994, SIGMETRICS.

[53]  Maria Ebling,et al.  Exploiting weak connectivity for mobile file access , 1995, SOSP.