Advanced

QStone generates sets of synthetic benchmarks that can be run on different architectures/with different schedulers.

It can be used to extract more advanced indicators, normally of interest to HPC integrators: - scheduling impact - queueing time - network time

Setup

Generate a configuration by copying the file multi-user and modify the values for the qpu_ip_address, qpu_port and project_name (if your organisation requires jobs to be executed under specific user-groups/projects). Then call the generate step:

qstone generate -i config_multi.json -s "your_scheduler"

QStone will generate 3 “your_scheduler” tar files that can be executed as 3 different users to simulate a realistic load. Once you have identified a sensible policy to execute as 3 different users (please note: only coarse synchronisation needed. Jobs are long enough that each user can start within seconds from the next with no significant effect on the metrics), call:

qstone run -i your_scheduler_userx.qstone.tar.gz -o run_userx

The jobs (only for a single user in this case) will now start and execute one after the other.

Analysis

Running the profiler could highlight some interesting aspects of the HPC/Quantum system. To run the profiler execute:

qstone profile --cfg config_multi.json --folder run_user0/qstone_suite/qstone_profile  --folder run_user1/qstone_suite/qstone_profile  --folder run_user2/qstone_suite/qstone_profile

that will return the overall execution time, the average execution time on the QPU and on the classical resources. This information can be already useful to understand the average computation duration for standard operations.