Analysis benchmarks for grid and HPC
Initial description for the Openlab Student project proposed for the summer of 2020 that I supervised.
To be updated with the student report and probably a paper once they are available.
Project description#
CERN measures the performance of computers based on typical computing patterns that happen “in real life”. One such pattern is analysis. This project proposes to extract existing example analyses to create a benchmarking utility for computers or HPC systems. This utility can then serve to describe a system’s performance for running typical analyses. Example analyses already exist in the context of the main analysis software of high energy physics, ROOT (https://root.cern), for instance leveraging CERN’s open data. The student would convert such analyses into a stand-alone program, and make it accessible as a benchmark.
Deliverables#
- A stand-alone program representative of HEP analysis benchmarks to describe the performance of a particular system.
- A new HEP analysis workload for hepscore
Desiderata#
- Identify an analysis WL that runs on CPU and on CPU+GPU
- Identify an analysis WL for each of the LHC experiments (or at least for ATLAS and CMS)
- Identify analysis WL for train processing
Where to start#
- Read the resources in the section below
- Meet with co-mentors, openlab HPC (every Tuesday at 14:00) and ROOT’s performance team
- Run the different benchmarks available (how to run) in some of our systems, observe the results, interact with Kibana and its reporting
- Inspect and understand the current code for the benchmarks on the experiment workloads
- Gather the candidate benchmarks from ROOT
- Implement the solution
Resources#
HEP Benchmarks project#
- HEP Benchmarks for CPUs and beyond: High-Energy Physics workloads as benchmarks of computing architectures. Presentation from Domenico Giordano for the HSF-WLCG Virtual Workshop
- Benchmarks repository
- egroup: benchmark-suite-wg-devel@cern.ch
- Jira project: https://its.cern.ch/jira/projects/BMK/summary
- Meetings of the Benchmarking WG:
- Friday 14h (general meeting) other Friday (14:30) Sprint Meeting
- Tuesday 14:00 coffee zoom
Root project#
-
The ROOT website, project repository, and Mattermost
-
Teleworking Tips & Tricks (CERN): https://codimd.web.cern.ch/vjC8BHbTS7etHwJve-K2Uw
-
Physics Analysis in the LHC era. Article
Getting ROOT#
Sourcing a pre-compiled version of ROOT
There are several options when it comes to sourcing ROOT instead of building it or installing it. However, as building it with a specific set of features might be required (e.g. HPX, right now a proof of concept), starting the gentoo prefix provided by Guilherme Amadio in CVMFS will be the preferred option.
By executing
/cvmfs/sft.cern.ch/lcg/contrib/gentoo/startprefix
in a machine with access to CVMFS, the user will have available both ROOT and every library required to build it.
Alternatives:
- Sourcing one of the LCG software releases from CVMFS. Instructions can be found here.
- Installing ROOT from your package manager (not recommended)
- Running a docker container
- Building and installing ROOT taking care of the dependencies manually
Building ROOT
Follow the instructions here. You probably want to source the externals from CVMFS (Gentoo prefix or CVMFS releases from the previous section) and build it with ccache=on
.