OO-Design in PHENIX PHENIX, a BIG Collaboration A Liberal Data Model

Slides:



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

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Chapter 10: File-System Interface
23/04/2008VLVnT08, Toulon, FR, April 2008, M. Stavrianakou, NESTOR-NOA 1 First thoughts for KM3Net on-shore data storage and distribution Facilities VLV.
Chapter 3.7 Memory and I/O Systems. 2 Memory Management Only applies to languages with explicit memory management (C or C++) Memory problems are one of.
Networked File System CS Introduction to Operating Systems.
STAR C OMPUTING Maker and I/O Model in STAR Victor Perevoztchikov.
Dave Morrison, CHEP, February 7, 2000 What we’re doing Why we’re doing it What we’ve learned by doing it PHENIX Offline Computing David Morrison Brookhaven.
SVX Software Overview Sasha Lebedev VTX meeting 09/07/ SVX Software web page:
Advanced Analysis Environments What is the role of Java in physics analysis? Will programming languages at all be relevant? Can commercial products help.
Alexandre A. P. Suaide VI DOSAR workshop, São Paulo, 2005 STAR grid activities and São Paulo experience.
Irina Sourikova Brookhaven National Laboratory for the PHENIX collaboration Migrating PHENIX databases from object to relational model.
A. Aimar - EP/SFT LCG - Software Process & Infrastructure1 Software Process panel SPI GRIDPP 7 th Collaboration Meeting 30 June – 2 July 2003 A.Aimar -
An Overview of PHENIX Computing Ju Hwan Kang (Yonsei Univ.) and Jysoo Lee (KISTI) International HEP DataGrid Workshop November 8 ~ 9, 2002 Kyungpook National.
Simulation tools for Upgrades NLO pQCD (W. Vogelsang) CTEQ6M5, DSS FF 200 GeV |  |
NoSQL Databases Oracle - Berkeley DB. Content A brief intro to NoSQL About Berkeley Db About our application.
Axel Naumann University of Nijmegen / NIKHEF, NL ROOT 2004 Users Workshop The Future of THtml Plans and Status of ROOT’s documentation facility.
PHENIX Simulation System 1 December 7, 1999 Simulation: Status and Milestones Tarun Ghosh, Indrani Ojha, Charles Vanderbilt University.
9 February 2000CHEP2000 Paper 3681 CDF Data Handling: Resource Management and Tests E.Buckley-Geer, S.Lammel, F.Ratnikov, T.Watts Hardware and Resources.
5 May 98 1 Jürgen Knobloch Computing Planning for ATLAS ATLAS Software Week 5 May 1998 Jürgen Knobloch Slides also on:
NOVA Networked Object-based EnVironment for Analysis P. Nevski, A. Vaniachine, T. Wenaus NOVA is a project to develop distributed object oriented physics.
1 CSC 222: Object-Oriented Programming Spring 2013 Course goals:  To know and use basic Java programming constructs for object- oriented problem solving.
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
Design Analysis builds a logical model that delivers the functionality. Design fully specifies how this functionality will be delivered. Design looks from.
Grand Challenge and PHENIX Report post-MDC2 studies of GC software –feasibility for day-1 expectations of data model –simple robustness tests –Comparisons.
Operating Systems Lecture November 2015© Copyright Virtual University of Pakistan 2 Agenda for Today Review of previous lecture Hardware (I/O, memory,
Processes Introduction to Operating Systems: Module 3.
CHEP 2000: 7-11 February, 2000 I. SfiligoiData Handling in KLOE 1 CHEP 2000 Data Handling in KLOE I.Sfiligoi INFN LNF, Frascati, Italy.
SIMO SIMulation and Optimization ”New generation forest planning system” Antti Mäkinen & Jussi Rasinmäki Dept. of Forest Resource Management.
Behavioral Patterns CSE301 University of Sunderland Harry R Erwin, PhD.
Introduction What is detector simulation? A detector simulation program must provide the possibility of describing accurately an experimental setup (both.
PHENIX Simulation System 1 January 12, 2000 Simulation: Status for VRDC Tarun Ghosh, Indrani Ojha, Charles Vanderbilt University.
STAR C OMPUTING Plans for Production Use of Grand Challenge Software in STAR Torre Wenaus BNL Grand Challenge Meeting LBNL 10/23/98.
Implementation Highlights Mike Miller Yale University.
V.Fine ALICE-STAR Joint meeting April, 9, 2000 The STAR offline framework* V. Fine *) See also:
Computing R&D and Milestones LHCb Plenary June 18th, 1998 These slides are on WWW at:
Some Ideas for a Revised Requirement List Dirk Duellmann.
General requirements for BES III offline & EF selection software Weidong Li.
The MEG Offline Project General Architecture Offline Organization Responsibilities Milestones PSI 2/7/2004Corrado Gatto INFN.
Overview of PHENIX Muon Tracker Data Analysis PHENIX Muon Tracker Muon Tracker Software Muon Tracker Database Muon Event Display Performance Muon Reconstruction.
PHENIX Simulation System 1 September 8, 1999 Simulation Work-in-Progress: ROOT-in-PISA Indrani Ojha Banaras Hindu University and Vanderbilt.
DANA David Lawrence Oct. 21, D. Lawrence, JLab GlueX Software Workshop Oct Outline Requirements Philosophy Overview of Features Open Questions.
Computer System Structures
Virtual Machine Monitors
CSC 222: Object-Oriented Programming
CSC 222: Object-Oriented Programming
KID - KLOE Integrated Dataflow
Kernel Design & Implementation
Programming paradigms
Jim Fawcett CSE687 – Object Oriented Design Spring 2016
(on behalf of the POOL team)
Chapter 11: File System Implementation
Common Design Patterns
Chapter 12: File System Implementation
Introduction to Design Patterns
A C++ generic model for the GLAST Geometric Description
CSC 222: Object-Oriented Programming
Unit Test Pattern.
Design and Maintenance of Web Applications in J2EE
lecture 08, OO Design Principle
LHCb Detector Description Framework Radovan Chytracek CERN Switzerland
Starting Design: Logical Architecture and UML Package Diagrams
Operating Systems Lecture 3.
Hardware-less Testing for RAS Software
Off-line Direct Disk Access System
Introduction To Distributed Systems
Use of GEANT4 in CMS The OSCAR Project
V.Fine, P.Nevski, BNL GSTAR framework OO geometry model event access
Jim Fawcett CSE687 – Object Oriented Design Spring 2015
LHCb Detector Description Framework Radovan Chytracek CERN Switzerland
Presentation transcript:

OO-Design in PHENIX PHENIX, a BIG Collaboration A Liberal Data Model Simple (and fast) DST I/O Design Patterns OO-Database, an example for the abstract extreme Does it really work? Ergo. . . CHEP-2000 Matthias Messer, BNL

Under Construction . . . Software infrastructure CHEP-2000 Matthias Messer, BNL

From RAW to DST Official Language is C++ FORTRAN legacy now only in simulation (GEANT 3) 200,000 lines of code and still growing fast Limited manpower and financial resources How unusual, what? Usage of many free open-source packages Linux, automake, Root, Bonsai, CVS, CLHEP (well, sort of) many more Good experience as compared to commercial software Maintenance(!), upgrades, necessary modifications CHEP-2000 Matthias Messer, BNL

PHENIXians Picture shows only a third of the collaboration Many developers Ideas Strong opinions about programming Software infrastructure has to integrate them all CHEP-2000 Matthias Messer, BNL

A Liberal OO Model Old OO: Everything is one grand song Have a (preferably) complete design before you start coding Work done by experienced OO-programmers Well . . . Liberal OO: Have it your way Data-objects with some methods method-collections (functors) with some data-members shallow inheritance structures for modularity Independently designed packages work on one data-structure Composite Objects: A node-tree to hold (and share) data CHEP-2000 Matthias Messer, BNL

PHOOL, The PHENIX OO Library Composite Objects: A node-tree to hold (and share) data Composite Nodes Data Node CHEP-2000 Matthias Messer, BNL

PHNode the Data-Classes Data node is template type-safe But all inherit from PHNode Navigation class PHNodeIterator uses Polymorphism PHNodeIterator Unix-like navigation cd(“ . . .”) find(“ . . .”) Can use abstract strategies for_each(PHStrategy) CHEP-2000 Matthias Messer, BNL

PHModule the Functor Classes Method-container class common interface or entry-point, the event() function Can be used with a PHModuleManager PHDataNode<PHModule> for implementation of strategies CHEP-2000 Matthias Messer, BNL

Abstract Strategies Used in Node tree Used in Module Manager apply a method to all nodes of a branch Used in Module Manager call event() function of all Modules in the collection: the event-loop CHEP-2000 Matthias Messer, BNL

OODBs in PHENIX Two autonomous partitions Counting House RCF (RHIC Computing Facility) Robust against the ‘bulldozer incident’ The picture shows a subset Pdbcal is only one of many DB applications, but The one most of all used in reconstruction code The biggest data volume order of Tbyte/Year CHEP-2000 Matthias Messer, BNL

Pdbcal a user-friendly database-application small set of wrapped control-classes start, end transactions easily expandable by the user himself provide a storage class (e.g. a hardware-channel) gets picked up by code-generators for integration into the DB-package you handle only a very abstract (2.5 layers) bank-class applications do not depend on later generated code transparent low-level activity Open a new DB-file when 2 Gbyte limit is reached traverse from Tag-DB to calibration-DB CHEP-2000 Matthias Messer, BNL

Data-Storage in Objy/Root No need for elaborate design of the base classes concentrate on functionality and on ONE application (objy) for now add Root I/O later by way of inheritance transparent for the user interface CHEP-2000 Matthias Messer, BNL

Useful (and used) Design-Patterns singletons database application manager a classmap hash-table (STL-map) abstract base-classes and factories change low-level applications without changing interfaces Objectivity Root protect the user from implementation details (and vice versa) composite objects flexible, yet type-safe node-tree abstract strategies standardized operations on no-tree-data great flexibility in choosing analysis methods CHEP-2000 Matthias Messer, BNL

The Very Real Life . . . . . . of simulated data processing MDC: Mock Data Challenge two weeks of simultaneous data sinking into HPSS data mining from HPSS parallel data processing using the PHOOL environment the new reconstruction software is fast: 30s / event is factor two faster than with old data-model (STAF) is reliable: few crashes, none related to memory-management in the reconstruction code no memory leaks (non trivial in such a liberal data-model) CHEP-2000 Matthias Messer, BNL

In Somma . . . The relaxed OO-philosophy (PHOOL) has: slightly more separation between data and methods shallow inheritance trees you buy what you want, or “I don’t want a three-vector that can send me email” can: integrate many peoples software efforts allow flexible usage of outside-packages The approach of the abstract extreme (Pdbcal) shields user, prevents fear of first contact maintains flexibility in usage of low-level software Contact email: mm@bnl.gov more info: www.phenix.bnl.gov/~messer CHEP-2000 Matthias Messer, BNL