Porting DIRAC Benchmark to Python3: impact of the discrepancies and solutions
November 05, 2022
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) various methods to improve and maintain the program, such as unit tests, a Continuous Integration and Delivery pipeline; (ii) a comprehensive analysis of the discrepancies. The problems were addressed by applying a constant factor on the scores depending on the underlying CPU model and Python version used.
How to cite
Metadata are provided both in "article" format (very similar to INSPIRE) as this helps creating
very compact bibliographies which can be beneficial to authors and
readers, and in "proceeding" format
which is more detailed and complete.