Jul 6 – 13, 2022
Bologna, Italy
Europe/Rome timezone

Porting DIRAC Benchmark to Python3: impact of the discrepancies and solutions

Jul 8, 2022, 7:05 PM
1h 25m
Bologna, Italy

Bologna, Italy

Palazzo della Cultura e dei Congressi
Poster Computing and Data handling Poster Session


Alexandre Boyer


To progress in their research, scientific communities generally rely on shared computing resources aggregated into clusters.
To provide fair use of the computing resources to every user, administrators of these clusters set up Local Resources Management Systems.
They orchestrate the scientific workloads and the resources by allowing a given workload to be executed for a certain time on a definite number of CPUs or machines.
To maximize the use of the computing resources and avoid running out of time, users may assess their environments by executing fast CPU benchmarking solutions such as DIRAC Benchmark.
Developed in Python 2 in 2012, DIRAC Benchmark has been mainly and successfully employed in the context of the LHCb experiment.
Now that Python 2 is deprecated, DIRAC Benchmark has to be ported to Python 3.
This paper describes this transition, the impact brought by the changes, and the considered solutions.
The main contributions of this paper are: (i) an extensive description of the CPU Benchmarking tools in High-Energy Physics; (ii) various methods to improve and maintain the program, such as unit tests, a Continuous Integration and Delivery pipeline; (iii) a comprehensive analysis of the discrepancies that could have caused 22\% of the workloads to fail; (iv) a review of the advantages and drawbacks of the considered solutions.
The problems were addressed by applying a constant factor on the scores depending on the underlying CPU model and Python version used.

In-person participation No

Primary author


Presentation materials