ROOT Tutorials - Session 101 PROOT Tutorials – Session 10 PROOF, GRID, AliEn Fons Rademakers Bring the KB to the PB not the PB to the KB.

Slides:



Advertisements
Similar presentations
Remote Visualisation System (RVS) By: Anil Chandra.
Advertisements

1 ALICE Grid Status David Evans The University of Birmingham GridPP 14 th Collaboration Meeting Birmingham 6-7 Sept 2005.
June, 20013rd ROOT Workshop1 PROOF and ROOT Grid Features Fons Rademakers.
PROOF and AnT in PHOBOS Kristjan Gulbrandsen March 25, 2004 Collaboration Meeting.
CHEP031 Analysis of CMS Heavy Ion Simulation Data Using ROOT/PROOF/Grid Jinghua Liu for Pablo Yepes, Jinghua Liu Rice University, Houston, TX Maarten Ballintijn,
The EPIKH Project (Exchange Programme to advance e-Infrastructure Know-How) gLite Grid Services Abderrahman El Kharrim
1 Software & Grid Middleware for Tier 2 Centers Rob Gardner Indiana University DOE/NSF Review of U.S. ATLAS and CMS Computing Projects Brookhaven National.
USING THE GLOBUS TOOLKIT This summary by: Asad Samar / CALTECH/CMS Ben Segal / CERN-IT FULL INFO AT:
1 PROOF & GRID Update Fons Rademakers. 2 Parallel ROOT Facility The PROOF system allows: parallel execution of scripts parallel analysis of trees in a.
David Adams ATLAS DIAL Distributed Interactive Analysis of Large datasets David Adams BNL March 25, 2003 CHEP 2003 Data Analysis Environment and Visualization.
June 21, PROOF - Parallel ROOT Facility Maarten Ballintijn, Rene Brun, Fons Rademakers, Gunter Roland Bring the KB to the PB.
The new The new MONARC Simulation Framework Iosif Legrand  California Institute of Technology.
Resource Management Reading: “A Resource Management Architecture for Metacomputing Systems”
The SAM-Grid Fabric Services Gabriele Garzoglio (for the SAM-Grid team) Computing Division Fermilab.
AliEn Tutorial MODEL th May, May 2009 Installation of the AliEn software AliEn and the GRID Authentication File Catalogue.
PROOF: the Parallel ROOT Facility Scheduling and Load-balancing ACAT 2007 Jan Iwaszkiewicz ¹ ² Gerardo Ganis ¹ Fons Rademakers ¹ ¹ CERN PH/SFT ² University.
PROOF - Parallel ROOT Facility Kilian Schwarz Robert Manteufel Carsten Preuß GSI Bring the KB to the PB not the PB to the KB.
AliEn uses bbFTP for the file transfers. Every FTD runs a server, and all the others FTD can connect and authenticate to it using certificates. bbFTP implements.
PVM. PVM - What Is It? F Stands for: Parallel Virtual Machine F A software tool used to create and execute concurrent or parallel applications. F Operates.
Data Management Kelly Clynes Caitlin Minteer. Agenda Globus Toolkit Basic Data Management Systems Overview of Data Management Data Movement Grid FTP Reliable.
The Pipeline Processing Framework LSST Applications Meeting IPAC Feb. 19, 2008 Raymond Plante National Center for Supercomputing Applications.
03/27/2003CHEP20031 Remote Operation of a Monte Carlo Production Farm Using Globus Dirk Hufnagel, Teela Pulliam, Thomas Allmendinger, Klaus Honscheid (Ohio.
Building a distributed software environment for CDF within the ESLEA framework V. Bartsch, M. Lancaster University College London.
Interactive Data Analysis with PROOF Bleeding Edge Physics with Bleeding Edge Computing Fons Rademakers CERN.
Scalable Systems Software Center Resource Management and Accounting Working Group Face-to-Face Meeting October 10-11, 2002.
Syzygy Design overview Distributed Scene Graph Master/slave application framework I/O Device Integration using Syzygy Scaling down: simulators and other.
Bookkeeping Tutorial. Bookkeeping & Monitoring Tutorial2 Bookkeeping content  Contains records of all “jobs” and all “files” that are created by production.
ILDG Middleware Status Chip Watson ILDG-6 Workshop May 12, 2005.
Evolution of Parallel Programming in HEP F. Rademakers – CERN International Workshop on Large Scale Computing VECC, Kolkata.
1 Marek BiskupACAT2005PROO F Parallel Interactive and Batch HEP-Data Analysis with PROOF Maarten Ballintijn*, Marek Biskup**, Rene Brun**, Philippe Canal***,
November SC06 Tampa F.Fanzago CRAB a user-friendly tool for CMS distributed analysis Federica Fanzago INFN-PADOVA for CRAB team.
Tool Integration with Data and Computation Grid GWE - “Grid Wizard Enterprise”
ROOT for Data Analysis1 Intel discussion meeting CERN 5 Oct 2003 Ren é Brun CERN Distributed Data Analysis.
ROOT and Federated Data Stores What Features We Would Like Fons Rademakers CERN CC-IN2P3, Nov, 2011, Lyon, France.
What is SAM-Grid? Job Handling Data Handling Monitoring and Information.
ROOT-CORE Team 1 PROOF xrootd Fons Rademakers Maarten Ballantjin Marek Biskup Derek Feichtinger (ARDA) Gerri Ganis Guenter Kickinger Andreas Peters (ARDA)
T3 analysis Facility V. Bucard, F.Furano, A.Maier, R.Santana, R. Santinelli T3 Analysis Facility The LHCb Computing Model divides collaboration affiliated.
Experiment Management System CSE 423 Aaron Kloc Jordan Harstad Robert Sorensen Robert Trevino Nicolas Tjioe Status Report Presentation Industry Mentor:
AliEn AliEn at OSC The ALICE distributed computing environment by Bjørn S. Nilsen The Ohio State University.
PROOF and ALICE Analysis Facilities Arsen Hayrapetyan Yerevan Physics Institute, CERN.
Bookkeeping Tutorial. 2 Bookkeeping content  Contains records of all “jobs” and all “files” that are produced by production jobs  Job:  In fact technically.
A prototype for an extended PROOF What is PROOF ? ROOT analysis model … … on a multi-tier architecture Status New development Prototype based on XRD Demo.
March, PROOF - Parallel ROOT Facility Maarten Ballintijn Bring the KB to the PB not the PB to the KB.
Super Scaling PROOF to very large clusters Maarten Ballintijn, Kris Gulbrandsen, Gunther Roland / MIT Rene Brun, Fons Rademakers / CERN Philippe Canal.
JAliEn Java AliEn middleware A. Grigoras, C. Grigoras, M. Pedreira P Saiz, S. Schreiner ALICE Offline Week – June 2013.
Tool Integration with Data and Computation Grid “Grid Wizard 2”
1 Status of PROOF G. Ganis / CERN Application Area meeting, 24 May 2006.
March 13, 2006PROOF Tutorial1 Distributed Data Analysis with PROOF Fons Rademakers Bring the KB to the PB not the PB to the KB.
Rights Management for Shared Collections Storage Resource Broker Reagan W. Moore
September, 2002CSC PROOF - Parallel ROOT Facility Fons Rademakers Bring the KB to the PB not the PB to the KB.
Latest Improvements in the PROOF system Bleeding Edge Physics with Bleeding Edge Computing Fons Rademakers, Gerri Ganis, Jan Iwaszkiewicz CERN.
Latest Improvements in the PROOF system Bleeding Edge Physics with Bleeding Edge Computing Fons Rademakers, Gerri Ganis, Jan Iwaszkiewicz CERN.
STAR Scheduler Gabriele Carcassi STAR Collaboration.
Sept. 2000CERN School of Computing1 PROOF and ROOT Grid Features Fons Rademakers.
LHCC Referees Meeting – 28 June LCG-2 Data Management Planning Ian Bird LHCC Referees Meeting 28 th June 2004.
Experiment Support CERN IT Department CH-1211 Geneva 23 Switzerland t DBES The AliEn File Catalogue Jamboree on Evolution of WLCG Data &
ROOT and PROOF Tutorial Arsen HayrapetyanMartin Vala Yerevan Physics Institute, Yerevan, Armenia; European Organization for Nuclear Research (CERN)
David Adams ATLAS DIAL Distributed Interactive Analysis of Large datasets David Adams BNL May 19, 2003 BNL Technology Meeting.
The ALICE Analysis -- News from the battlefield Federico Carminati for the ALICE Computing Project CHEP 2010 – Taiwan.
Introduction to Distributed Platforms
Netscape Application Server
Consulting Services JobScheduler Architecture Decision Template
PROOF – Parallel ROOT Facility
April HEPCG Workshop 2006 GSI
Viet Tran Institute of Informatics Slovakia
LCG middleware and LHC experiments ARDA project
Distributed Data Bases & GRID Interactive Access
Support for ”interactive batch”
Alice Software Demonstration
PROOF - Parallel ROOT Facility
Presentation transcript:

ROOT Tutorials - Session 101 PROOT Tutorials – Session 10 PROOF, GRID, AliEn Fons Rademakers Bring the KB to the PB not the PB to the KB

ROOT Tutorials - Session 102 PROOF Collaboration between core ROOT group at CERN and MIT Heavy Ion Group Fons Rademakers Maarten Ballintijn Part of and based on ROOT framework Uses heavily ROOT networking and other infrastructure classes No external technologies

ROOT Tutorials - Session 103 Parallel ROOT Facility The PROOF system allows: Parallel analysis of trees in a set of files Parallel analysis of objects in a set of files Parallel execution of scripts on clusters of heterogeneous machines Its design goals are: Transparency, scalability, adaptability Prototype developed in 1997 as proof of concept, full version nearing completion now

ROOT Tutorials - Session 104 Parallel Script Execution root Remote PROOF Cluster proof TNetFile TFile Local PC $ root ana.C stdout/obj node1 node2 node3 node4 $ root root [0].x ana.C $ root root [0].x ana.C root [1] gROOT->Proof(“remote”) $ root root [0] tree->Process(“ana.C”) root [1] gROOT->Proof(“remote”) root [2] chain->Process(“ana.C”) ana.C proof proof = slave server proof proof = master server #proof.conf slave node1 slave node2 slave node3 slave node4 *.root TFile

ROOT Tutorials - Session 105 Data Access Strategies Each slave get assigned, as much as possible, packets representing data in local files If no (more) local data, get remote data via rootd and rfio (needs good LAN, like GB eth) In case of SAN/NAS just use round robin strategy

ROOT Tutorials - Session 106 PROOF Transparency Make working on PROOF as similar as working on your local machine Return to the client all objects created on the PROOF slaves The master server will try to add “partial” objects coming from the different slaves before sending them to the client

ROOT Tutorials - Session 107 PROOF Scalability Scalability in parallel systems is determined by the amount of communication overhead (Amdahl’s law) Varying the packet size allows one to tune the system. The larger the packets the less communications is needed, the better the scalability Disadvantage: less adaptive to varying conditions on slaves

ROOT Tutorials - Session 108 PROOF Adaptability Adaptability means to be able to adapt to varying conditions (load, disk activity) on slaves By using a “pull” architecture the slaves determine their own processing rate and allows the master to control the amount of work to hand out Disadvantage: too fine grain packet size tuning hurts scalability

ROOT Tutorials - Session 109 Workflow For Tree Analysis – Pull Architecture 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 Display histograms 0, , , , , ,40 440,50 590,60 Process(“ana.C”)

ROOT Tutorials - Session 1010 PROOF Error Handling Handling death of PROOF servers Death of master Fatal, need to reconnect Death of slave Master can resubmit packets of death slave to other slaves Handling of ctrl-c OOB message is send to master, and forwarded to slaves, causing soft/hard interrupt

ROOT Tutorials - Session 1011 PROOF Authentication PROOF supports secure and un-secure authentication mechanisms Un-secure Mangled password send over network Secure SRP, Secure Remote Password protocol (Stanford Univ.), public key technology Kerberos5 Globus

ROOT Tutorials - Session 1012 Architecture and Implementation

ROOT Tutorials - Session 1013 TSelector – The algorithms Basic ROOT TSelector // Abbreviated version class TSelector : public TObject { Protected: TList *fInput; TList *fOutput; public void Init(TTree*); void Begin(Ttree*); Bool_t Process(int entry); void Terminate(); };

ROOT Tutorials - Session 1014 TDSet – The data Specify a collection of TTrees or files with objects root[0] TDSet *d = new TDSet(“TTree”, “tracks”, “/”); OR root[0] TDSet *d = new TDSet(“TEvent”, “”, “/objs”); root[1] d->Add(“root://rcrs4001/a.root”); … root[10] d->Print(“a”); root[11] d->Process(“mySelector.C”, nentries, first); Returned by DB or File Catalog query etc. Use logical filenames (“lfn:…”)

ROOT Tutorials - Session 1015 Sandbox – The Environment Each slave runs in its own sandbox Identical, but independent Multiple file spaces in a PROOF setup Shared via NFS, AFS, shared nothing File transfers are minimized Cache Packages

ROOT Tutorials - Session 1016 Sandbox – The Cache Minimize the number of File transfers One Cache per file space Locking to guarantee consistency File identity and integrity ensured using MD5 digest Time stamps Transparent via TProof::Sendfile()

ROOT Tutorials - Session 1017 Sandbox – Package Manager Provide a collection of files in the sandbox Binary or Source packages PAR files: PROOF ARchive. Like Java jar Tar file, ROOT-INF directory BUILD.C or BUILD.sh SETUP.C, per slave setting API manage and activate packages

ROOT Tutorials - Session 1018 Implementation Highlights TProofPlayer class hierarchy Basic API to process events in PROOF Implement event loop Implement proxy for remote execution TEventIter Access to TTree or TObject derived collection Cache file, directory, tree

ROOT Tutorials - Session 1019 TProofPlayer Client Master Slave TPPRemote TPPSlave TProof TProofServ TProof

ROOT Tutorials - Session 1020 Simplified Message Flow Client Master Slave(s) SendFile Process(dset,sel,inp,num,first) GetEntries Process(dset,sel,inp,num,first) GetPacket ReturnResults(out,log)

ROOT Tutorials - Session 1021 Dynamic Histogram Binning Implemented using THLimitsFinder class Avoid synchronization between slaves Keep score-board in master Use histogram name as key First slave posts limits Master determines best bin size Others use these values

ROOT Tutorials - Session 1022 Merge API Collect output lists in master server Objects are identified by name Combine partial results Member function: Merge(TCollection *) Executed via CINT, no inheritance required Standard implementation for Histograms Otherwise return the individual objects

ROOT Tutorials - Session 1023 Setting Up PROOF

ROOT Tutorials - Session 1024 Setting Up PROOF Install ROOT system For automatic execution of daemons add proofd and rootd to /etc/inetd.conf (or in /etc/xinetd.d) and /etc/services (not mandatory, servers can be started by users) The rootd (1094) and proofd (1093) port numbers have been officially assigned by IANA Setup proof.conf file describing cluster Setup authentication files (globally, users can override)

ROOT Tutorials - Session 1025 PROOF Configuration File # PROOF config file. It has a very simple format: # # node [image= ] # slave [perf= ] # [image= ] [port= ] # [srp | krb5] # user on node csc02 image=nfs slave csc03 image=nfs slave csc04 image=nfs slave csc05 image=nfs slave csc06 image=nfs slave csc07 image=nfs slave csc08 image=nfs slave csc09 image=nfs slave csc10 image=nfs

ROOT Tutorials - Session 1026 The AliEn GRID

ROOT Tutorials - Session 1027 AliEn a Lightweight GRID AliEn ( ) is a lightweight alternative to full blown GRID based on standard components (SOAP, Web services) Distributed file catalogue as a global file system on a RDBMS TAG catalogue, as extension Secure authentication Central queue manager ("pull" vs "push" model) Monitoring infrastructure C/C++/perl API Automatic software installation with AliKit The Core GRID Functionality !! AliEn is routinely used in production for Alice PPR

ROOT Tutorials - Session 1028 AliEn Components DISK File catalogue: global file system on top of relational database Secure authentication service independent of underlying database Central task queue API Services (file transport, sync) Perl5 SOAP Architecture

ROOT Tutorials - Session 1029 AliEn Components ALICE USERS ALICE SIM Tier1 ALICE LOCAL |--./ | |--cern.ch/ | | |--user/ | | | |--a/ | | | | |--admin/ | | | | | | | | | |--aliprod/ | | | | | |--f/ | | | | |--fca/ | | | | | |--p/ | | | | |--psaiz/ | | | | | |--as/ | | | | | | | | |--dos/ | | | | | | | | |--local/ |--simulation/ | | / | | |--V3.05/ | | | |--Config.C | | | |--grun.C | |--36/ | | |--stderr | | |--stdin | | |--stdout | | |--37/ | | |--stderr | | |--stdin | | |--stdout | | |--38/ | | |--stderr | | |--stdin | | |--stdout | | | | | |--b/ | | | | |--barbera/ Files, commands (job specification) as well as job input and output, tags and even binary package tar files are stored in the catalogue File catalogue

ROOT Tutorials - Session 1030 AliEn Components --./ | |--r3418_01-01.root | |--r3418_02-02.root | |--r3418_03-03.root | |--r3418_04-04.root | |--r3418_05-05.root | |--r3418_06-06.root | |--r3418_07-07.root | |--r3418_08-08.root | |--r3418_09-09.root | |--r3418_10-10.root | |--r3418_11-11.root | |--r3418_12-12.root | |--r3418_13-13.root | |--r3418_14-14.root | |--r3418_15-15.root D0 path dir hostIndex entryId char(255) integer(11) T2526 type dir name owner ctime comment content method methodArg gowner size char(4) integer(8) char(64) char(8) char(16) char(80) char(255) char(20) char(255) char(8) integer(11) T2527 type dir name owner ctime comment content method methodArg gowner size char(4) integer(8) char(64) char(8) char(16) char(80) char(255) char(20) char(255) char(8) integer(11) Bookkeeping

ROOT Tutorials - Session 1031 AliEn Components Data access

ROOT Tutorials - Session 1032 PROOF and the GRID

ROOT Tutorials - Session 1033 PROOF Grid Interface PROOF can use a Grid Resource Broker to detect which nodes in a cluster can be used in the parallel session PROOF can use Grid File Catalogue and Replication Manager to map LFN’s to chain of PFN’s PROOF can use Grid Monitoring Services Access will be via abstract Grid interface

ROOT Tutorials - Session 1034 Different PROOF Scenarios – Static, stand-alone This scheme assumes: no third party grid tools remote cluster containing data files of interest PROOF binaries and libs installed on cluster PROOF daemon startup via (x)inetd per user or group authentication setup by cluster owner static basic PROOF config file In this scheme the user knows his data sets are on the specified cluster. From his client he initiates a PROOF session on the cluster. The master server reads the config file and fires as many slaves as described in the config file. User issues queries to analyse data in parallel and enjoy near real-time response on large queries. Pros: easy to setup Cons: not flexible under changing cluster configurations, resource availability, authentication, etc.

ROOT Tutorials - Session 1035 Different PROOF Scenarios – Dynamic, PROOF in Control This scheme assumes: grid resource broker, file catalog, meta data catalog, possible replication manager PROOF binaries and libraries installed on cluster PROOF daemon startup via (x)inetd grid authentication In this scheme the user queries a metadata catalog to obtain the set of required files (LFN's), then the system will ask the resource broker where best to run depending on the set of LFN's, then the system initiates a PROOF session on the designated cluster. On the cluster the slaves are created by querying the (local) resource broker and the LFN's are converted to PFN's. Query is performed. Pros: use grid tools for resource and data discovery. Grid authentication. Cons: require preinstalled PROOF daemons. User must be authorized to access resources.

ROOT Tutorials - Session 1036 Different PROOF Scenarios – Dynamic, AliEn in Control This scheme assumes: AliEn as resource broker and grid environment (taking care of authentication, possible via Globus) AliEn file catalog, meta data catalog, and replication manager In this scheme the user queries a metadata catalog to obtain the set of required files (LFN's), then hands over the PROOF master/slave creation to AliEn via an AliEn job. AliEn will find the best resources, copy the PROOF executables and start the PROOF master, the master will then connect back to the ROOT client on a specified port (callback port was passed as argument to AliEn job). In turn the slave servers are started again via the same mechanism. Once connections have been setup the system proceeds like in example 2. Pros: use AliEn for resource and data discovery. No pre-installation of PROOF binaries. Can run on any AliEn supported cluster. Fully dynamic. Cons: no guaranteed direct response due to the absence of dedicated "interactive" queues.

ROOT Tutorials - Session 1037 Different PROOF Scenarios – Dynamic, Condor in Control This scheme assumes: Condor as resource broker and grid environment (taking care of authentication, possible via Globus) Grid file catalog, meta data catalog, and replication manager This scheme is basically same as previous AliEn based scheme. Except for the fact that in the Condor environment Condor manages free resources and as soon as a slave node is reclaimed by its owner, it will kill or suspend the slave job. Before any of those events Condor will send a signal to the master so that it can restart the slave somewhere else and/or re-schedule the work of that slave on the other slaves. Pros: use grid tools for resource and data discovery. No pre- installation of PROOF binaries. Can run on any Condor pool. No specific authentication. Fully dynamic. Cons: no guaranteed direct response due to the absence of dedicated "interactive" queues. Slaves can come and go.

ROOT Tutorials - Session 1038 TGrid Class – Abstract Interface to AliEn class TGrid : public TObject { public: virtual Int_t AddFile(const char *lfn, const char *pfn) = 0; virtual Int_t DeleteFile(const char *lfn) = 0; virtual TGridResult *GetPhysicalFileNames(const char *lfn) = 0; virtual Int_t AddAttribute(const char *lfn, const char *attrname, const char *attrval) = 0; virtual Int_t DeleteAttribute(const char *lfn, const char *attrname) = 0; virtual TGridResult *GetAttributes(const char *lfn) = 0; virtual void Close(Option_t *option="") = 0; virtual TGridResult *Query(const char *query) = 0; static TGrid *Connect(const char *grid, const char *uid = 0, const char *pw = 0); ClassDef(TGrid,0) // ABC defining interface to GRID services };

ROOT Tutorials - Session 1039 Running PROOF Using AliEn TGrid *alien = TGrid::Connect(“alien”); TGridResult *res; res = alien->Query(“lfn:///alice/simulation/ /V0.6*.root“); TDSet *treeset = new TDSet("TTree", "AOD"); treeset->Add(res); gROOT->Proof(res); // use files in result set to find remote nodes treeset->Process(“myselector.C”); // plot/save objects produced in myselector.C...

ROOT Tutorials - Session 1040 Future Ongoing development Event lists Friend Trees Scalability to O(100) nodes Multi site PROOF sessions The GRID

ROOT Tutorials - Session 1041 Demo! The H1 example analysis code Use output list for histograms Move fitting to client 8 fold H1 example dataset 2.1 Gbyte 2.3 Million Events

ROOT Tutorials - Session 1042 Demo! Client machine PIII 700 MHz laptop Standard IDE disk Cluster with 4 nodes Dual Itanium 900 MHz / 4 GB 15K SCSI disk