Skip to content

Datasets and Groups Not Getting Closed After Writing #125

@skyFzz

Description

@skyFzz

Bug Report

In h5bench_write.c, whether to close datasets and groups synchronously or asynchronously depends on if the variable cnt_time_step_delay is equal to or greater than 0. However, when I ran Write Benchmark in sync mode with DELAYED_CLOSE_TIMESTEPS set to 2, the program would close them through the function ts_delayed_close(MEM_MONITOR, &meta_time1, dset_cnt);, which returns 0 if has_vol_async == 0. Therefore, datasets and groups are potentially not getting closed at the end of the benchmark. I think the program should disable or set cnt_time_step_delay to a fixed 0 in sync mode to avoid this issue.

To Reproduce

How are you building/running h5bench?

// Build
mkdir build
cd build
~/.local/bin/cmake -DCMAKE_C_COMPILER=mpicc -DCMAKE_INSTALL_PREFIX=/users/PAS2406/henryzhou1201/h5bench_project ..
make
make install

// Run
export PATH=/users/PAS2406/henryzhou1201/h5bench_project/hdf5/installer/bin:$PATH
export LD_LIBRARY_PATH=/users/PAS2406/henryzhou1201/h5bench_project/hdf5/installer/lib:$LD_LIBRARY_PATH
export HDF5_HOME=/users/PAS2406/henryzhou1201/h5bench_project/hdf5/installer
export HDF5_PLUGIN_PATH=/users/PAS2406/henryzhou1201/h5bench_project/plugins/SZ3/installer/lib64
module load gcc-compatibility/11.2.0

bin/h5bench --debug henry_configs/sz3/sync-write-1d-contig-contig-same-shuffle-debug.json

What is the input configuration file you use?

# provide the configuration file options you used
 1 {
  0     "mpi": {
  1         "command": "srun",
  2         "ranks": "1"
  3     },
  4     "vol": {
  5     },
  6     "file-system": {
  7     },
  8     "directory": "storage/sz3",
  9     "benchmarks": [
 10         {
 11             "benchmark": "write",
 12             "file": "sync-write-1d-contig-contig-same-shuffle-debug.h5",
 13             "configuration": {
 14                 "MEM_PATTERN": "CONTIG",
 15                 "FILE_PATTERN": "CONTIG",
 16                 "TIMESTEPS": "5",
 17                 "DELAYED_CLOSE_TIMESTEPS": "2",
 18                 "COLLECTIVE_DATA": "YES",
 19                 "COLLECTIVE_METADATA": "YES",
 20                 "EMULATED_COMPUTE_TIME_PER_TIMESTEP": "1 s",
 21                 "NUM_DIMS": "1",
 22                 "DIM_1": "4194304",
 23                 "DIM_2": "1",
 24                 "DIM_3": "1",
 25                 "CSV_FILE": "output.csv",
 26                 "MODE": "SYNC",
 27                 "COMPRESS": "YES",
 28                 "COMPRESS_FILTER": "SZ3",
 29                 "CHUNK_DIM_1": "4194304",
 30                 "CHUNK_DIM_2": "1",
 31                 "CHUNK_DIM_3": "1"
 32             }
 33         }
 34     ]
 35 }

Expected Behavior

When users run benchmark with sync mode, the program closes the datasets and groups normally, no matter what the input of DELAYED_CLOSE_TIMESTEPS is.

Software Environment

  • version of h5bench: 1.4.0
  • installed h5bench using: cmake
  • operating system: Linux owens-login04.hpc.osc.edu 3.10.0-1160.118.1.el7.x86_64 CUDA benchmarks #1 SMP Thu Apr 4 03:33:23 EDT 2024 x86_64 x86_64 x86_64 GNU/Linux
  • machine: Ohio Supercomputer Center
  • version of HDF5: 1.14.1-2
  • version of VOL-ASYNC: Disabled
  • name and version of MPI: icc (ICC) 19.0.5.281 20190815

Additional information

N/A

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions