30 September 2024 to 4 October 2024
CERN
Europe/Zurich timezone

Enabling Julia code to run at scale with artefact caching

30 Sept 2024, 15:00
30m
4/3-006 - TH Conference Room (CERN)

4/3-006 - TH Conference Room

CERN

110
Show room on map
Talk 25' Talks

Speaker

Mr Elvis Alexander Aguero Vera (Brown University)

Description

The Julia programming language has evolved into a mature tool for scientific computing over the past decade, offering high-level capabilities with just-in-time (JIT) compilation and efficient garbage collection. Its performance, comparable to that of C/C++, makes Julia an attractive option for the high-energy physics community. However, Julia's use of precompiled files to achieve this performance introduces significant startup delays on the first program execution ("time to first plot"), which would be a severe drawback in distributed systems where each node would have to compile dependencies locally. This project proposes a workflow to obtain a ready-to-use directory with all necessary precompiled files for selected applications, while also leveraging the shared CernVM-FS (CVMFS) file system to share files across nodes in a distributed setup. We developed and tested a framework for automating the publication of precompiled Julia files to CVMFS and evaluated its impact on performance using two sample applications: the Julia Jet Reconstruction package and the Geant4 wrapper package. Our findings demonstrate that caching precompiled files that are stored in CVMFS significantly reduces startup times, with reductions of up to 97% for the Geant4 package. Furthermore, we examined the effects of cross-compilation for various microarchitectures and found that nodes benefit from shared cache files without notable performance degradation due to microarchitecture differences.

Author

Mr Elvis Alexander Aguero Vera (Brown University)

Co-authors

Presentation materials