JUMPSHOT EXAMPLE


 

            Jumpshot-3 is the display program for trace data in scalable log format,  which is designed to store a large number of drawable objects generated from the backend of a parallel program, like MPICH's MPE profiling library. Basically, Jumpshot-3 is a tool to display rectangles which represent the various MPI and user defined states and arrows which represent messages exchanged between those states.

How generating slog file:

        To be able to generate slog file, you have to compile your program with the mpilog option.
In our example the line in the makefile is : mpif77 wave.f -mpilog -o ex_wave
 By default this option will generate during the run a file named ex_wave.clog.
        Be carefull jumpshot-3 can only read slog file; so before compile you have to change the environment variable MPI_LOG_FORMAT to SLOG
To be sure put the following line in your .cshrc: setenv MPI_LOG_FORMAT SLOG
Then make source .cshrc

Using Jumpshot-3
 


                          FIG.1 The Main Control Window of Jumpshot-3



The first window Jumpshot-3 pops up is the Main Control window which is shown in the Fig.1. The File menu tab brings up the file selection menu.Here, doubly click to the right directory where your slog file is located and highlight it as the logfile to be processed, then the path of the logfile relative to the current working directory will be printed in the logfile box, in the middle of the main control window






As soon as the pathname of the logfile appears, the Read button will be enabled. Click on the Read button will display the ``Preview'' of the logfile. (see FIG.3 )

The System menu tab allows a user to choose the specific ``Look & Feel'' for the whole GUI system of jumpshot-3. The Help menu tab provides electronic documentations to jumpshot-3. This includes sub-menu Manual, Tour and About. Manual provides a very brief explanation of all the buttons in jumpshot-3. Tour is the HTML version of this document.About provides the version and contact information for the copy of jumpshot-3 being used.
 
 
 

The goal of the Statistical Preview is to help a user select a frame for viewing purpose. The window is titled ``View & Frame Selector'' window, which is usually called ``Preview'' contains a graphical representation of all the activities going on during the run of your program . It is shown in Fig.3.


FIG.3 The Preview : View & Frame Selector Window.





Assume Connected States in Thread view in ``Preview'' is selected, as soon as user clicks on the Display buttons in the ``View & Frame Selector'' window. A Time Lines window as shown in Fig.4 will pop up. Time Lines window provides a detailed display of the program trace data as a GANTT chart with x-axis as time and y-axis as thread ID. The control buttons in the top panel provide zoom IN and OUT operations around the zoom focus which could be set by putting the cursor at the point of interest on the GANNT chart and press the key ``z''.
 


FIG.4 Time Line window in Thread view




After being zoomed in several times, the Time Line window looks like Figure 5. At this resolution, a lot more details are exposed. For instance, the MPI_send states which are in navy blue in the figure become noticeable. Clicking on any rectangle in the time line canvas will pop up a ``Rectangle Info'' box which contains various information regarding to the subroutine call, like start and end time of the call, various call arguments and instruction address(es) if there are any. Clicking on the ``Rectangle Info'' box again will remove the box from the screen. Also, clicking on the red circle at the end of the arrow will pop up a ``Arrow Info'' box which provides similar function as ``Rectangle Info''.
 


FIG.5 A zoomed in view of the Time LIne window.





 

            Finally, we can compare the two implementations by speed-up. The curves seem to be equivalent.
 
 



 
 
 

TOP