10-14 October 2016
San Francisco Marriott Marquis
America/Los_Angeles timezone

Expressing Parallelism in ROOT

10 Oct 2016, 14:45
Sierra A (San Francisco Mariott Marquis)

Sierra A

San Francisco Mariott Marquis

Oral Track 5: Software Development Track 5: Software Development


Enric Tejedor Saavedra (CERN)


The need for processing the ever-increasing amount of data generated by the LHC experiments in a more efficient way has motivated ROOT to further develop its support for parallelism. Such support is being tackled both for shared-memory and distributed-memory environments.

The incarnations of the aforementioned parallelism are multi-threading, multi-processing and cluster-wide executions. In the area of multi-threading, we discuss the new implicit parallelism and related interfaces, as well as the new building blocks to safely operate with ROOT objects in a multi-threaded environment. Regarding multi-processing, we review the new MultiProc framework, comparing it with similar tools (e.g. multiprocessing module in Python). Finally, as an alternative to PROOF for cluster-wide executions, we introduce the efforts on integrating ROOT with state-of-the-art distributed data processing technologies like Spark, both in terms of programming model and runtime design (with EOS as one of the main components).

For all the levels of parallelism, we discuss, based on real-life examples and measurements, how our proposals can increase the productivity of scientists.

Tertiary Keyword (Optional) High performance computing
Secondary Keyword (Optional) Analysis tools and techniques
Primary Keyword (Mandatory) Parallelization

Primary authors


Enrico Guiraud (Università degli Studi e INFN Milano (IT)) Gerardo Ganis (CERN) Lorenzo Moneta (CERN) Pere Mato Vila (CERN) Philippe Canal (Fermi National Accelerator Lab. (US)) Xavier Valls Pla (University Jaume I (ES))

Presentation Materials