Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Marek BiskupACAT2005PROO F Parallel Interactive and Batch HEP-Data Analysis with PROOF Maarten Ballintijn*, Marek Biskup**, Rene Brun**, Philippe Canal***,

Similar presentations


Presentation on theme: "1 Marek BiskupACAT2005PROO F Parallel Interactive and Batch HEP-Data Analysis with PROOF Maarten Ballintijn*, Marek Biskup**, Rene Brun**, Philippe Canal***,"— Presentation transcript:

1 1 Marek BiskupACAT2005PROO F Parallel Interactive and Batch HEP-Data Analysis with PROOF Maarten Ballintijn*, Marek Biskup**, Rene Brun**, Philippe Canal***, Derek Feichtinger****, Gerardo Ganis**, Guenter Kickinger**, Andreas Peters**, Fons Rademakers** * - MIT ** - CERN *** - FNAL **** - PSI

2 2 Marek BiskupACAT2005PROO F Outline ■ Data analysis model of ROOT ■ Overview of PROOF ■ Recent developments ■ Future plans - Interactive-Batch data analysis

3 3 Marek BiskupACAT2005PROO F ROOT Trees ■ Tree – main data structure of ROOT ■ Set of records (entries) ■ Record may contain basic C types (int, double, arrays) and any C++ object, polymorphic object, collection, stl collection, etc, e.g.: stl::list tracks; Electrons ➔ Int_t NoElectrons; ➔ Double_tMomentum[NoElectrons][4]; ➔ Float_tPosition[NoElectrons][4]; Muons ➔ Int_tNoMuons; ➔ … ■ Provide efficient access to partial entry data ■ Typical size < 2GB

4 4 Marek BiskupACAT2005PROO F Trees in memory and in files Each Leaf is an object (c++ object, array, basic type). Each Branch groups several Leafs/Branches. tr 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 T.Fill() T.GetEntry(6) T Memory Branch Leaf

5 5 Marek BiskupACAT2005PROO F Tree data storage on disk Tree Header describing data structure Buffer 1 Buffer 2 … Branch data split into compressed Buffers

6 6 Marek BiskupACAT2005PROO F ROOT Trees - GUI 8 leaves of a branch named ‘Electrons’ Double-click to histogram a leaf 8 Branches of tree named ‘T’

7 7 Marek BiskupACAT2005PROO F Tree Friends tr 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Public read Public read User Write Entry # 8 Behave in exactly the same way as a single Tree!

8 8 Marek BiskupACAT2005PROO F ROOT Chains ■ A typical Tree: < 2GB – you can process it on your laptop ■ Chain – list of trees e.g. 1000 files – the processing takes long time! File 1, entries 0 - 800 File 2, entries 801 - 1340 File 3, entries 1341 - 2000... Behave in exactly the same way as a single Tree!

9 9 Marek BiskupACAT2005PROO F Tree Viewer Drag and drop variables to create expressions And click the Draw button

10 10 Marek BiskupACAT2005PROO F Chain.Draw() chain.Draw() is a function called by the GUI for drawing chain.Draw( “sumetc:nevent:nrun”, “”, “col”); chain.Draw( “nevent:nrun”, “”, “lego”);

11 11 Marek BiskupACAT2005PROO F Advanced data processing ■ Preprocessing and initialization ■ Processing each entry (loop over all files and entries in each file) ■ Post processing and clean-up Do not assume anything about the order in which Process() is called for different entries! Selectors contain only the functions important for processing We read only one branch

12 12 Marek BiskupACAT2005PROO F ROOT Analysis Model Client Local file Remote file (dCache, Castor, RFIO, Chirp) Rootd/xrootd server ROOT standard model  Files analyzed on a local computer  Remote data accessed via remote fileserver (rootd/xrootd)

13 13 Marek BiskupACAT2005PROO F Data transfer takes time. PROOF Bring the KiloBytes to the PetaBytes and not the PetaBytes to the KiloBytes ■ Parallel interactive analysis of ROOT Data ■ Using the same ROOT Selectors (transparency!) ■ Execution on clusters of heterogeneous computers (scalability!) Normal Laptop/PC can process up to 10MB/s. Current experiments and LHC need much more

14 14 Marek BiskupACAT2005PROO F PROOF Basic Architecture Slaves Client Master Files Commands, scripts Histograms, plots Single-Cluster mode  The Master divides the work among the slaves  After the processing finishes, merges the results (histograms, scatter plots)  And returns the result to the Client

15 15 Marek BiskupACAT2005PROO F Workflow for tree analysis Initialization Process Wait for next command Slave 1 Process(“ana.C”) Packet generator Initialization Process Wait for next command Slave NMaster GetNextPacket () SendObject(histo) Add histograms Return results 0,100 200,100 340,100 490,100 100,100 300,40 440,50 590,60 Process(“ana.C”)

16 16 Marek BiskupACAT2005PROO F PROOF and Selectors No user’s control of the entries loop! Many Trees are being processed Initialize each slave The code is shipped to each slave and SlaveBegin(), Init(), Process(), SlaveTerminate() are executed there The same code works also without PROOF.

17 17 Marek BiskupACAT2005PROO F PROOF Sequential mode Client Master Files Commands, scripts Histograms, plots, canvases  The Master executes scripts (Selectors) and returns results to the Client  Canvases will be fetched from the Master automatically  Pseudo-remote desktop (better than XWindow for WAN) From the users point of view it works in the same way as the standard proof mode The canvas is automatically displayed after the processing has finished Executes the selector and creates an off-screen canvas

18 18 Marek BiskupACAT2005PROO F PROOF – Drawing a histogram Chains may be also created automatically by a query to a grid catalog

19 19 Marek BiskupACAT2005PROO F GUI and real time feedback Feedback histogram, updated every (e.g.) 1 second Chain definition (header) is fetched from the PROOF master

20 20 Marek BiskupACAT2005PROO F Current Limitations of PROOF Processing blocks the client Permanent connection to the master. No dynamic usage of the GRID. ■ Intended for interactive usage: Typical queries time – several minutes. ■ Designed to work on a local cluster with static configuration. Originally:

21 21 Marek BiskupACAT2005PROO F Typical Queries Interactive/Batch queries GUI Commands scripts Batch connected connected or disconnected

22 22 Marek BiskupACAT2005PROO F Analysis session snapshot What are planning to implement: AQ1: 1s query produces a local histogram AQ2: a 10mn query submitted to PROOF1 AQ3->AQ7: short queries AQ8: a 10h query submitted to PROOF2 BQ1: browse results of AQ2 BQ2: browse temporary results of AQ8 BQ3->BQ6: submit 4 10mn queries to PROOF1 CQ1: Browse results of AQ8, BQ3->BQ6 Monday at 10h15 ROOT session On my laptop Monday at 16h25 ROOT session On my laptop Wednesday at 8h40 session on any web browser

23 23 Marek BiskupACAT2005PROO F Planned features ■ Session disconnect and reconnect ■ Asynchronous queries ■ Start-up of slaves via Grid job scheduler ■ Allow slaves to join/leave the computation ■ Slaves calling out to master (firewalls)

24 24 Marek BiskupACAT2005PROO F PROOF on the GridPROOF USER SESSION PROOF SLAVE SERVERS PROOF MASTER SERVER PROOF SLAVE SERVERS Guaranteed site access through PROOF Sub-Masters calling out to Master (agent technology) PROOF SUB-MASTER SERVERS PROOF PROOF PROOF Grid/Root Authentication Grid Access Control Service TGrid UI/Queue UI Proofd Startup Grid Service Interfaces Grid File/Metadata Catalogue Client retrieves list of logical files (LFN + MSN)

25 25 Marek BiskupACAT2005PROO F Summary ■ ROOT is a powerful analysis framework with very efficient data storage mechanisms. ■ PROOF works well for interactive parallel ROOT data analysis on a local cluster Fully integrated with ROOT – you can use chains with PROOF in the same way as locally. You can use the same Selectors you’ve written for local processing. But it was designed for short-duration interactive queries. ■ PROOF is evolving: we plan to accommodate longer running queries. Disconnect from and reconnect to a running query. Non-Blocking queries. Dynamic configuration (using the GRID).

26 26 Marek BiskupACAT2005PROO F Questions


Download ppt "1 Marek BiskupACAT2005PROO F Parallel Interactive and Batch HEP-Data Analysis with PROOF Maarten Ballintijn*, Marek Biskup**, Rene Brun**, Philippe Canal***,"

Similar presentations


Ads by Google