TIMEWINDOWIOSTATS(1)

NAME
       TimeWindowIOstats  -  Produce  report from I/O Time Window
       Summary trace records

SYNOPSIS
       TimeWindowIOstats tracefile

DESCRIPTION
       TimeWindowIOstats generates a temporal summary  report  of
       I/O  activity from Open, Global Open, and Time Window Sum-
       mary trace records in the input SDDF file.  The  necessary
       trace  event  records are produced by the I/O extension to
       the Pablo trace  library  when  the  Time  Window  Summary
       option is enabled.

       As  TimeWindowIOstats is running, it periodically displays
       the number of input trace packets (records)  processed  to
       standard error.  The report output is directed to standard
       out and is 120 characters  wide.   Several  paragraphs  of
       text describing the report contents are included after the
       actual I/O summary information.  The descriptive  text  is
       included  in  a slightly modified form in the section "THE
       REPORT" below.

       If the input file does not include any Open, Global  Open,
       or  Time  Window Summary Trace records, the report will be
       generated without error, but will contain  only  headings.
       If the input file includes Open and/or Global Open records
       but no Time Window Summary records,  the  report  will  be
       generated  but will contain only information on when files
       were opened.  For the report to work  as  intended,  there
       must  be  Time  Window  Summary records in the input trace
       file.

BEFORE RUNNING THE PROGRAM
       The application to be studied must  be  instrumented  with
       the  I/O extension to the Pablo trace library and call the
       function enableTimeWindowSummaries() to generate the trace
       records  needed  as  input  for this program.  The instru-
       mented application is run and one or more trace files  are
       generated  - the number of trace files depends on the num-
       ber of processors used to run the application.

       If there are multiple trace files, they should  be  merged
       with  the  MergePabloTraces(1) program to produce a single
       trace file for the execution  including  information  from
       all  processors.   The  program SyncIOfileIDs(1) should be
       run on the single trace file to synchronize IDs for  files
       that  were  opened more than once by the application.  The
       file generated by SyncIOfileIDs ending in ".syncFiles" can
       be used as input to TimeWindowIOstats.

       It  is  possible  to  run  TimeWindowIOstats and produce a
       report summarizing I/O activity by Time Window on an  SDDF
       input  file  that contains Time Window Summary records but
       which has not been merged and synchronized.  If the appli-
       cation's  trace  files  are not merged and synchronized as
       outlined above, the generated report must  be  interpreted
       accordingly.

       If  the input trace file uses the same fileID for multiple
       file names, an error message is generated and the  program
       exits without finishing the report.

THE REPORT
       The  report generated by TimeWindowIOstats provides a tem-
       poral summary of the  I/O  activity  in  individual  files
       accessed  by processor(s) executing a traced program.  The
       execution time of the program is divided into  "time  win-
       dows"  whose  size is set by the programmer in the initial
       call to enableTimeWindowSummaries().  The time window size
       may  be  adjusted  by  subsequent  calls to setTimeWindow-
       Size().  I/O requests for each file on each processor  are
       summarized  for  each  time window. In addition, summaries
       are produced when files are closed and when the programmer
       calls outputTimeWindowSummaries().

       Details  on  the  I/O  summary information included in the
       report follow:

       A line, "Seconds in Time Window", gives the number of sec-
       onds  in  a  time window as specified by the programmer in
       the application.  The actual seconds included  in  summary
       records is affected by opens, closes, and calls to output-
       TimeWindowSummaries() in addition to  the  specified  time
       window  size.  The first time window begins when time sum-
       maries are initialized and subsequent windows  begin  when
       summaries  are  produced  for  all  open files.  The trace
       library checks to see if execution time has entered a  new
       time window whenever a traced I/O operation occurs.

       Report  lines  with  the  Event Cause "Open" correspond to
       file opens, including global opens for  applications  run-
       ning  on  the Intel Paragon.  All other report lines print
       summary statistics for a given file (indicated by File ID)
       on a given processor (indicated by PE Nmbr) since the last
       report line for that file/processor combination.  An Event
       Cause  column  reports what triggered the summary: "Close"
       indicates the file was closed; "Force"  indicates  output-
       TimeWindowSummaries()  was  called;  "Time"  indicates the
       execution entered a new time window.

       Count, Bytes, and Time columns show the event count, bytes
       involved,  and  seconds  taken  for  read, seek, and write
       requests.  Reads, seeks, and  writes  are  considered  I/O
       access  events.   Asynchronous  reads  and  writes (on the

       Intel iPSC/860 and Paragon systems) are  included  in  the
       read  and  write columns, with the reported seconds corre-
       sponding to the duration of the asynchronous call, not  to
       the time required for the completion of the requested data
       transfer.

       First and Last Byte columns  report  the  first  and  last
       bytes  accessed since the file was opened or the last sum-
       mary was generated.  These will be -1 if no  I/O  accesses
       occurred.

       The  Active Seconds column reports the seconds between the
       first and last I/O access.  This will be 0 if  fewer  than
       two I/O accesses occurred.

       The  Timestamp column gives (in seconds) the time the open
       or summary occurred relative to when tracing  was  enabled
       for the application.

KNOWN PROBLEMS
       The  report  is  not graceful in its handling of different
       time window sizes on  different  processors  of  the  same
       application  run.    The  individual  summary lines of the
       report will be correct, but the "Seconds in  Time  Window"
       lines  will  not  reflect  the  processor(s)  to which the
       reported time window size applies.

       For files accessed in a global  mode,  the  "Seek  Bytes",
       "First  Byte", and "Last Byte" values will often be incor-
       rect.  In particular, on Intel iPSC/860 and  Paragon  sys-
       tems,  these  three values should not be trusted for files
       accessed with an iomode of  M_LOG,  M_SYNC,  M_RECORD,  or
       M_GLOBAL.   The I/O extension to the Pablo instrumentation
       library attempts to  minimize  the  overhead  incurred  in
       gathering file pointer information and does not track file
       pointer positioning correctly when  the  activity  on  one
       processor  affects  the  file  pointer position on another
       processor.  An attempt will be made to address this  prob-
       lem in the next release.

SEE ALSO
       FileRegionIOstats(1), IOstats(1), IOstatsTable(1),
       IOtotalsByPE(1), LifetimeIOstats(1), MergePabloTraces(1),
       SyncIOfileIDs(1)
       Ruth A. Aydt, A User's Guide to Pablo I/O Instrumentation
       Ruth A. Aydt, The Pablo Self-Defining Data Format

COPYRIGHT
       Copyright  1994-1996,  The University of Illinois Board of
       Trustees.

AUTHOR
       Ruth A. Aydt, University of Illinois

Pablo Environment        October 17, 1996