标头
darshan-parser 输出的开头显示了有关作业的总体信息的摘要。还可以使用–perf、–file或–total命令行选项生成其他作业级别摘要信息。
- darshan log version:Darshan 日志文件的内部版本号。
- compression method:压缩方法。
- exe:生成日志文件的可执行文件的名称。
- uid:作业运行时的用户ID。
- jobid:来自调度程序的作业ID。
- start_time:作业的开始时间(自纪元以来的秒数)。
- start_time_asci:作业的开始时间,采用人类可读的格式。
- end_time:作业的结束时间,自纪元以来的秒数。
- end_time_asci:作业的结束时间,采用人类可读的格式。
- nprocs:MPI 进程数。
- run time:作业的运行时间(以秒为单位)。
日志文件区域大小
解析器输出的下一部分显示给定日志文件中包含的每个区域的大小。每个日志文件将包含以下区域:
- header:恒定大小的未压缩标头,提供有关如何正确访问日志的数据。
- 作业数据:日志的作业级元数据(例如,开始/结束时间和 exe 名称)。
- 记录表:将 Darshan记录标识符映射到完整文件名路径的表。
- 模块数据:每个模块(例如,POSIX、MPI-IO 等)将其 I/O 特征数据存储在日志的不同区域中。
除标头外,日志文件的所有区域都经过压缩(采用 libz 或 bzip2 格式)。
已挂载的文件系统表
输出的下一部分显示了作业运行时安装的所有通用文件系统的表。每行使用以下格式:
<mount point> <fs type>
I/O 特征字段的格式
输出的其余部分将显示应用程序打开的每个文件的特征。每行使用以下格式:
<module> <rank> <record id> <counter name> <counter value> <file name> <mount point> <fs type>
module:指定负责记录这条I/O特征数据的模块。
rank:指示打开文件的进程的等级。等级值为 -1 表示文件在所有进程间共享,并且统计信息被聚合。
record id:是打开的文件路径/名称的 64 位哈希值。它用作唯一区分每个文件的方法。
counter name和counter value:统计计数器。值 -1 表示 Darshan 无法收集该特定计数器的统计信息,并且应忽略该值。
file name:字段显示记录对应的完整文件名。
mount point:该文件所属文件系统的挂载点
fs type:该文件系统的类型。
I/O特征字段
1.POSIX模块
-
POSIX_*:POSIX操作计数。
-
READS、WRITES、OPENS、SEEKS、STATS、MMAPS、SYNCS、FILENOS、DUPS是操作类型。
-
POSIX_RENAME_SOURCES/TARGETS:此文件作为重命名操作源/操作目标的次数
-
POSIX_RENAMED_FROM:如果文件是重命名目标,则第一个重命名源的Darshan记录ID
-
POSIX_MODE:打开文件的模式。
-
POSIX_BYTES_*:读取和写入的总字节数。
-
POSIX_MAX_BYTE_*:读取和写入的最高偏移字节。
-
POSIX_CONSEC_*:与上次访问紧邻的读写次数。
-
POSIX_SEQ_*:从增加的偏移量读取和写入的次数。
-
POSIX_RW_SWITCHES:在读取和写入之间交替访问的次数。
-
POSIX_*_ALIGNMENT:内存和文件对齐。
-
POSIX_*_NOT_ALIGNED:未对齐的读写次数。
-
POSIX_MAX_*_TIME_SIZE:最慢的读写操作的大小。
-
POSIX_SIZE__:读取和写入访问大小的直方图。
-
POSIX_STRIDE*_STRIDE:检测到的四个最常见的步幅。
-
POSIX_STRIDE*_COUNT:四个最常见步幅的计数。
-
POSIX_ACCESS*_ACCESS:四种最常见的访问大小。
-
POSIX_ACCESS*_COUNT:四种最常见的访问大小的计数。
-
POSIX_*_RANK:I/O速度最快和最慢的进程的级别(对于共享文件)。
-
POSIX_*_RANK_BYTES:由最快和最慢列组传输的字节(对于共享文件)。
-
POSIX_F_*_START_TIMESTAMP:第一次打开/读取/写入/关闭的时间戳。
-
POSIX_F_*_END_TIMESTAMP:最后一次打开/读取/写入/关闭的时间戳。
-
POSIX_F_READ/WRITE/META_TIME:用于读取、写入或元数据操作的累计时间。
-
POSIX_F_MAX_*_TIME:最慢读写操作的持续时间。
-
POSIX_F_*_RANK_TIME:单个列组的最快和最慢I/O时间。
-
POSIX_F_VARIANCE_RANK_*:所有列组的总I/O时间和移动字节的方差。