Jumpshot is a graphical tool for investigating the behavior of parallel programs. It is a ``post-mortem'' analyzer, taking as input a file of time-stamped events, which we call here a logfile. The file is written by the companion package CLOG, also described here. Jumpshot and CLOG are only loosely coupled by the format of the logfile and may be used independently.
Jumpshot can present multiple views of logfile data. The primary view is a series of timelines, one for each process, showing with colored bars the state of each process at each time. This view can be zoomed and scrolled for close examination of specific times. Other views include histograms of state durations and a ``mountain range'' view showing the aggregate number of processes in each state at each time.
Jumpshot is implemented in Java. Advantages of this approach include portability and network capability (the ability to run as a applet in a Web browser). The choice of Java was also an experiment in exploring the features and capabilities of current Java environments, and we report here on our experiences.
Logfile-based tools similar to Jumpshot have a rich history. Commercial tools include TimeScan  and Vampir , and academic tools that are distributed for use by others include ParaGraph [12,11], TraceView , XPVM , XMPI , and Pablo . Each of these shares some features with Jumpshot, but it is unique in its particular combination of features.
Jumpshot is freely available and is packaged with the MPICH portable implementation of MPI. MPICH can be obtained from http://www.mcs.anl.gov/mpi/mpich. The distribution includes the CLOG logging facility and an MPI profiling library for use with MPI programs. Jumpshot is particularly easy to use with MPICH's compiling and linking scripts .
This paper is organized as follows. In Section Background we give a synopsis of the history of Jumpshot and the requirements that drove its development. In Section Using Jumpshot we present a walkthrough of Jumpshot features. Section Producing Logfiles presents the logging package that accompanies Jumpshot and writes the files Jumpshot reads. We present Java-related issues in Section Experiences with Java . Section Interesting Examples shows a few interesting specific logfiles and illustrates the kinds of insights that can be obtained with such a tool. We conclude with a discussion of opportunities for future research in this area.