PROOF

The Parallel ROOT Facility, PROOF, is an extension of ROOT enabling interactive analysis of large sets of ROOT files in parallel on clusters of computers or many-core machines. More generally PROOF can parallelize tasks that can be formulated as a set of independent sub-tasks (embarrassingly or ideally parallel).

The main design goals for the PROOF system are:

  • Transparency: there should be as little difference as possible between a local ROOT based analysis session and a remote parallel PROOF session. Typically analysis macros should work unchanged.
  • Scalability: the basic architecture should not put any implicit limitations on the number of computers that can be used in parallel.
  • Adaptability: the system should be able to adapt itself to variations in the remote environment (changing load on the cluster nodes, network interruptions, etc.).

PROOF is primarily meant as an alternative to batch systems for Central Analysis Facilities and departmental work groups (Tier-2’s and Tier-3’s) in particle physics experiments. However, thanks to a multi-tier architecture allowing multiple levels of masters, it can be easily adapted to a wide range of virtual clusters distributed over geographically separated domains and heterogeneous machines (GRID's).

The PROOF technology has also proven to be quite efficient in exploiting all the CPU's provided by many-core processors. A dedicated version of PROOF, PROOF-Lite, provides an out-of-the-box solution to take full advantage of the additional cores available in today desktops or laptops.

Apart from the pure interactive mode, PROOF has also an interactive-batch mode. With interactive-batch the user can start very long running queries, disconnect the client and at any time, any location and from any computer reconnect to the query to monitor its progress or retrieve the results. This feature gives it a distinct advantage over purely batch based solutions, that only provide an answer once all sub-jobs have been finished and merged.