Gathering and using time measurements in distributed systems

It is often necessary to measure time in distributed computer systems. For example, timestamps are used for measuring the intervals between events (like banking transactions). They are also used for ordering events, as in the generation of transaction logs and debug traces. Perhaps their most common use is in performance evaluation, capacity planning, and the detection of unpredicted delays or bottlenecks. Measuring and using time in a distributed environment presents some unique challenges. This thesis illuminates these problems and presents techniques for the proper measurement and use of time. The first challenge is the clocks themselves. Chapter 3 describes the tradeoff between keeping clocks synchronized and keeping them accurate. The inaccuracies of networked workstation clocks are examined, and two statistical techniques are described for collecting time measurements in spite of these insufficiencies. The second challenge is synchronization. There is often a need to order events occurring on several processors, and to measure the time intervals between those events. Chapter 4 is a workload characterization of message-passing in distributed applications. In the course of this work, a method for generating global event traces was developed to get a system-wide view of message traffic. The message traffic was found to have characteristics similar to those observed in network packet traffic. The third challenge is performance prediction. Programmers need tools to help them understand the interactions between components of a system, and to project the execution time of prospective designs and configurations. Also, operating systems need fast tools to aid scheduling decisions and adaptation of software. We present a technique called benchmark blending that combines the speed of analytic models with the flexibility of benchmarks. Benchmark blending weaves time measurements with modeling techniques to create analytic models that: (1) quickly and accurately predict execution time, (2) implicitly incorporate much of the underlying system complexity, and (3) provide programmers with the needed insight to build efficient applications. We conclude that time measurements are a necessary part of building and studying distributed systems. Their use presents some challenges. This thesis presents solutions for three of those challenges: clock instability, global event descriptions, and performance prediction.

[1]  Mohamed Jamal Zemerly,et al.  A Layered Approach to the Characterisation of Parallel Systems for Performance Prediction , 1993 .

[2]  André Schiper,et al.  A New Algorithm to Implement Causal Ordering , 1989, WDAG.

[3]  Sheldon M. Ross,et al.  Introduction to probability models , 1975 .

[4]  Jeffrey C. Mogul,et al.  Network locality at the scale of processes , 1991, SIGCOMM '91.

[5]  Kishor S. Trivedi,et al.  Performance And Reliability Analysis Of Computer Systems (an Example-based Approach Using The Sharpe Software , 1997, IEEE Transactions on Reliability.

[6]  Butler W. Lampson,et al.  Distributed Systems - Architecture and Implementation, An Advanced Course , 1981, Advanced Course: Distributed Systems.

[7]  Jack Dongarra,et al.  PVM: Parallel virtual machine: a users' guide and tutorial for networked parallel computing , 1995 .

[8]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[9]  David L. Mills,et al.  Improved algorithms for synchronizing computer network clocks , 1995, TNET.

[10]  Patricia Florissi,et al.  On remote procedure call , 1992, CASCON.

[11]  David A. Patterson,et al.  A new approach to I/O performance evaluation: self-scaling I/O benchmarks, predicted I/O performance , 1993, SIGMETRICS '93.

[12]  Gérard M. Baudet,et al.  Optimal Sorting Algorithms for Parallel Computers , 1978, IEEE Transactions on Computers.

[13]  Keith Marzullo,et al.  Maintaining the time in a distributed system , 1985, OPSR.

[14]  Wernhuar Tarng,et al.  Scheduling periodic and aperiodic tasks in hard real-time computing systems , 1991, SIGMETRICS '91.

[15]  Sape J. Mullender,et al.  The Amoeba distributed operating system : selected papers 1984-1987 , 1987 .

[16]  Mary E. Mace Memory storage patterns in parallel processing , 1987, The Kluwer international series in engineering and computer science.

[17]  Walter Willinger,et al.  Statistical analysis of CCSN/SS7 traffic data from working CCS subnetworks , 1994, IEEE J. Sel. Areas Commun..

[18]  Hector Garcia-Molina,et al.  Emulating soft real-time scheduling using traditional operating system schedulers , 1994, 1994 Proceedings Real-Time Systems Symposium.

[19]  Mark Crovella,et al.  The Search for Lost Cycles: A New Approach to Parallel Program Performance Evaluation , 1993 .

[20]  Carey L. Williamson,et al.  Network measurement of the VMTP request-response protocol in the V distributed system , 1987, SIGMETRICS '87.

[21]  David L. Mills A Computer-Controlled LORAN-C Receiver for Precision Timekeeping , 1998 .

[22]  Jim Gray,et al.  A Transaction Model , 1980, ICALP.

[23]  David J. DeWitt,et al.  Parallel algorithms for the execution of relational database operations , 1983, TODS.

[24]  W. Whitt,et al.  The transient BMAP/G/l queue , 1994 .

[25]  J. S. Hunter,et al.  Statistics for experimenters : an introduction to design, data analysis, and model building , 1979 .

[26]  Walter Willinger,et al.  Analysis, modeling and generation of self-similar VBR video traffic , 1994, SIGCOMM.

[27]  Butler W. Lampson,et al.  Atomic Transactions , 1980, Advanced Course: Distributed Systems.

[28]  Mark W. Johnson,et al.  Measuring The Response Time Of Distributed Applications , 1995, Int. CMG Conference.

[29]  Willy Zwaenepoel,et al.  Distributed process groups in the V Kernel , 1985, TOCS.

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

[31]  Peter B. Danzig An analytical model of operating system protocol processing including effects of multiprogramming , 1991, SIGMETRICS '91.

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

[33]  Sally Floyd,et al.  Dynamics of TCP traffic over ATM networks , 1994, SIGCOMM 1994.

[34]  Jeffry A. Schwartz Techniques for Developing a Validated Analytical Model , 1992, Int. CMG Conference.

[35]  G. C. Fox,et al.  Solving Problems on Concurrent Processors , 1988 .

[36]  P. Newman,et al.  Traffic management for ATM local area networks , 1994, IEEE Communications Magazine.

[37]  Peter B. Danzig,et al.  Characteristics of wide-area TCP/IP conversations , 1991, SIGCOMM 1991.

[38]  Ilya Gertner,et al.  Non-intrusive and interactive profiling in parasight , 1988, PPoPP 1988.

[39]  Signal Discretization: A Source of Error in Histograms of Ion Channel Events , 1986, IEEE Transactions on Biomedical Engineering.

[40]  David R. Cheriton,et al.  Understanding the limitations of causally and totally ordered communication , 1994, SOSP '93.

[41]  Sally Floyd,et al.  Wide-area traffic: the failure of Poisson modeling , 1994 .

[42]  Andrew S. Tanenbaum,et al.  A Critique of the Remote Procedure Call Paradigm , 1988 .

[43]  Barbara H. Pendergrass,et al.  Distributed System Analysis Case Study , 1995, Int. CMG Conference.

[44]  Jerry L. Rosenberg A Delicate Balance: The Capacity-Performance Symbiosis , 1995, Int. CMG Conference.

[45]  D. Mitra,et al.  Stochastic theory of a data-handling system with multiple sources , 1982, The Bell System Technical Journal.

[46]  Zaw-Sing Su,et al.  Specification of the Internet Protocol (IP) timestamp option , 1981, RFC.

[47]  Barton P. Miller,et al.  The integration of application and system based metrics in a parallel program performance tool , 1991, PPOPP '91.

[48]  Brian N. Bershad,et al.  Lightweight remote procedure call , 1989, TOCS.

[49]  L. Goldman Sodium channel inactivation from closed states: evidence for an intrinsic voltage dependency. , 1995, Biophysical journal.

[50]  Michael Burrows,et al.  Performance of Firefly RPC , 1989, SOSP '89.

[51]  Brian N. Bershad,et al.  Lightweight remote procedure call , 1990 .

[52]  D. C. Feldmeier,et al.  Improving gateway performance with a routing-table cache , 1988, IEEE INFOCOM '88,Seventh Annual Joint Conference of the IEEE Computer and Communcations Societies. Networks: Evolution or Revolution?.

[53]  Richard Bentley,et al.  An architecture for tailoring cooperative multi-user displays , 1992, CSCW '92.

[54]  Sally Floyd,et al.  Dynamics of TCP traffic over ATM networks , 1994 .

[55]  Peter B. Danzig,et al.  High resolution timing with low resolution clocks and microsecond resolution timer for Sun workstations , 1990, OPSR.

[56]  Colin J. Fidge,et al.  Timestamps in Message-Passing Systems That Preserve the Partial Ordering , 1988 .

[57]  David L. Mills,et al.  On the Accuracy and Stablility of Clocks Synchronized by the Network Time Protocol in the Internet System , 1989, CCRV.

[58]  David R. Cheriton An experiment using registers for fast message-based interprocess communication , 1984, OPSR.

[59]  Kenneth P. Birman,et al.  A response to Cheriton and Skeen's criticism of causal and totally ordered communication , 1994, OPSR.

[60]  C F Starmer,et al.  Managing research data with self-documenting files. , 1987, Computers and biomedical research, an international journal.

[61]  M. J. Quinn,et al.  Analytical performance prediction on multicomputers , 1993, Supercomputing '93.

[62]  Carla Ellis,et al.  A Characterization of Communication Patterns in Isis Distributed Applications , 1995 .

[63]  W. S. Luk,et al.  Performance evaluation of LAN sorting algorithms , 1987, SIGMETRICS '87.

[64]  Kenneth P. Birman,et al.  Fast Causal Multicast , 1991, ACM SIGOPS Oper. Syst. Rev..

[65]  Andrew Birrell Secure communication using remote procedure calls , 1985, TOCS.

[66]  Peter B. Danzig,et al.  Characteristics of wide-area TCP/IP conversations , 1991, SIGCOMM '91.

[67]  Irving L. Traiger,et al.  The notions of consistency and predicate locks in a database system , 1976, CACM.

[68]  Jochen Liedtke,et al.  Improving IPC by kernel design , 1994, SOSP '93.

[69]  Ilya Gertner,et al.  Non-intrusive and interactive profiling in parasight , 1988, PPEALS '88.

[70]  Boudewijn R. Haverkort,et al.  Performance and reliability analysis of computer systems: An example-based approach using the sharpe software package , 1998 .

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

[72]  Kenneth E. Batcher,et al.  Sorting networks and their applications , 1968, AFIPS Spring Joint Computing Conference.

[73]  David M. Lucantoni,et al.  A Markov Modulated Characterization of Packetized Voice and Data Traffic and Related Statistical Multiplexer Performance , 1986, IEEE J. Sel. Areas Commun..

[74]  Raj Jain,et al.  Packet Trains-Measurements and a New Model for Computer Network Traffic , 1986, IEEE J. Sel. Areas Commun..

[75]  Asser N. Tantawi,et al.  Approximate Analysis of Fork/Join Synchronization in Parallel Queues , 1988, IEEE Trans. Computers.

[76]  Akkihebbal L. Ananda,et al.  A survey of remote procedure calls , 1990, OPSR.

[77]  Andrew Birrell,et al.  Implementing remote procedure calls , 1984, TOCS.

[78]  Larry Wall,et al.  Programming Perl , 1991 .

[79]  Robbert van Renesse,et al.  Performance of the world's fastest distributed operating system , 1988, OPSR.

[80]  Daniel A. Menascé,et al.  A Federation-Oriented Capacity Management Methodology For LAN Environments , 1995, Int. CMG Conference.

[81]  Miron Livny,et al.  Condor-a hunter of idle workstations , 1988, [1988] Proceedings. The 8th International Conference on Distributed.

[82]  Thomas F. Conroy,et al.  Computer System Performance , 1975 .

[83]  Hector Garcia-Molina,et al.  Subtask deadline assignment for complex distributed soft real-time tasks , 1994, 14th International Conference on Distributed Computing Systems.

[84]  Gerald Estrin,et al.  Computer System Performance , 1971, IFIP Congress.

[85]  Benoit B. Mandelbrot,et al.  Fractal Geometry of Nature , 1984 .

[86]  David L. Mills A Kernel Model for Precision Timekeeping , 1994, RFC.

[87]  C. Starmer,et al.  Blockade of Cardiac Sodium Channels by Lidocaine Single-Channel Analysis , 1989, Circulation research.

[88]  John L. Hennessy,et al.  Mtool: An Integrated System for Performance Debugging Shared Memory Multiprocessor Applications , 1993, IEEE Trans. Parallel Distributed Syst..

[89]  Kenneth P. Birman,et al.  Fast causal multicast , 1990, EW 4.

[90]  Alan Harbitter Hybrid Techniques in Benchmarking: A Scalable Approach , 1990, Int. CMG Conference.

[91]  Carla Schlatter Ellis,et al.  Clock Instability And Its Effect On Time Intervals In Performance Studies , 1995, Int. CMG Conference.

[92]  Andrzej Duda,et al.  Estimating Global Time in Distributed Systems , 1987, ICDCS.

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

[94]  David J. DeWitt,et al.  A taxonomy of parallel sorting , 1984, CSUR.

[95]  Randy H. Katz,et al.  An analytic performance model of disk arrays , 1993, SIGMETRICS '93.

[96]  Bradford B. Glade,et al.  The Horus System , 1993 .

[97]  P. Ashton Algorithms For Off-line Clock Synchronization , 1995 .

[98]  C F Starmer,et al.  An object oriented user interface for analysis of biological data. , 1990, Computers and biomedical research, an international journal.

[99]  Kenneth P. Birman,et al.  Reliable communication in the presence of failures , 1987, TOCS.

[100]  Paul A. Karger Using registers to optimize cross-domain call performance , 1989, ASPLOS III.

[101]  Walter Willinger,et al.  On the self-similar nature of Ethernet traffic , 1993, SIGCOMM '93.

[102]  Carey L. Williamson Dynamic transport-level connection management in a distributed system , 1989, [1989] Proceedings. 14th Conference on Local Computer Networks.

[103]  Brent B. Welch,et al.  The Sprite Remote Procedure Call System , 1986 .

[104]  David L. Mills Algorithms for synchronizing network clocks , 1985, RFC.