HPC Storage strace Snippet
Strace Report for file: strace.out.18590
Introduction
This report summarizes the statistics in analyzing the strace results for a file. This output allows you examine what the application is doing from an I/O perspective. This report is broken into several sections. In each section a summary of the results is presented and a statistical analysis is made.
Time Statistics
The following results are the overall time statistics for all of the files.
Elapsed Time for run: 3376.81543207 seconds
Total IO Time:: 7.677231 seconds
Total IO Time Counter:: 43787 seconds
Percentage of Total Time = 0.227351 %
I/O Function Count
This section lists the I/O function command count (how many times a particular I/O command is called). Table 1 below contains this information.
Table 1 - I/O Function Command Count
Command | Count |
---|---|
lseek | 3,848 |
close | 72 |
open | 77 |
write | 35,369 |
getdents | 8 |
access | 5 |
fstat | 1,384 |
fcntl | 8 |
stat | 36 |
read | 2,798 |
unlink | 5 |
fsync | 21 |
lseekm | 3,848 |
Write Statistics
This section presents statistical information about the write functions in the application. It focuses on use of the write(2) function in glibc. The pertinent details of the man pages are:
NAME
write - write to a file descriptor
SYNOPSIS
#include
ssize_t write(int fd, const void *buf, size_t count);
DESCRIPTION
write() writes up to
count
bytes from the buffer pointed
buf
to the file referred to by the file descriptor
fd
.
The number of bytes written may be less than count if, for example, there is insufficient space on the underlying physical medium, or the RLIMIT_FSIZE resource limit is encountered (see setrlimit(2)), or the call was interrupted by a signal handler after having written less than count bytes. (See also pipe(7).)
For a seekable file (i.e., one to which lseek(2) may be applied, for example, a regular file) writing takes place at the current file offset, and the file offset is incremented by the number of bytes actually written. If the file was open(2)ed with O_APPEND, the file offset is first set to the end of the file before writing. The adjustment of the file offset and the write operation are performed as an atomic step.
POSIX requires that a read(2) which can be proved to occur after a write() has returned returns the new data. Note that not all file systems are POSIX conforming.
The information and statistics in this section focus on the write() aspects of the application. Both tabular and graphical information is provided.
Table 2 below contains information on the total number of write function calls as a function of the data transfer size. The data is presented in
Table 2 - Total Write Function calls vs. data size
IO Size Range | Total Number of Syscalls |
---|---|
0KB < < 1KB | 30,070 |
1KB < < 8KB | 5,105 |
8KB < < 32KB | 14 |
32KB < < 128KB | 64 |
128KB < < 256KB | 0 |
256KB < < 512KB | 2 |
512KB < < 1MB | 3 |
1MB < < 10MB | 87 |
10MB < < 100MB | 0 |
100MB < < 1GB | 0 |
1GB < < 10GB | 0 |
10GB < < 100GB | 0 |
100GB < < 1TB | 0 |
1TB < < 10TB | 0 |
Statistical overall summary of write functions.
Total number of Bytes written = 216,707,618 (216.707618 MB)
Number of Write function calls = 35,369
Average (mean) bytes per call = 6,131.210016 (bytes) (0.006131 MB)
Standard Deviation bytes per call = 112,719.094422 (bytes) (0.112719 MB)
Mean Absolute Deviation = 116,747.324560 (bytes) (0.116747 MB)
Median Bytes per call = 109 (bytes) (0 MB)
Median Absolute Deviation = 6,083.299392 (bytes) (0.006083 MB)
Time for slowest write function (secs) = 0.084869 Line location in file = 1,485
Smallest write syscall size = 1 (Bytes)
Largest write syscall size = 8,388,608 (Bytes)
Read Statistics
This section presents statistical information about the read functions in the application. It focuses on use of the read(2) function in glibc. The pertinent details of the man pages are:
NAME
read - read from a file descriptor
SYNOPSIS
#include
ssize_t read(int fd, void *buf, size_t count);
DESCRIPTION
read() attempts to read up to count bytes from file descriptor fd into the buffer starting at buf.
If count is zero, read() returns zero and has no other results. If count is greater than SSIZE_MAX, the result is unspecified.
The information and statistics in this section focus on the read() aspects of the application. Both tabular and graphical information is provided.
Table 3 below contains information on the number of read function calls as a function of the data transfer size. The data is presented in
Table 3 - Read Function calls vs. data size
IO Size Range | Total Number of Read Syscalls |
---|---|
0KB < < 1KB | 53 |
1KB < < 8KB | 16 |
8KB < < 32KB | 28 |
32KB < < 128KB | 145 |
128KB < < 256KB | 188 |
256KB < < 512KB | 404 |
512KB < < 1MB | 629 |
1MB < < 10MB | 1,310 |
10MB < < 100MB | 1 |
100MB < < 1GB | 0 |
1GB < < 10GB | 0 |
10GB < < 100GB | 0 |
100GB < < 1TB | 0 |
1TB < < 10TB | 0 |
Overall statistical summary of read functions.
Total number of Bytes read = 2,687,124,647 (2,687.124647 MB)
Number of Read function calls = 2,798
Average (mean) bytes per call = 968,682.280822 (bytes) (0.968682 MB)
Standard Deviation bytes per call = 635,858.277337 (bytes) (0.635858 MB)
Mean Absolute Deviation = 573,916.058117 (bytes) (0.573916 MB)
Median Bytes per call = 938,594 (bytes) (1 MB)
Median Absolute Deviation = 533,627.598053 (bytes) (0.533628 MB)
Time for slowest read function (secs) = 0.041213
Line location in file = 845
Smallest read syscall size = 0 (Bytes)
Largest read syscall size = 10,485,760 (Bytes)
Close Statistics
This section presents statistical information about the close() functions in the application. Below are the statistics across all files in the analysis.
Total number of Close Function Calls = 72
Average time for close function calls (secs) = 2.84166666667e-05
Standard Deviation for close function calls (secs) = 0.000100594586501
Maximum Time for close function (secs) = 0.000793
Line location in file = 6855
Open Statistics
This section presents statistical information about the open() functions.
Total number of Open Function Calls = 77
Average time for open function calls (secs) = 0.000111064935065
Standard Deviation for open function calls (secs) = 0.000460360822282
Maximum Time for open function (secs) = 0.003927
Line location in file = 35665
LSEEK Statistics
This section presents statistical information about the lseek() functions.
Table 4 below contains information on the lseek function usage in various input and output files used by the application.
Table 4 - Lseek Function calls
File | Number of Lseeks |
---|---|
/dev/shm/Intel_MPI_zomd8c | 386 |
/dev/shm/Intel_MPI_zomd8c | 386 |
/etc/ld.so.cache | 386 |
/usr/lib64/libdat.so | 386 |
/usr/lib64/libibverbs.so.1 | 386 |
/etc/dat.conf | 386 |
/etc/ld.so.cache | 386 |
/usr/lib64/libdat.so | 386 |
/usr/lib64/libibverbs.so.1 | 386 |
/etc/dat.conf | 386 |
/etc/ld.so.cache | 386 |
/usr/lib64/libdaplcma.so.1 | 386 |
/usr/lib64/librdmacm.so.1 | 386 |
/proc/stat | 1 |
/proc/stat | 1 |
/dev/null | 1 |
/lustre/icbci001/apps/lsdyna/benchmark-file/tmp/./mes0001 | 1 |
/etc/localtime | 103 |
/dev/shm/Intel_MPI_FlKyRG | 103 |
/dev/shm/Intel_MPI_Nwgmhn | 103 |
/dev/shm/Intel_MPI_Nwgmhn | 103 |
/lustre/icbci001/apps/lsdyna/benchmark-file/tmp/./scr0001 | 103 |
/dev/shm/Intel_MPI_zJIEDn | 3,307 |
/dev/shm/Intel_MPI_zJIEDn | 3,307 |
/dev/shm/Intel_MPI_fDKoDn | 3,307 |
/dev/shm/Intel_MPI_fDKoDn | 3,307 |
. | 3,307 |
./mpptbin0001 | 3,307 |
/lustre/icbci001/apps/lsdyna/benchmark-file/tmp/./scr0001h | 103 |
/lustre/icbci001/apps/lsdyna/benchmark-file/tmp/./scr0001 | 103 |
/lustre/icbci001/apps/lsdyna/benchmark-file/tmp/./scr0001h | 50 |
./disk8.0001 | 50 |
. | 3,307 |
./binout0001 | 3,307 |
./d3full.scr.0001 | 103 |
./runrsf.0001 | 103 |
IOPS Statistics
This section presents statistical information about the IOPS performance while the application was running.
The following statistical data is for the peak and average IOPS. The peak IOPS is defined as the second time interval where the number IOPS is greatest. The average IOPS is defined as the the sum of all IOPS divided by the run time of the application.
Peak Write IOPS = 2,099 time: 66 (secs)
Average Write IOPS = 10.4669623528
Peak Read IOPS = 153 time: 41 (secs)
Average Read IOPS = 0.821484044894
Peak Total IOPS = 2,099 time: 66 (secs)
Average Total IOPS = 12.9056505683