code: def run_read_sweep(
      sweep_config, flush_cache_job, sync_job, cmd_lines
  ):
      read_folder, read_file_name = create_read_file(sweep_config)
      read_option = f"--read_file {read_file_name}"
      read_cmd_lines = [
          [f"{read_option} {sweep_config.other_options}"] + cmd
          for cmd in cmd_lines
      ]
      # dump_cmd_lines(read_cmd_lines)
  
      log_folder = os.path.join(sweep_config.log_dir, f"{READ_LOG_DIR}")
      os.makedirs(log_folder, exist_ok=True)
  
      perf_jobs = create_perf_jobs(
          io_op_desc=READ_OP_DESC,
          log_dir=log_folder,
          cmd_lines=read_cmd_lines,
      )
  
      launch_sweep(
          sweep_jobs=perf_jobs,
          sync_job=sync_job,
          flush_cache_job=flush_cache_job,
      )
  
      remove_folder(read_folder)
  
imports: import os
  import sys
  import argparse
  import json
  import itertools
  import subprocess
  import shutil
  from test_ds_aio_utils import refine_integer_value
  from perf_sweep_utils import READ_OP_DESC, WRITE_OP_DESC, BENCH_LOG_DIR, READ_IO_DIR, WRITE_IO_DIR, READ_LOG_DIR, WRITE_LOG_DIR
label_desc: Use image node_id 15 for calling a global function with example usage: run_read_sweep(sweep_config, flush_cache_job, sync_job, cmd_lines) without return types