第六部分:VTK进阶(第175章 并行 IO管线与检查点)
文章目录
- 1 并行 I/O 格式总览(XDMF/HDF5/ADIOS 等)
- 2 批量写入与一致性(Flush/Barrier/Atomicity)
- 3 检查点与恢复(Checkpoint/Restart)
- 4 元数据与索引(Time/Block/Level)
- 5 I/O 性能基线与调优
- 6 完整 C++ 示例:XDMF/HDF 写读规则体序列
1 并行 I/O 格式总览(XDMF/HDF5/ADIOS 等)
- HDF5:层级数据容器,支持并行 HDF5(MPI-IO),适合规则/非规则大数组;
- XDMF:XML + HDF5 的组合,XML 负责元数据/拓扑描述、HDF5 存放二进制数组;
- ADIOS2:高性能科学 I/O 框架,提供流式与并行写读能力;
- VTK 自身格式:
VTU/VTI/PVD等,提供并行分片索引(PVD/PMesh)。
建议:
- 规则体/时序:XDMF + HDF5 兼顾可读性与性能;
- 海量非结构:并行 HDF5 或 ADIOS;
- 快速中间缓存:二进制块 + 轻量 JSON 元数据。
2 批量写入与一致性(Flush/Barrier/Atomicity)
在并行环境(MPI)中,多个进程/线程同时写入需要:
- 原子性:每个块写入要么全部成功要么失败;
- 屏障/同步:写入阶段前后设置 barrier,确保可见性;
- 文件组织:每块独立文件 vs 合并到单一 HDF5,权衡打开/关闭开销与元数据复杂度。
VTK 层面:
vtkXMLPI
