CHEP 2004, Core Software Integration of POOL into three Experiment Software Frameworks Giacomo Govi CERN IT-DB & LCG-POOL K. Karr, D. Malon, A. Vaniachine.

Slides:



Advertisements
Similar presentations
Object Persistency & Data Handling Session C - Summary Object Persistency & Data Handling Session C - Summary Dirk Duellmann.
Advertisements

Athena/POOL integration
CERN - IT Department CH-1211 Genève 23 Switzerland t LCG Persistency Framework CORAL, POOL, COOL – Status and Outlook A. Valassi, R. Basset,
25 th March 2003 V.Fine, H.Ma CHEP 2003, San Diego 1 Root Based Persistency in Athena (ATLAS) by Valeri Fine and Hong Ma.
1 Databases in ALICE L.Betev LCG Database Deployment and Persistency Workshop Geneva, October 17, 2005.
RLS Production Services Maria Girone PPARC-LCG, CERN LCG-POOL and IT-DB Physics Services 10 th GridPP Meeting, CERN, 3 rd June What is the RLS -
D. Düllmann - IT/DB LCG - POOL Project1 POOL Release Plan for 2003 Dirk Düllmann LCG Application Area Meeting, 5 th March 2003.
POOL Project Status GridPP 10 th Collaboration Meeting Radovan Chytracek CERN IT/DB, GridPP, LCG AA.
SEAL V1 Status 12 February 2003 P. Mato / CERN Shared Environment for Applications at LHC.
M.Frank LHCb/CERN - In behalf of the LHCb GAUDI team Data Persistency Solution for LHCb ã Motivation ã Data access ã Generic model ã Experience & Conclusions.
LC Software Workshop, May 2009, CERN P. Mato /CERN.
Conditions DB in LHCb LCG Conditions DB Workshop 8-9 December 2003 P. Mato / CERN.
Software Solutions for Variable ATLAS Detector Description J. Boudreau, V. Tsulaia University of Pittsburgh R. Hawkings, A. Valassi CERN A. Schaffer LAL,
CHEP 2006, Mumbai13-Feb-2006 LCG Conditions Database Project COOL Development and Deployment: Status and Plans Andrea Valassi On behalf of the COOL.
LCG Application Area Internal Review Persistency Framework - Project Overview Dirk Duellmann, CERN IT and
GLAST Gaudi Code Review, 10 Sept. 2002, H. Kelly, 2-1 GLAST Event Data Model and Persistency.
NOVA Networked Object-based EnVironment for Analysis P. Nevski, A. Vaniachine, T. Wenaus NOVA is a project to develop distributed object oriented physics.
The History and Future of ATLAS Data Management Architecture D. Malon, S. Eckmann, A. Vaniachine (ANL), J. Hrivnac, A. Schaffer (LAL), D. Adams (BNL) CHEP’03.
CHEP 2003 March 22-28, 2003 POOL Data Storage, Cache and Conversion Mechanism Motivation Data access Generic model Experience & Conclusions D.Düllmann,
ALICE, ATLAS, CMS & LHCb joint workshop on
ATLAS Detector Description Database Vakho Tsulaia University of Pittsburgh 3D workshop, CERN 14-Dec-2004.
An RTAG View of Event Collections, and Early Implementations David Malon ATLAS Database Group LHC Persistence Workshop 5 June 2002.
CERN Physics Database Services and Plans Maria Girone, CERN-IT
CHEP /21/03 Detector Description Framework in LHCb Sébastien Ponce CERN.
The POOL Persistency Framework POOL Project Review Introduction & Overview Dirk Düllmann, IT-DB & LCG-POOL LCG Application Area Internal Review October.
STAR Event data storage and management in STAR V. Perevoztchikov Brookhaven National Laboratory,USA.
GDB Meeting - 10 June 2003 ATLAS Offline Software David R. Quarrie Lawrence Berkeley National Laboratory
7/6/2004 CMS weekZhen Xie 1 POOL RDBMS abstraction layer status & plan Zhen Xie Princeton University.
NOVA A Networked Object-Based EnVironment for Analysis “Framework Components for Distributed Computing” Pavel Nevski, Sasha Vanyashin, Torre Wenaus US.
Integration of the ATLAS Tag Database with Data Management and Analysis Components Caitriana Nicholson University of Glasgow 3 rd September 2007 CHEP,
CHEP /21/03 Detector Description Framework in LHCb Sébastien Ponce CERN.
Detector Description in LHCb Detector Description Workshop 13 June 2002 S. Ponce, P. Mato / CERN.
SEAL Project Overview LCG-AA Internal Review October 2003 P. Mato / CERN.
Database authentication in CORAL and COOL Database authentication in CORAL and COOL Giacomo Govi Giacomo Govi CERN IT/PSS CERN IT/PSS On behalf of the.
23/2/2000Status of GAUDI 1 P. Mato / CERN Computing meeting, LHCb Week 23 February 2000.
D. Duellmann - IT/DB LCG - POOL Project1 The LCG Pool Project and ROOT I/O Dirk Duellmann What is Pool? Component Breakdown Status and Plans.
Some Ideas for a Revised Requirement List Dirk Duellmann.
Testing and integrating the WLCG/EGEE middleware in the LHC computing Simone Campana, Alessandro Di Girolamo, Elisa Lanciotti, Nicolò Magini, Patricia.
Valeri Fine Athena/POOL integration.
Andrea Valassi (CERN IT-DB)CHEP 2004 Poster Session (Thursday, 30 September 2004) 1 HARP DATA AND SOFTWARE MIGRATION FROM TO ORACLE Authors: A.Valassi,
ATLAS-specific functionality in Ganga - Requirements for distributed analysis - ATLAS considerations - DIAL submission from Ganga - Graphical interfaces.
D. Duellmann - IT/DB LCG - POOL Project1 The LCG Dictionary and POOL Dirk Duellmann.
The SEAL Component Model Radovan Chytracek CERN IT/DB, LCG AA On behalf of LCG/SEAL team This work received support from Particle Physics and Astronomy.
CHEP 2004, POOL Development Status & Plans POOL Development Status and Plans K. Karr, D. Malon, A. Vaniachine (Argonne National Laboratory) R. Chytracek,
INFSO-RI Enabling Grids for E-sciencE Using of GANGA interface for Athena applications A. Zalite / PNPI.
Vincenzo Innocente, CERN/EPUser Collections1 Grid Scenarios in CMS Vincenzo Innocente CERN/EP Simulation, Reconstruction and Analysis scenarios.
Summary of persistence discussions with LHCb and LCG/IT POOL team David Malon Argonne National Laboratory Joint ATLAS, LHCb, LCG/IT meeting.
POOL Status and Plans Current developments and proposed workplan for 2005 Ioannis Papadopoulos, CERN IT/ADC 31/3/2005 LCG Applications Area Internal Review.
1 A Scalable Distributed Data Management System for ATLAS David Cameron CERN CHEP 2006 Mumbai, India.
G.Govi CERN/IT-DB 1GridPP7 June30 - July 2, 2003 Data Storage with the POOL persistency framework Motivation Strategy Storage model Storage operation Summary.
Status of tests in the LCG 3D database testbed Eva Dafonte Pérez LCG Database Deployment and Persistency Workshop.
POOL & ARDA / EGEE POOL Plans for 2004 ARDA / EGEE integration Dirk Düllmann, IT-DB & LCG-POOL LCG workshop, 24 March 2004.
Next-Generation Navigational Infrastructure and the ATLAS Event Store Abstract: The ATLAS event store employs a persistence framework with extensive navigational.
D. Duellmann, IT-DB POOL Status1 POOL Persistency Framework - Status after a first year of development Dirk Düllmann, IT-DB.
POOL Based CMS Framework Bill Tanenbaum US-CMS/Fermilab 04/June/2003.
David Adams ATLAS Hybrid Event Store Integration with Athena/StoreGate David Adams BNL March 5, 2002 ATLAS Software Week Event Data Model and Detector.
(on behalf of the POOL team)
CMS High Level Trigger Configuration Management
POOL: Component Overview and use of the File Catalog
POOL persistency framework for LHC
Dirk Düllmann CERN Openlab storage workshop 17th March 2003
First Internal Pool Release 0.1
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
SW Architecture SG meeting 22 July 1999 P. Mato, CERN
Grid Data Integration In the CMS Experiment
LHCb Detector Description Framework Radovan Chytracek CERN Switzerland
Detector Description in LHCb
Simulation and Physics
Planning next release of GAUDI
LHCb Detector Description Framework Radovan Chytracek CERN Switzerland
Presentation transcript:

CHEP 2004, Core Software Integration of POOL into three Experiment Software Frameworks Giacomo Govi CERN IT-DB & LCG-POOL K. Karr, D. Malon, A. Vaniachine (Argonne National Laboratory) P. Van Gemmeren (BNL) R. Chytracek, D. Duellmann, M. Frank, M. Girone, G. Govi, V. Innocente, P. Mato Vila, J. Moscicki, I. Papadopoulos, H. Schmuecker (CERN) R D Schaffer (LAL-IN2P3) Z. Xie (Princeton University ) T. Barrass (University of Bristol) C. Cioffi (University of Oxford) W. Tanenbaum (Fermi National Accelerator Laboratory)

CHEP 2004, Core SoftwareG.Govi, IT-DB2OUTLINE POOL Project mandate ATLAS, CMS, LHCb integration Commonalities and differences Learning from integration experience Conclusions

CHEP 2004, Core SoftwareG.Govi, IT-DB3 POOL project mandate Provide a framework for C++ object persistency - - API neutral on storage technology - Root and RDBMS backends - File access integrated with current GRID technologies Follow up experiment specific requirements - Extract ‘synthesis’ among many (overlapping) use cases - Resolve conflicting requirements - Find common solutions Encourage concrete experiment participation - - Include experiment members in the POOL Core developers team - Follow up quick integration of POOL releases in the experiment framework - Involve experiment in the validation phase of release processes. Re-use experience from previously adopted Persistency- related technologies: Objectivity, Gaudi, RD45

CHEP 2004, Core Software G.Govi, IT-DB 4 ATLAS: The Overall approach of the experiment framework on object Persistency   From the Athena/Gaudi framework point of view, POOL is just a new I/O “technology”  This implies writing a new conversion service  Main components:  AthenaPoolCnvSvc - conversion service  AthenaPoolConverter - converter base class  T_AthenaPoolCnv - templated converters  PoolSvc - Athena/Gaudi service interface to POOL  Allows jobOptions  DataHeader - stores the refs of the Event Data Objects  Ref to DataHeader is inserted in the event collection   ATLAS has simplified the user interface by allowing “generic” converters:  Use templated converter and generate the necessary classes to create the converter automatically  User just needs to specify a “.h” file for each DataObject (pool ref’ed object) to be stored

CHEP 2004, Core Software G.Govi, IT-DB 5 ATLAS: The Overall approach of the experiment framework on object Persistency Algorithm Transient Data Store ADataObj SubObj1 SubObj2 SubObj3 IDataObj retrieve(ptr, “key”) or record(ptr, “key”) Data Service Conversion Service Persistency Service PoolSvc AthenPoolCnvSvc ROOT files POOL::DataSvc POOL::FileCatalog Athena services POOL-specific Athena services POOL services generic conversion

CHEP 2004, Core Software G.Govi, IT-DB 6 ATLAS: The POOL components used  POOL DataSvc is for now the entry point for object persistency  Two caches: input/output, use Ref for object I/O  Cache functionality is not strictly needed => duplicates Athena/Gaudi transient store  Object lifetime managed by Athena/Gaudi transient store   For event storage, using: RootStorageSvc and Implicit collections   Some conditions storage using RootStorageSvc  Support both Tree-based and Key-based ROOT storage, selectable in Athena via JobOptions  Using ROOT Trees as default for now to gain experience  Key-based approach is similar to what has already been tested in ATLAS via Objectivity  Expect to also use Object/Relational storage when available   Using XML catalogs for local data access, EDG RLS and Globus RLS for master file catalogs   For tag collections: using both Root and MySQL collections   Currently deploying Oracle DB for detector description parameters via Relational Access Layer

G.Govi, IT-DB Slide 7 Use of POOL in CMS: current status  COBRA OSCAR ORCA  Current version being tested using last POOL internal release  Production still use pool 1.7  Usable for production, deployed to physicists  Used for SW tutorials each Friday since autumn 2003  35 Million events produced with OSCAR (G4 simulation)  Essentially same functionality as previous Objectivity-based code  Limitations  No concurrent update of databases ▫ No direct connection to central database while running  Remote access limited to RFIO or dCache (soon GFAL?)  No Schema evolution  Added values  No need of a common base class (ooObj)  Native support of stl containers  Support for transient attributes

G.Govi, IT-DB Slide 8 Algorithm Context (Event) pool Refs Local transient store Persistent store POOL DataSvc (Object cache) Reconstruction on demand Data Access in CMS Retrieve a chunk

G.Govi, IT-DB Slide 9 What CMS uses of POOL Transition from Objectivity to Pool inspired by a minimum impact principle All objects (event and metadata) are stores as root keyed-objects (no root-tree) Only object navigation is used, no other access mechanisms Ref  Full interface File Catalog  Full interface  XML implementation in Physics Applications  MySQL & RLS used in production (DC04) Session  Only Transaction Management  No explicit Database/Container handling

CHEP 2004, Core Software G.Govi, IT-DB 10 LHCb Goals for POOL Integration Keep the existing framework architecture –Objects are transient and reside in “Data Stores” source for conversion to persistent or graphical representation –“Algorithms” access objects by “logical name” from a data store Keep the existing event model description –Code (headers) generated from XML files Need to access existing data –Read data with pre-POOL software (ROOT based) Usage of POOL transparent to end-users (physicists)

CHEP 2004, Core Software G.Govi, IT-DB 11 Data Access in Gaudi Applications POOL (5) Register Data Service Algorithm (1) retrieveObject(…) Try to access an object data (2) Search in Store Data Store (3) Request load Persistency Service Conversion Service Technology dispatcher Persistency Service Storage Service Storage Service Conversion Service(s) Conversion Service(s)

CHEP 2004, Core Software G.Govi, IT-DB 12 Customization of POOL for Gaudi Currently main technology for event storage –Write event data in ROOT tree-mode –Detector data etc. not (yet) implemented POOL components used –FileCatalog (XML flavor), PersistencySvc, StorageSvc + ROOT backend implementation –Collections ?? Usage of Gaudi object cache –Efficiently Managed by the Gaudi framework Event / time interval (detector description), … –Tree like structure, like file system “/Event/MC/Particles” –Consequence on reference implementation Dictionaries generated from XML event description –Non trivial: Dictionary completeness

CHEP 2004, Core SoftwareG.Govi, IT-DB13 Commonalities & differences I Common starting point: re-use code from existing frameworks - Minimize the impact of the integration / migration to POOL supported technologies - Results in three rather different integration approaches - POOL API design highly influenced by experiment-specific requirements driven by this principle Root backend adopted as main storage technology for event data - With tree-based container (Atlas,LHCb) - With key-based container (CMS) - Common Interest in the future development of RDBMS backend Common choice of file bookkeeping through POOL catalogues - XML catalog adopted in the three production chains

CHEP 2004, Core SoftwareG.Govi, IT-DB14 Commonalities & differences II Object caching and navigation - ATLAS: Integrate POOL Ref API with the Athena object store, using a customized ownership policy - CMS: Replace Objectivity with the POOL OO-db API (similar rules for navigation) Both approaches are object-based and leave implicit the database and container management - LHCb : Integrate a lower-level component (PersistencySvc). Object bookkeeping and navigation left to Gaudi framework. A Service-based approach. Database and container management are explicitly controlled.

CHEP 2004, Core SoftwareG.Govi, IT-DB15 Learning from Integration Experiences Differences are large in the object transient store and navigation area. -The navigation mechanism strongly influences the Cache features (object lifetime management, semantics for object association) -Some experiment framework already had specific object bookkeeping services – not easily re-usable for common purposes -A real decoupling of the Ref implementation from the Cache details is difficult to achieve -A review of the top level architecture and API (done in 2003 with the experiments) could not find a common solution

CHEP 2004, Core SoftwareG.Govi, IT-DB16Remarks ATLAS –Some complex components of the data model and some StoreGate constructs were initially difficult to persistify in POOL –Some compromises made; ATLAS event data model is for the most part persistifiable in POOL today (sufficient for the Data Challenge) CMS –Integration started early with the first POOL releases: important contribution to debugging and consolidation –Root based streaming in POOL not optimized for UPDATE operation LHCb –High level of customization required to POOL API to minimize integration impact –POOL (or ROOT storing complex objects) needs considerable more CPU consumption than the simple Gaudi object serialization (based on BLOB structures) –But: ROOT provides schema evolution; BLOB serialization did not

CHEP 2004, Core SoftwareG.Govi, IT-DB17Conclusions POOL has been successfully integrated in three of the LHC experiment software frameworks and used in data challenges - The common solution provided satisfies requirements for production - As required by all experiment, the impact of the POOL integration to the existing framework has been kept reasonably low Integration approaches differ in the object navigation area - POOL component usage follows the different requirements of the experiment frameworks - Some area of duplication still present among POOL and the experiment framework The core pool components are all used - by at least one experiment Common view to look forward - Improve performance (where possible) for the Root backend - Provide a RDBMS backend