Valeri Fine Athena/POOL integration.

Slides:



Advertisements
Similar presentations
Athena/POOL integration
Advertisements

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.
The POOL Persistency Framework POOL Summary and Plans.
D. Düllmann - IT/DB LCG - POOL Project1 POOL Release Plan for 2003 Dirk Düllmann LCG Application Area Meeting, 5 th March 2003.
David Adams ATLAS DIAL Distributed Interactive Analysis of Large datasets David Adams BNL March 25, 2003 CHEP 2003 Data Analysis Environment and Visualization.
David Adams ATLAS DIAL Distributed Interactive Analysis of Large datasets David Adams BNL June 23, 2003 GAE workshop Caltech.
Automated Tests in NICOS Nightly Control System Alexander Undrus Brookhaven National Laboratory, Upton, NY Software testing is a difficult, time-consuming.
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.
Software Engineering 2003 Jyrki Nummenmaa 1 CASE Tools CASE = Computer-Aided Software Engineering A set of tools to (optimally) assist in each.
Nightly Releases and Testing Alexander Undrus Atlas SW week, May
David Adams ATLAS ATLAS Distributed Analysis David Adams BNL March 18, 2004 ATLAS Software Workshop Grid session.
Software Life Cycle Requirements and problem analysis. –What exactly is this system supposed to do? Design –How will the system solve the problem? Coding.
Prelude Many questions/points have been raised in recent weeks, and forwarded by David Stickland to me: n Views on storage technology choices n Views on.
LCG Middleware Testing in 2005 and Future Plans E.Slabospitskaya, IHEP, Russia CERN-Russia Joint Working Group on LHC Computing March, 6, 2006.
N ATIONAL E NERGY R ESEARCH S CIENTIFIC C OMPUTING C ENTER Charles Leggett The Athena Control Framework in Production, New Developments and Lessons Learned.
Event Data History David Adams BNL Atlas Software Week December 2001.
GLAST Gaudi Code Review, 10 Sept. 2002, H. Kelly, 2-1 GLAST Event Data Model and Persistency.
Recent Software Issues L3 Review of SM Software, 28 Oct Recent Software Issues Occasional runs had large numbers of single-event files. INIT message.
An RTAG View of Event Collections, and Early Implementations David Malon ATLAS Database Group LHC Persistence Workshop 5 June 2002.
24/06/03 ATLAS WeekAlexandre Solodkov1 Status of TileCal software.
Feedback from the POOL Project User Feedback from the POOL Project Dirk Düllmann, LCG-POOL LCG Application Area Internal Review October 2003.
ATLAS Offline Database Architecture for Time-varying Data, with Requirements for the Common Project David M. Malon LCG Conditions Database Workshop CERN,
A university for the world real R © 2009, Chapter 9 The Runtime Environment Michael Adams.
DBT544. DB2/400 Advanced Features Level Check Considerations Database Constraints File Overrides Object and Record Locks Trigger Programs.
David Adams ATLAS DIAL/ADA JDL and catalogs David Adams BNL December 4, 2003 ATLAS software workshop Production session 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
David Adams ATLAS Virtual Data in ATLAS David Adams BNL May 5, 2002 US ATLAS core/grid software meeting.
D. Adams, D. Liko, K...Harrison, C. L. Tan ATLAS ATLAS Distributed Analysis: Current roadmap David Adams – DIAL/PPDG/BNL Dietrich Liko – ARDA/EGEE/CERN.
STAR Schema Evolution Implementation in ROOT I/O V. Perevoztchikov Brookhaven National Laboratory,USA.
Status of the LAr OO Reconstruction Srini Rajagopalan ATLAS Larg Week December 7, 1999.
STAR C OMPUTING Plans for Production Use of Grand Challenge Software in STAR Torre Wenaus BNL Grand Challenge Meeting LBNL 10/23/98.
LCG Applications Area Meeting - 5 Feb 2003 ATLAS Strategy for the Data Dictionary & Persistency David R. Quarrie Lawrence Berkeley National Laboratory.
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.
G.Govi CERN/IT-DB 1 September 26, 2003 POOL Integration, Testing and Release Procedure Integration  Packages structure  External dependencies  Configuration.
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.
K. Harrison CERN, 3rd March 2004 GANGA CONTRIBUTIONS TO ADA RELEASE IN MAY - Outline of Ganga project - Python support for AJDL - LCG analysis service.
- GMA Athena (24mar03 - CHEP La Jolla, CA) GMA Instrumentation of the Athena Framework using NetLogger Dan Gunter, Wim Lavrijsen,
D. Duellmann - IT/DB LCG - POOL Project1 The LCG Dictionary and POOL Dirk Duellmann.
Overview of C/C++ DB APIs Dirk Düllmann, IT-ADC Database Workshop for LHC developers 27 January, 2005.
Gaudi Framework Tutorial, April Creating Objects and Writing Data.
Introduction S. Rajagopalan August 28, 2003 US ATLAS Computing Meeting.
INFSO-RI Enabling Grids for E-sciencE Using of GANGA interface for Athena applications A. Zalite / PNPI.
Summary of persistence discussions with LHCb and LCG/IT POOL team David Malon Argonne National Laboratory Joint ATLAS, LHCb, LCG/IT meeting.
ATLAS Data Dictionary A. Bazan, T. Bouedo, P. Ghez, T. Le Flour, S. Lieunard M. Marino, C. Tull.
STAR Persistent Pointers in the STAR Micro-DST V. Perevoztchikov Brookhaven National Laboratory,USA.
David Adams ATLAS ATLAS Distributed Analysis (ADA) David Adams BNL December 5, 2003 ATLAS software workshop CERN.
27/02/04 ATLAS weekTileCal Athena tutorial, part 21 TileCal Athena tutorial Part 2: Reading GEANT hits from ZEBRA and POOL Reading HLT and testbeam ByteStream.
N ATIONAL E NERGY R ESEARCH S CIENTIFIC C OMPUTING C ENTER Charles Leggett Prototype GEANT4 Service for ATHENA framework ATLAS Software Workshop Dec 3.
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.
I/O and Metadata Jack Cranshaw Argonne National Laboratory November 9, ATLAS Core Software TIM.
POOL Based CMS Framework Bill Tanenbaum US-CMS/Fermilab 04/June/2003.
POOL Historical Notes POOL has been the most advanced and the most used AA project. Currently, excellent teamwork with experiments on new features and.
Mini-Workshop on multi-core joint project Peter van Gemmeren (ANL) I/O challenges for HEP applications on multi-core processors An ATLAS Perspective.
ATLAS Distributed Computing Tutorial Tags: What, Why, When, Where and How? Mike Kenyon University of Glasgow.
David Adams ATLAS DIAL Distributed Interactive Analysis of Large datasets David Adams BNL May 19, 2003 BNL Technology Meeting.
David Adams ATLAS Hybrid Event Store Integration with Athena/StoreGate David Adams BNL March 5, 2002 ATLAS Software Week Event Data Model and Detector.
LHCb Software Week 25/11/99 Gonzalo Gracia Abril 1 r Status of Geant4 in LHCb. r Ideas on how to populate the LHCb Detector Description Data Base (LHCb.
Athena I/O Component Refactorization - Overview Random notes about todays agenda. Peter Van Gemmeren (Argonne National Laboratory (US))
Chapter 21 SGA Architecture and Wait Event Summarized & Presented by Yeon JongHeum IDS Lab., Seoul National University.
Root I/O and the Gaudi Framework
(on behalf of the POOL team)
POOL persistency framework for LHC
Dirk Düllmann CERN Openlab storage workshop 17th March 2003
First Internal Pool Release 0.1
Agile testing for web API with Postman
Presentation transcript:

Valeri Fine Athena/POOL integration

Valeri Fine AthenaPOOL components are components of the Athena framework From the Atlas “Athena” framework point of view the POOL provides just a new kind of I/O technology. This means the “integration” within Athena means a concrete implementation of Athena Conversion service for POOL- technology first of all. The implementation project was present collaboration

Valeri Fine History Athena 5.2.0; POOL pre-release Athena 5.3.0; POOL pre-release Athena 6.1.0; POOL first public release (AthenaPOOL-17 public release) Athena 6.2.0; POOL 1.0.0; AthenaPOOL-22 Athena 6.3.0; POOL 1.0.0; AthenaPOOL-39 Athena 6.4.0; POOL 1.1.0; AthenaPOOL-45 Athena 6.5.0; POOL 1.1.0; AthenaPOOL-51 Athena 6.6.0; POOL 1.2.0; AthenaPOOL-58 Athena 7.0.0; POOL 1.2.0; AthenaPOOL-62 Athena ; POOL 1.3.0; coming soon With 3 weeks Athena release pace, and 1 week to freeze the core package requirement, and 1 week to make release up we have 1 “effective development” week per release.

Valeri Fine AtlasPOOL CVS repository

Valeri Fine AtlasPOOL example package

Valeri Fine Conversion Process See: Athena. Chapter 15 Converters AthenaPoolConverter AthenaPoolAddress AthenaPoolCnvSvc AthenaPoolCnv

Valeri Fine POOL I/O for Athena algorithm AthenaPoolCnvSvcPoolSvc IService POOL Db files (ROOT) Athena Algorithm StoreGate File Catalog (XML) POOL Collection EventHeader (MySQL) jobOptions SEAL C++ class headers File ID The user should provide 2 things: 1.Collection to store /retrieve the object 2.Object pointer / token LCG dictionary Athena converter POOL token

Valeri Fine How to prepare your data object and algorithm for POOL I/O Athena “Algorithm” is not affected One extra step is required for the “data object” – prepare LCG dictionary Prepare Athena “converter” Prepare job options Run “athena”

Valeri Fine AthenaPOOL MySQL “collecton” - EventHeader

Valeri Fine Example of the AtlasPOOL collection

Valeri Fine Job option to read /write via POOL One needs to remember very few things : Define the Athena Conversion service for POOL I/O technology. To do that it is sufficient to include in the jobOption file:to include #include "$ATHENAPOOLCNVSVCROOT/share/WriteAthenaPool_jobOptions.txt" This is to load and define two POOL-related Athena services: ApplicationMgr.DLLs += { "PoolSvc", "AthenaPoolCnvSvc" }; ApplicationMgr.ExtSvc += { "PoolSvc", "AthenaPoolCnvSvc" }; Define the Athena Converter for each package involvedDefine ApplicationMgr.DLLs += { "AthenaPoolExampleConverter" }; where AthenaPoolExampleConverter name of the user-provided converter share library Provide the StoreGate Stream and the list of the class StoreGate ID’s for those instances of the classes one wants to be written outProvide Stream1.ItemList += {"9876#*" }; Define the POOL Db collection to keep the track about the stored eventsthe POOL Db collection PoolSvc.Collection = “MyCollectionPoolTry"; where " MyCollectionPoolTry " is a unique name of the current session in the MySQL Db. Define (temporary) the name of the ROOT file to write these events out. PoolSvc.Output = "SimplePoolFile.root"; PoolSvc may be provided with the optional POOL collection factory parameters to describe the various type collections

Valeri Fine Read the objects from the POOL To read the events back one has to load a special implementation of the Athena EventSelector class and the name of the input Db collection.To read the events back To define the POOL event Selector implementation one can add the include statement #include $ATHENAPOOLCNVSVCROOT/share/ReadAthenaPool_jobOptions.txt" to his/her jobOptions. To define the POOL input collection the statement: EventSelector.InputCollection = "NewPoolTry"; where "NewPoolTry" is a name of the collection one wants to read the events from. The file ID is stored in the Db. By this reason one needs to provide NO file name to read the events back. In fact the file name is the POOL Db parameter rather the user- provided attribute

Valeri Fine Quick Db check The named collection can be seen via from MySql Db. To browse the Atlas default Db MySql Db select "pool_collection" from the drop- down "(databases)" menu and the select the name of your collection.

Valeri Fine Conclusion At the moment the fundamental problem of providing a tool to build the class dictionary and object Athena converters automatically solved. The Atlas user can try it and the developer group can assist them to collect the valuable feedback, and provide the feedback to the POOL developers. Even though we may focus on other directions some problems should have been anticipated.

Valeri Fine C++ class serialization problem There are two anticipated problems to be resolved: –Not enough SEAL/POOL capability to serialize some particular Athena C++ class: Can be resolved by class redesign Fix SEAL/POOL –Internal Athena class design problem caused its transient nature. The original I/O Gaudi paradigm came from the “Objectivity” that implied two hand-written classes, namely persistent class and class converter per each user data-class. Using ROOT- approach, generating automatically the class dictionary directly from its C++ definition eliminates those hand–written classes. However the classes originally were not design to be persistent that may have caused the problem. Can be resolved by class redesign

Valeri Fine How to find the “broken” class One has to try. It is a simplest way to find out the classes to be adjusted. Conclusion: –The current level of implementation allows us to seek the collaboration-wide trial.

Valeri Fine Three ways to evolve C++ class serialization problem (I/O and dictionary) – needs the collaboration participation. It is not clear why one is required to provide the list of the class data- members. The LCG OO dictionary is in possession of this infomrstion. Required the user to change “selection.xml” as soon as his /her class evolves. This would have tremendously simplified the user life. POOL Db related problem – just next Athena/POOL integration step to be done. Athena/Pool Optimization – Removing the duplicated functionality – Selection the proper combination of the Db options POOL provides. These cause no immediate problem. We have time to work out Atlas own proper solution or wait POOL Data Service evolves.

Valeri Fine POOL is an OO Db User doesn’t play with any file. The file name is an internal POOL unit and available through the POOL file catalog. The user defines the object he wants to be written out (in term of StoreGate) and the type Db to keep the “event track” (for example MySQL collection name) Questions to be addressed yet: Who allocates the POOL file space and where? How to choose the Db collection name to avoid clashes? Such kind of questions are not new for the Athena. It the same problem we faced to select and assign a unique class id for each class kept in StoreGate.

Valeri Fine Thank you. ATLAS team: POOL/LCG team David Adams (BNL) Dirk Dulleman Christian Arnault Markus Frank Hong Ma (BNL) Ioannis David Melon Torre Wenaus David Quarrie RD Schaffer Alex Undrus