[comp.parallel] Posting

dwk%cs.tufts.edu@RELAY.CS.NET (David W. Krumme) (07/17/89)

>
> I think a useful tool would be something that captured the order
> of "events" to make a MIMD program have a repeatable order of
> execution.  When I am debugging I want a deterministic sequence
> of events.  For example, I want processes to finish tasks in the same order..
>

My research group at Tufts University has developed a set of debugging and 
performance monitoring tools that run on the NCUBE hypercube with a SUN host.
Our tools provide access to performance statistics in real time
while the application program is running, or after the fact in post-mortem
mode, or in a modified post-mortem mode with the program being run in bursts.
Both color graphics displays and ordinary textual displays are provided.
We have recently begun to distribute this software to interested sites.
Anyone interested in more information may write to us collectively at
triplex@cs.tufts.edu (or triplex%cs.tufts.edu@relay.cs.net)  (Don't expect
a reply right away since we will be out of town most of the next month.)

Below is an example of a screen display of an event log.  Processors 0 and 15
were selected for viewing while the program's execution had been temporarily
stopped.  (Up to 8 processors can be viewed at once.)  The events are listed 
one per line, order by their time of occurrence which is printed at the left 
in the form hours:minutes:seconds.fractions which are globally accurate to 
with around .0002 seconds (we believe).  At the bottom of the screen is a 
status line containing a help message.  Some of these events describe 
operating system events and were recorded by the kernel (e.g. Floating 
Underflow, nwrite(...) called), while some were generated by the application 
program (e.g. Finished compute..., Host says...).  The display can be scrolled 
forward and backward through the events.

Unfortunately I cannot also enclose a replica of the color display.
It conveys a much larger amount information in a display that is maintained
in real time during the application program's execution.

David Krumme
Dept. of Computer Science
Tufts University
krumme@cs.tufts.edu

*******************************************************************************
 03:56:18.6098   15 Finished compute, finished this iteration (610)
 03:56:18.6098   15 Starting to send image to host (pass 610)
 03:56:18.6296    0 Location 11D6C: Floating Underflow, set to 0
 03:56:18.6367    0 Finished compute, finished this iteration (610)
 03:56:18.6367    0 Starting to send image to host (pass 610)
 03:56:18.6743   15 nwrite(...) called from 0x12437
 03:56:18.6783   15 nwrite(...) returning
 03:56:18.6783   15 Finished sending image to host (pass 610)
 03:56:18.6784   15 Pass 611, my_row is 2, my_col is 2
 03:56:18.6785   15 nread(...) called from 0x11936
 03:56:18.7444    0 nwrite(...) called from 0x12437
 03:56:18.7479   15 nread(...) returning 0x4
 03:56:18.7479   15 Host says to do 10 steps (pass 611)
 03:56:18.7480   15 Starting data swap with neighbors (pass 611)
 03:56:18.7480   15 nwrite(...) called from 0x119f2
 03:56:18.7482    0 nwrite(...) returning
 03:56:18.7482    0 Finished sending image to host (pass 610)
 03:56:18.7483    0 Pass 611, my_row is 0, my_col is 0
 03:56:18.7484    0 nread(...) called from 0x11936
 03:56:18.7487   15 nwrite(...) returning
 03:56:18.7489   15 nwrite(...) called from 0x11a37
 03:56:18.7491    0 nread(...) returning 0x4
 03:56:18.7492    0 Host says to do 10 steps (pass 611)
 03:56:18.7492    0 Starting data swap with neighbors (pass 611)
 03:56:18.7493    0 nwrite(...) called from 0x119f2
 03:56:18.7497   15 nwrite(...) returning
 03:56:18.7500   15 nwrite(...) called from 0x11aa3
 03:56:18.7500    0 nwrite(...) returning
 03:56:18.7501    0 nwrite(...) called from 0x11a37
 03:56:18.7507   15 nwrite(...) returning
 03:56:18.7510    0 nwrite(...) returning
 03:56:18.7511   15 nwrite(...) called from 0x11b13
 03:56:18.7512    0 nwrite(...) called from 0x11aa3
 03:56:18.7519   15 nwrite(...) returning
 03:56:18.7521   15 nread(...) called from 0x11b5b
 03:56:18.7521    0 nwrite(...) returning
 03:56:18.7524    0 nwrite(...) called from 0x11b13
 03:56:18.7532   15 nread(...) returning 0x80
 03:56:18.7533   15 nread(...) called from 0x11b8f
 03:56:18.7534    0 nwrite(...) returning
 03:56:18.7535    0 nread(...) called from 0x11b5b
 03:56:18.7538   15 nread(...) returning 0x80
 03:56:18.7539   15 nread(...) called from 0x11bc1
 03:56:18.7543    0 nread(...) returning 0x80
 03:56:18.7544   15 nread(...) returning 0x80
 03:56:18.7544    0 nread(...) called from 0x11b8f
 03:56:18.7547   15 nread(...) called from 0x11c34
 03:56:18.7551    0 nread(...) returning 0x80
 03:56:18.7552   15 nread(...) returning 0x80
 03:56:18.7552    0 nread(...) called from 0x11bc1
 03:56:18.7555   15 Finish data swap, starting compute (pass 611)
 -------------------------------------Seenote-------------------------------
 u,U=up  d,D=down  f=forward page  p=previous page  q=quit  h,l=scroll options
*******************************************************************************