David Keppel
University of Washington
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by David Keppel.
measurement and modeling of computer systems | 1994
Bob Cmelik; David Keppel
Tracing tools are used widely to help analyze, design, and tune both hardware and software systems. This paper describes a tool called Shade which combines efficient instruction-set simulation with a flexible, extensible trace generation capability. Efficiency is achieved by dynamically compiling and caching code to simulate and trace the application program. The user may control the extent of tracing in a variety of ways; arbitrarily detailed application state information may be collected during the simulation, but tracing less translates directly into greater efficiency. Current Shade implementations run on SPARC systems and simulate the SPARC (Versions 8 and 9) and MIPS I instruction sets. This paper describes the capabilities, design, implementation, and performance of Shade, and discusses instruction set emulation in general.
measurement and modeling of computer systems | 1990
Susan J. Eggers; David Keppel; Eric J. Koldinger; Henry M. Levy
While much current research concerns multiprocessor design, few traces of parallel programs are available for analyzing the effect of design trade-offs. Existing trace collection methods have serious drawbacks: trap-driven methods often slow down program execution by more than 1000 times, significantly perturbing program behavior; microcode modification is faster, but the technique is neither general nor portable. This paper describes a new tool, called MPTRACE, for collecting traces of multithreaded parallel programs executing on shared-memory multiprocessors. MPTRACE requires no hardware or microcode modification; it collects complete program traces; it is portable; and it reduces execution-time dilation to less than a factor 3. MPTRACE is based on inline tracing, in which a program is automatically modified to produce trace information as it executes. We show how the use of compiler flow analysis techniques can reduce the amount of data collected and therefore the runtime dilation of the traced program. We also discuss problematic issues concerning buffering and writing of trace data on a multiprocessor.
architectural support for programming languages and operating systems | 1991
David Keppel
Applications such as incremental linking must modify instruction space during program execution. Whenever instruction space is modified, machine-dependent systems issues such as instruction caching must be dealt with properly. However, there are no standard idioms for signaling a change to the instruction space. This paper discusses issues for instruction space allocation and coherence, describes a portable interface for modifying instruction space, and examines the details of several implementations of the interface.
Archive | 1993
David Keppel; Susan Eggers; Robert R. Henry
Archive | 2000
David Keppel; Robert Sunnyvale Cmelik; Robert Bedichek
Archive | 1993
David Keppel; Susan Eggers; Robert R. Henry
Archive | 2009
Robert Bedichek; Linus Torvalds; David Keppel
Archive | 1996
David Keppel; Susan J. Eggers
Archive | 1991
David Keppel; Susan Eggers; Robert R. Henry
Archive | 1990
Susan Eggers; David Keppel; Eric J. Koldinger; Henry M. Levy