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).
A side project called PoD (Proof-On-Demand) allows to enable PROOF on any kind of resources, dedicated or shared. PoD automatically provides sandboxing, easier administration and self-servicing, and efficient multi-user scheduling. PoD is the recommended way to install PROOF.
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.