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