D. Duellmann - IT/DB LCG - POOL Project1 The LCG Dictionary and POOL Dirk Duellmann.

Slides:



Advertisements
Similar presentations
An Object/Relational Mapping tool Free and open source Simplifies storage of object data in a relational database Removes the need to write and maintain.
Advertisements

Database System Concepts and Architecture
1 Copyright 1998 by Dragos Manolescu and Joseph W. Yoder Building Frameworks With Patterns “An Active Object-Model For A Dynamic Web-Based Application”
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.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
Emerging Platform#4: Android Bina Ramamurthy.  Android is an Operating system.  Android is an emerging platform for mobile devices.  Initially developed.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
SEAL V1 Status 12 February 2003 P. Mato / CERN Shared Environment for Applications at LHC.
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
Raffaele Di Fazio Connecting to the Clouds Cloud Brokers and OCCI.
REVIEW OF NA61 SOFTWRE UPGRADE PROPOSAL. Mandate The NA61 experiment is contemplating to rewrite its fortran software in modern technology and are requesting.
David Adams ATLAS ATLAS Distributed Analysis David Adams BNL March 18, 2004 ATLAS Software Workshop Grid session.
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
Conditions DB in LHCb LCG Conditions DB Workshop 8-9 December 2003 P. Mato / CERN.
The Procedure Abstraction, Part V: Support for OOLs Comp 412 Copyright 2010, Keith D. Cooper & Linda Torczon, all rights reserved. Students enrolled in.
SEAL: Core Libraries and Services Project CERN/IT After-C5 Meeting 6 June 2003 P. Mato / CERN.
March 27, 2007HPC 07 - Norfolk, VA1 C++ Reflection for High Performance Problem Solving Environments Tharaka Devadithya 1, Kenneth Chiu 2, Wei Lu 1 1.
CHEP 2003 March 22-28, 2003 POOL Data Storage, Cache and Conversion Mechanism Motivation Data access Generic model Experience & Conclusions D.Düllmann,
MINER A Software The Goals Software being developed have to be portable maintainable over the expected lifetime of the experiment extensible accessible.
Lesson Overview 3.1 Components of the DBMS 3.1 Components of the DBMS 3.2 Components of The Database Application 3.2 Components of The Database Application.
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © 2006 GridCOMP Grids Programming with components. An.
Computer Systems & Architecture Lesson 4 8. Reconstructing Software Architectures.
SEAL Project Overview Lorenzo Moneta/ CERN-EP on behalf of the SEAL team ACAT03 IX International Workshop on Advanced Computing and Analysis Techniques.
POOL Status and Plans Dirk Düllmann IT-DB & LCG-POOL Application Area Meeting 10 th March 2004.
SEAL: Common Core Libraries and Services for LHC Applications CHEP’03, March 24-28, 2003 La Jolla, California J. Generowicz/CERN, M. Marino/LBNL, P. Mato/CERN,
SEAL Core Libraries and Services CLHEP Workshop 28 January 2003 P. Mato / CERN Shared Environment for Applications at LHC.
SEAL Project Core Libraries and Services 18 December 2002 P. Mato / CERN Shared Environment for Applications at LHC.
The POOL Persistency Framework POOL Project Review Introduction & Overview Dirk Düllmann, IT-DB & LCG-POOL LCG Application Area Internal Review October.
ASP (Active Server Pages) by Bülent & Resul. Presentation Outline Introduction What is an ASP file? How does ASP work? What can ASP do? Differences Between.
Apr. 8, 2002Calibration Database Browser Workshop1 Database Access Using D0OM H. Greenlee Calibration Database Browser Workshop Apr. 8, 2002.
7/6/2004 CMS weekZhen Xie 1 POOL RDBMS abstraction layer status & plan Zhen Xie Princeton University.
- Athena Data Dictionary (28nov00 - SW CERN) Athena Data Dictionary Craig E. Tull HCG/NERSC/LBNL Software CERN November 28,
INFSO-RI Enabling Grids for E-sciencE Ganga 4 – The Ganga Evolution Andrew Maier.
G.Govi CERN/IT-DB 1 September 26, 2003 POOL Integration, Testing and Release Procedure Integration  Packages structure  External dependencies  Configuration.
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.
LCG Distributed Databases Deployment – Kickoff Workshop Dec Database Lookup Service Kuba Zajączkowski Chi-Wei Wang.
Overview of C/C++ DB APIs Dirk Düllmann, IT-ADC Database Workshop for LHC developers 27 January, 2005.
CINT & Reflex – The Future CINT’s Future Layout Reflex API Work In Progress: Use Reflex to store dictionary data Smaller memory footprint First step to.
Summary of persistence discussions with LHCb and LCG/IT POOL team David Malon Argonne National Laboratory Joint ATLAS, LHCb, LCG/IT meeting.
G.Govi CERN/IT-DB 1GridPP7 June30 - July 2, 2003 Data Storage with the POOL persistency framework Motivation Strategy Storage model Storage operation Summary.
ATLAS Data Dictionary A. Bazan, T. Bouedo, P. Ghez, T. Le Flour, S. Lieunard M. Marino, C. Tull.
POOL & ARDA / EGEE POOL Plans for 2004 ARDA / EGEE integration Dirk Düllmann, IT-DB & LCG-POOL LCG workshop, 24 March 2004.
David Adams ATLAS ATLAS Distributed Analysis and proposal for ATLAS-LHCb system David Adams BNL March 22, 2004 ATLAS-LHCb-GANGA Meeting.
D. Duellmann - IT/DB LCG - POOL Project1 Internal Pool Release V0.2 Dirk Duellmann.
Follow-up to SFT Review (2009/2010) Priorities and Organization for 2011 and 2012.
D. Duellmann, IT-DB POOL Status1 POOL Persistency Framework - Status after a first year of development Dirk Düllmann, IT-DB.
Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)
A Presentation Presentation On JSP On JSP & Online Shopping Cart Online Shopping Cart.
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.
SEAL: Common Core Libraries and Services for LHC Applications
SEAL Project Overview Lorenzo Moneta/ CERN-EP ACAT03
(on behalf of the POOL team)
More Interfaces Workplan
POOL persistency framework for LHC
Dirk Düllmann CERN Openlab storage workshop 17th March 2003
First Internal Pool Release 0.1
Grid Data Integration In the CMS Experiment
Lecture 1: Multi-tier Architecture Overview
Analysis models and design models
POOL Status & Release Plan for V0.4
CSE591: Data Mining by H. Liu
Event Storage GAUDI - Data access/storage Framework related issues
SEAL Project Core Libraries and Services
Presentation transcript:

D. Duellmann - IT/DB LCG - POOL Project1 The LCG Dictionary and POOL Dirk Duellmann

D. Duellmann - IT/DBLCG - POOL Project 2 Reflection Data What types of reflection information need to be available at runtime logical description of classes data member names and types method names signature => compiler/platform independent physical layout of classes data member offsets and sizes total class size (and sub-class offsets) => compiler & platform dependent dynamic (in core) information function pointers for methods (including con-/destructors) => application/process dependent

D. Duellmann - IT/DBLCG - POOL Project 3 Dictionary & Reflection Dictionary Components or Reflection Clients – Just a terminology proposal Reflection -The component describing at runtime the transient data inheritance hierarchy and allowing runtime data & method access -Stop-gap for missing functionality of C++ as implementation language -Language implementation often come with build-in support (Python, Java, C#, SQL and of course Cint) {Object} Conversion -Component which converts objects between a transient and a persistent representation -Client of the Reflection component Extraction -Component which obtains reflection data -by parsing C++ files, or -during C++ code generation from meta model languages like ADL or XML, or -debug information or … -Client of the Reflection component which fills it with information Language adapters (eg scripting) -component which allows to access C++ objects from other languages -not the scope of POOL, but closely related to the Reflection component

D. Duellmann - IT/DBLCG - POOL Project 4 POOL and the LCG Dictionary In POOL we try to keep the various dictionary components separate Why : POOL is supposed to be storage technology independent POOL client code should be portable to other persistency back ends with minimal impact We expect to support several Conversion and Extraction components -usually they are dependent on the persistency technology (conversion) or on the experiment using them (extraction) -existing implementations (eg from ROOT I/O) are re-used for implementation but directly exposing them would break technology independence LCG controlled Reflection API The Reflection component plays a central role and is visible to POOL user (eg experiment framework implementers) Need to define a stable API -which can be re-implemented for any backend storage -current LCG Reflection package was extracted from GAUDI Need to connect this API to each technology dependent Conversion and Extraction components -Logically the content of the LCG and the technology dependent dictionary are kept in sync

D. Duellmann - IT/DBLCG - POOL Project 5 Dictionary: Reflection / Extraction / Conversion (adapted from Pere’s original slide)

D. Duellmann - IT/DBLCG - POOL Project 6 Persistent Reflection / “Dictionary” Similar but not identical role to description of transient objects Only a subset of transient reflection info is stored or even makes sense on disk (basically the first two categories of the above) Several descriptions for a given class need to be kept to support schema evolution the transient side (C++ code) can only cope with one C++ class layout per application the disk may contain many Only both the persistent and transient reflection can steer the conversion to the C++ class expected by the current application POOL so far does not directly use or expose an abstract interface to the ROOT I/O disk representation This information is used by the ROOT I/O conversion mechanism This is a pragmatic divergence from the RTAG proposal to be able to integrate ROOT I/O without having to reimplement the ROOT conversion infrastructure The current POOL conversion service uses a technology dependent implementation which is configured from a technology indepedent Reflection component

D. Duellmann - IT/DBLCG - POOL Project 7 Longer term Plans : C++0x Potential good news : IF C++0x comes with a standard for XTI and XPR -simplify the reflection info extraction -a gcc based extraction prototype seems to exist already -standardize the API to access c++ reflection info -a prototype interface/library seems to exist But we’ll still have other reflection component around conversion (one per storage technology) -ROOT team is very interested and may evolve towards xti languages: python, java, C#, web services, sql (one per vendor) can we assume all of those will interface with xti? by when? Even assuming a successful standardization of XTI for quite some time LCG will need to maintain a stable interface on its own