Geant4 - Performance Data Visualization using d3.js


Experiments at the Large Hadron Collider (LHC) make extensive use of detector simulation with Geant4, consuming a large portion of the computing resources available at the Worldwide LHC Computing Grid (WLCG). With the next runs of the LHC approaching, the expected increases in beam luminosity will increase demand for simulation far beyond the limits of what further hardware upgrades can reach. Therefore, monitoring and improving the performance of the simulation software, including Geant4, is of utmost importance to CERN’s success.

Geant4 performance monitoring already happens on a regular basis, for example, via the profiling and benchmarking work done at FNAL, and with regular performance analysis run locally by developers. However, in order to identify and fix performance regressions more efficiently, we would like to create more visual performance reports in HTML and improve performance data visualizations using d3.js or a similar javascript visualization library.

Expected Results

The expected result is a dynamic HTML-based report for summarizing and visualizing performance data collected with perf (potentially converted to CSV or JSON format), and comparing performance differences between two given versions of a Geant4 simulation. This report is expected to be included in a dedicated continuous integration job that developers can use to assess the performance impact of their proposed changes in Geant4.

Two examples of visualizations to be included in the report are flamegraphs and treemaps.

Evaluation Task

Interested students please contact Guilherme for a warm-up and evaluation task. In lieu of an evaluation task, however, the interested student can submit prior work on data visualizations using d3.js or another javascript library.


Desirable Skills


Additional Information

Corresponding Project

Participating Organizations