Commit 74cd03d3 authored by Philip Carns's avatar Philip Carns
Browse files

pull in remaining darshan-parser output tables from wiki


git-svn-id: https://svn.mcs.anl.gov/repos/darshan/trunk@526 3b7491f3-a168-0410-bf4b-c445ed680a29
parent e01e4c21
......@@ -113,4 +113,222 @@ of each line:
| "# run time" | run time of the job in seconds
|====
TODO: pick up here.
==== Table of mounted file systems
The next portion of the output shows a table of all general purpose file
systems that were mounted while the job was running. Each line uses the
following format:
----
<device> <mount point> <fs type>
----
The device field is the device ID as reported by the stat() system call.
Note that this device ID may change if the node is rebooted or the file
system is remounted.
==== Format of I/O characterization fields
The remainder of the output will show characteristics for each file that was
opened by the application. Each line uses the following format:
----
<rank> <file name hash> <counter name> <counter value> <file name suffix> <mount point> <fs type>
----
The `<rank>` column indicates the rank of the process that opened the file. A
rank value of -1 indicates that all processes opened the same file. In that
case, the value of the counter represents an aggregate across all processes. The
`<file name hash>` is a 64 bit hash of the file path/name that was opened. It
is used as a way to uniquely differentiate each file. The `<counter name>` is
the name of the statistic that the line is reporting, while the `<counter
value>` is the value of that statistic. The `<file name suffix>` shows the last
11 characters of the file name. The `<mount point>` is the mount point of the
file system that this file belongs to. The `<fs type>` is the type of file
system.
==== I/O characterization fields
The following table shows a list of integer statistics that are available
for each file, along with a description of each.
Unless otherwise noted, counters include all variants of the call in
question, such a `read()`, `pread()`, and `readv()` for CP_POSIX_READS.
[cols="40%,60%",options="header"]
|====
| output line | description
| CP_POSIX_READS | Count of POSIX read operations
| CP_POSIX_WRITES | Count of POSIX write operations
| CP_POSIX_OPENS | Count of how many times the file was opened
| CP_POSIX_SEEKS | Count of POSIX seek operations
| CP_POSIX_STATS | Count of POSIX stat operations
| CP_POSIX_MMAPS | Count of POSIX mmap operations
| CP_POSIX_FREADS | Count of stream read operations
| CP_POSIX_FWRITES | Count of stream write operations
| CP_POSIX_FOPENS | Count of stream open operations
| CP_POSIX_FSEEKS | Count of stream seek operations
| CP_POSIX_FSYNCS | Count of fsync operations
| CP_POSIX_FDSYNCS | Count of fdatasync operations
| CP_INDEP_OPENS | Count of non-collective MPI opens
| CP_COLL_OPENS | Count of collective MPI opens
| CP_INDEP_READS | Count of non-collective MPI reads
| CP_INDEP_WRITES | Count of non-collective MPI writes
| CP_COLL_READS | Count of collective MPI reads
| CP_COLL_WRITES | Count of collective MPI writes
| CP_SPLIT_READS | Count of MPI split collective reads
| CP_SPLIT_WRITES | Count of MPI split collective writes
| CP_NB_READS | Count of MPI non-blocking reads
| CP_NB_WRITES | Count of MPI non-blocking writes
| CP_SYNCS | Count of MPI file syncs
| CP_INDEP_NC_OPENS | Count of independent Parallel NetCDF opens
| CP_COLL_NC_OPENS | Count of collective Parallel NetCDF opens
| CP_HDF5_OPENS | Count of HDF5 opens
| CP_COMBINER_* | Count of each type of MPI datatype (both in memory and in file)
| CP_HINTS | Count of MPI file hints used
| CP_VIEWS | Count of MPI file views used
| CP_MODE | Mode that the file was last opened in
| CP_BYTES_READ | Total number of bytes that were read from the file
| CP_BYTES_WRITTEN | Total number of bytes written to the file
| CP_MAX_BYTE_READ | Highest offset in the file that was read
| CP_MAX_BYTE_WRITTEN | Highest offset in the file that was written
| CP_CONSEC_READS | Number of consecutive reads (that were immediately adjacent to the previous access)
| CP_CONSEC_WRITES | Number of consecutive writes (that were immediately adjacent to the previous access)
| CP_SEQ_READS | Number of sequential reads (at a higher offset than where the previous access left off)
| CP_SEQ_WRITES | Number of sequential writes (at a higher offset than where the previous access left off)
| CP_RW_SWITCHES | Number of times that access toggled between read and write in consecutive operations
| CP_MEM_NOT_ALIGNED | Number of times that a read or write was not aligned in memory
| CP_MEM_ALIGNMENT | Memory alignment value (chosen at compile time)
| CP_FILE_NOT_ALIGNED | Number of times that a read or write was not aligned in file
| CP_FILE_ALIGNMENT | File alignment value (detected at run time)
| CP_MAX_READ_TIME_SIZE | Size of the slowest POSIX read operation
| CP_MAX_WRITE_TIME_SIZE | Size of the slowest POSIX write operation
| CP_SIZE_READ_* | Histogram of read access sizes at POSIX level
| CP_SIZE_READ_AGG_* | Histogram of total size of read accesses at MPI level, even if access is noncontiguous
| CP_EXTENT_READ_* | Histogram of read extents
| CP_SIZE_WRITE_* | Histogram of write access sizes at POSIX level
| CP_SIZE_WRITE_AGG_* | Histogram of total size of write accesses at MPI level, even if access is noncontiguous
| CP_EXTENT_WRITE_* | Histogram of write extents
| CP_STRIDE[1-4]_STRIDE | Size of 4 most common stride patterns
| CP_STRIDE[1-4]_COUNT | Count of 4 most common stride patterns
| CP_ACCESS[1-4]_ACCESS | 4 most common access sizes
| CP_ACCESS[1-4]_COUNT | Count of 4 most common access sizes
| CP_DEVICE | Device ID as reported by stat(); correlates with mount table shown earlier
| CP_SIZE_AT_OPEN | Size of file at first open time
| CP_FASTEST_RANK | The MPI rank of the rank with smallest time spent in I/O
| CP_FASTEST_RANK_BYTES | The number of bytes transferred by the rank with smallest time spent in I/O
| CP_SLOWEST_RANK | The MPI rank of the rank with largest time spent in I/O
| CP_SLOWEST_RANK_BYTES | The number of bytes transferred by the rank with the largest time spent in I/O
|====
The following is a list of floating point statistics that are available for
each file:
[cols="40%,60%",options="header"]
|====
| output line | description
| CP_F_OPEN_TIMESTAMP | Timestamp of first time that the file was opened
| CP_F_CLOSE_TIMESTAMP | Timestamp of the last time that the file was closed
| CP_F_READ_START_TIMESTAMP | Timestamp that the first read operation began
| CP_F_READ_END_TIMESTAMP | Timestamp that the last read operation ended
| CP_F_WRITE_START_TIMESTAMP | Timestamp that the first write operation begin
| CP_F_WRITE_END_TIMESTAMP | Timestamp that the last write operation ended
| CP_F_POSIX_READ_TIME | Cumulative time spent reading at the POSIX level
| CP_F_POSIX_WRITE_TIME | Cumulative time spent in write, fsync, and fdatasync at the POSIX level
| CP_F_POSIX_META_TIME | Cumulative time spent in open, close, stat, and seek at the POSIX level
| CP_F_MPI_META_TIME | Cumulative time spent in open and close at the MPI-IO level
| CP_F_MPI_READ_TIME | Cumulative time spent reading at the MPI-IO level
| CP_F_MPI_WRITE_TIME | Cumulative time spent write and sync at the MPI-IO level
| CP_F_MAX_READ_TIME | Duration of the slowest individual POSIX read operation
| CP_F_MAX_WRITE_TIME | Duration of the slowest individual POSIX write operation
| CP_F_FASTEST_RANK_TIME | The time of the rank which had the smallest amount of time spent in I/O (CP_F_POSIX_READ_TIME + CP_F_POSIX_WRITE_TIME + CP_F_POSIX_META_TIME)
| CP_F_SLOWEST_RANK_TIME | The time of the rank which had the largest amount of time spent in I/O
| CP_F_VARIANCE_RANK_TIME | The population variance for I/O time of all the ranks
| CP_F_VARIANCE_RANK_BYTES | The population variance for bytes transferred of all the ranks
|====
==== Additional summary output
===== Performance
Use the '--perf' option to get performance approximations using four
different computations.
* agg_perf_by_slowest:
Uses the slowest time over all ranks (most accurate but requires newer log
version)
* agg_perf_by_cumul: Sums time counters and divides by nprocs
(inaccurate if lots of variance between procs)
* agg_perf_by_open: The difference between timestamp of open and
close (inaccurate if file is left open without i/o happening)
* agg_perf_by_open_lastio: The difference between timestamp of open and
the timestamp of last i/o
(similar to above but fixes case where file is left open after io is
complete)
.Example output
----
# performance
# -----------
# total_bytes: 4260544914638
# slowest_rank_time: 100.615304
# slowest_rank_meta_time: 85.642247
# shared_time_by_cumul: 55.306259
# shared_time_by_open: 65.125876
# shared_time_by_open_lastio: 65.027973
# shared_meta_time: 3.002117
# agg_perf_by_cumul: 26059.078568
# agg_perf_by_open: 24515.164431
# agg_perf_by_open_lastio: 24529.654039
# agg_perf_by_slowest: 26049.207180
----
===== Files
Use the `--file` option to get totals based on file usage.
The first column is the count of files for that type, the second column is
number of bytes for that type and the third column is the maximum offset
accessed.
* total: All files
* read_only: Files that were only read from
* write_only: Files that were only written to
* unique: Files that were opened on only one rank
* shared: File that were opened by more than one rank
.Example output
----
# files
# -----
# total: 1542 236572244952 154157611
# read_only: 3 133998651 122805519
# write_only: 1539 236438246301 154157611
# read_write: 0 0 0
# unique: 2 11193132 11193063
# shared: 1540 236561051820 154157611
----
===== Totals
Use the `--total` option to get all statistics as an aggregate total.
Statistics that make sense to be aggregated are aggregated. Other statistics
may be a minimum or maximum if that makes sense. Other data maybe zeroed if
it doesn't make sense to aggregate the data.
.Example output
----
total_CP_INDEP_OPENS: 0
total_CP_COLL_OPENS: 196608
total_CP_INDEP_READS: 0
total_CP_INDEP_WRITES: 0
total_CP_COLL_READS: 0
total_CP_COLL_WRITES: 0
total_CP_SPLIT_READS: 0
total_CP_SPLIT_WRITES: 1179648
total_CP_NB_READS: 0
total_CP_NB_WRITES: 0
total_CP_SYNCS: 0
total_CP_POSIX_READS: 983045
total_CP_POSIX_WRITES: 33795
total_CP_POSIX_OPENS: 230918
...
----
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment