CHEP ' 2003David Chamont (CMS - LLR)1 Twelve Ways to Build CMS Crossings from Root Files Benefits and deficiencies of Root trees and clones when : - NOT.

Slides:



Advertisements
Similar presentations
File Systems.
Advertisements

SLAM: SLice And Merge – Effective Test Generation for Large Systems ICCAD’13 Review Reviewer: Chien-Yen Kuo.
January 11, Csci 2111: Data and File Structures Week1, Lecture 1 Introduction to the Design and Specification of File Structures.
D. Düllmann - IT/DB LCG - POOL Project1 POOL Release Plan for 2003 Dirk Düllmann LCG Application Area Meeting, 5 th March 2003.
Programming with Objects: Class Libraries and Reusable Code.
Chapter Physical Database Design Methodology Software & Hardware Mapping Logical Design to DBMS Physical Implementation Security Implementation Monitoring.
Accurate and Efficient Replaying of File System Traces Nikolai Joukov, TimothyWong, and Erez Zadok Stony Brook University (FAST 2005) USENIX Conference.
1 Database Tuning Rasmus Pagh and S. Srinivasa Rao IT University of Copenhagen Spring 2007 February 8, 2007 Tree Indexes Lecture based on [RG, Chapter.
Design Patterns Module Name - Object Oriented Modeling By Archana Munnangi S R Kumar Utkarsh Batwal ( ) ( ) ( )
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
SEAL V1 Status 12 February 2003 P. Mato / CERN Shared Environment for Applications at LHC.
Classes and objects Practice 2. Basic terms  Classifier is an element of the model, which specifies some general features for a set of objects. Features.
Filesytems and file access Wahid Bhimji University of Edinburgh, Sam Skipsey, Chris Walker …. Apr-101Wahid Bhimji – Files access.
XML I/O in ROOT S. Linev, R. Brun, H.G. Essel CHEP 2004.
Indexing. Goals: Store large files Support multiple search keys Support efficient insert, delete, and range queries.
Introduzione al Software di CMS N. Amapane. Nicola AmapaneTorino, Aprile Outline CMS Software projects The framework: overview Finding more.
January 11, Files – Chapter 1 Introduction to the Design and Specification of File Structures.
09-Jun-2005J. Adamczewski1 C++ course 2005 The ROOT framework 2.
Profiling Grid Data Transfer Protocols and Servers George Kola, Tevfik Kosar and Miron Livny University of Wisconsin-Madison USA.
ROOT I/O recent improvements Bottlenecks and Solutions Rene Brun December
Introduction to the course. Objectives of the course  To provide a solid introduction to the topic of file structures design.  To discuss a number of.
Int. Workshop on Advanced Computing and Analysis Techniques in Physics Research (ACAT2005), Zeuthen, Germany, May 2005 Bitmap Indices for Fast End-User.
Algorithm Programming Bar-Ilan University תשס"ח by Moshe Fresko.
ATLAS Peter van Gemmeren (ANL) for many. xAOD  Replaces AOD and DPD –Single, EDM – no T/P conversion when writing, but versioning Transient EDM is typedef.
Feb 20, 2002Soumya Mohanty, AEI1 GEO++ A general purpose C++ DSP library Plan of presentation Soumya Mohanty: Overview R. Balasubramanian: MPI Shell, Frame.
Guide to Linux Installation and Administration, 2e1 Chapter 10 Managing System Resources.
Lecture 18: Dynamic Reconfiguration II November 12, 2004 ECE 697F Reconfigurable Computing Lecture 18 Dynamic Reconfiguration II.
David N. Brown Lawrence Berkeley National Lab Representing the BaBar Collaboration The BaBar Mini  BaBar  BaBar’s Data Formats  Design of the Mini 
An In-Depth Examination of Java I/O Performance and Possible Tuning Strategies Kai Xu Hongfei Guo
Chep 2006, Mumbai, IndiaPhilippe Canal (FNAL)1 Recent Developments in the ROOT I/O and TTrees CANAL, Philippe (FERMILAB) BRUN, Rene (CERN) FRANK, Markus.
1 SystemVerilog Enhancement Requests Daniel Schostak Principal Engineer February 26 th 2010.
The Vesta Parallel File System Peter F. Corbett Dror G. Feithlson.
File Organization Lecture 1
DYNES Storage Infrastructure Artur Barczyk California Institute of Technology LHCOPN Meeting Geneva, October 07, 2010.
ROOT I/O for SQL databases Sergey Linev, GSI, Germany.
Chapter 12 Query Processing (1) Yonsei University 2 nd Semester, 2013 Sanghyun Park.
3 Data. Software And Data Data Data element – a single, meaningful unit of data. Name Social Security Number Data structure – a set of related data elements.
Report on CHEP ‘06 David Lawrence. Conference had many participants, but was clearly dominated by LHC LHC has 4 major experiments: ALICE, ATLAS, CMS,
STAR Event data storage and management in STAR V. Perevoztchikov Brookhaven National Laboratory,USA.
1 Class Diagrams. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting.
H.G.Essel: Go4 - J. Adamczewski, M. Al-Turany, D. Bertini, H.G.Essel, S.Linev CHEP 2003 GSI Online Offline Object Oriented Go4.
Using of XML for object store S. Linev, GSI Using of XML for object store. S.Linev2 Content XML and existing packages XML and existing packages.
Why Do We Need Files? Must store large amounts of data. Information stored must survive the termination of the process using it - that is, be persistent.
STAR Schema Evolution Implementation in ROOT I/O V. Perevoztchikov Brookhaven National Laboratory,USA.
Chapter 15 A External Methods. © 2004 Pearson Addison-Wesley. All rights reserved 15 A-2 A Look At External Storage External storage –Exists beyond the.
Claudio Grandi INFN-Bologna CHEP 2000Abstract B 029 Object Oriented simulation of the Level 1 Trigger system of a CMS muon chamber Claudio Grandi INFN-Bologna.
9/28/2005Philippe Canal, ROOT Workshop TTree / SQL Philippe Canal (FNAL) 2005 Root Workshop.
Online Monitoring System at KLOE Alessandra Doria INFN - Napoli for the KLOE collaboration CHEP 2000 Padova, 7-11 February 2000 NAPOLI.
March, PROOF - Parallel ROOT Facility Maarten Ballintijn Bring the KB to the PB not the PB to the KB.
ROOT I/O: The Fast and Furious CHEP 2010: Taipei, October 19. Philippe Canal/FNAL, Brian Bockelman/Nebraska, René Brun/CERN,
I/O Strategies for Multicore Processing in ATLAS P van Gemmeren 1, S Binet 2, P Calafiura 3, W Lavrijsen 3, D Malon 1 and V Tsulaia 3 on behalf of the.
ROOT Workshop M.Frank LHCb/CERN Improvements in the I/O Area (*)  General I/O related improvements  Tree related issues  Plans (*) I present.
Requirements for the O2 reconstruction framework R.Shahoyan, 14/08/
October 10-12, 1 AliRoot: I/O organisation ROOT in the ALICE experiment I/O Structure Run-Time Data-Exchange.
Trees: New Developments1 Trees: New Developments Folders and Tasks ROOT Workshop 2001 June 13 FNAL Ren é Brun CERN
ROOT Based CMS Framework Bill Tanenbaum US-CMS/Fermilab 14/October/2002.
Anders Nielsen Technical University of Denmark, DTU-Aqua Mark Maunder Inter-American Tropical Tuna Commission An Introduction.
Hello world !!! ASCII representation of hello.c.
Generating ADL Descriptions ADL Module for Together 6.x Massimo Marino Lawrence Berkeley National Laboratory.
Development Project Management Jim Kowalkowski. Outline Planning and managing software development – Definitions – Organizing schedule and work (overall.
Operating Systems A Biswas, Dept. of Information Technology.
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.
GPU's for event reconstruction in FairRoot Framework Mohammad Al-Turany (GSI-IT) Florian Uhlig (GSI-IT) Radoslaw Karabowicz (GSI-IT)
WP12 - General Development News Sandro Wenzel
Class Diagrams.
Use of Root I/O Trees for CMS Crossings
Lecture 1 Runtime environments.
Presentation transcript:

CHEP ' 2003David Chamont (CMS - LLR)1 Twelve Ways to Build CMS Crossings from Root Files Benefits and deficiencies of Root trees and clones when : - NOT dealing with TObjects, - reading the trees entries NOT sequentially, - processing them NOT one by one.

CHEP ' 2003David Chamont (CMS - LLR)2 Outline Goal & scope. Main use-case. 4 kinds of containers for the crossing data model. 3 kinds of persistency managers. Results. Conclusions.

CHEP ' 2003David Chamont (CMS - LLR)3 Goal & Scope Evaluate the benefits of TTree and TClonesArray for the persistency of CMS event data (whose classes heavily rely on templates and external packages). Focus on the generation of crossings (pile-up of about 160 simulated events chosen pseudo randomly). Not covered yet : meta-data, associations between persistent objects, schema evolution.

CHEP ' 2003David Chamont (CMS - LLR)4 Main Use-Case signal event (hits) digis Digitizer Persistency Manager signal events file minbias events file digis file minbias event (hits) minbias events file

CHEP ' 2003David Chamont (CMS - LLR)5 Crossing Data Model The folders //root/crossing/* represent the events composing the current crossing. Each event folder contains a container for each kind of event objects : TrackHit, CaloHit,… The kind of container is chosen among four : –std::vector<> (by value). –dynamic C array (each event object is wrapped inside a class instrumented with classdef). –TObjArray (each event object is wrapped inside a class derived from TObject). –TClonesArray (each event object is wrapped inside a class derived from TObject).

CHEP ' 2003David Chamont (CMS - LLR)6 Persistency Managers The task of a persistency manager is to transfer an event from memory (TFolder) to disk (TFile) and vice-versa. Three flavors have been implemented : –RtbPomKeys : directly write the TFolder in the TFile, each time with a different meaningful name. –RtbPomTreeMatrix : for each container in the folder, creates a TMatrixD and attach it to a branch of a TTree. –RtbPomTreeDirect : attach directly each container to a branch of a TTree.

CHEP ' 2003David Chamont (CMS - LLR)7 Implementation issues Recent progress : –can now use -ansi -pedantic. –nice support of foreign classes. –better and better support of templates and std containers. Recurrent problems with Root I/O : –must explicitly ask to parse namespaces, components types and template instances. –multiple containers sizes and misleading operator[], –tuning of chain branchs, –it is unclear which subset of C++ is supported by Root I/O, and which in TTree, and which in TClonesArray.

CHEP ' 2003David Chamont (CMS - LLR)8 Configuration Pentium 4, 1.8 GHz. ~ 512 Mo of RAM. IDE disk. RedHat Linux 7.3 Gcc 3.2 Root 3.05/03

CHEP ' 2003David Chamont (CMS - LLR)9 Parameters of the Testbed compression level. size of buffers. split level. randomness : burst and jump. size of the containers within the events. number of crossings. direct inheritance or not from TObject, direct instrumentation or not with ClassDef. resetting or not the values in the empty constructors.

CHEP ' 2003David Chamont (CMS - LLR)10 Best Results File size (Kb/event) Cpu time (s/crossing) StlCObjArrayClones Keys Matrix Tree

CHEP ' 2003David Chamont (CMS - LLR)11 Remove compression File size (Kb/event) Cpu time (s/crossing) StlCObjArrayClones Keys Matrix Tree

CHEP ' 2003David Chamont (CMS - LLR)12 Then increase random File size (Kb/event) Cpu time (s/crossing) StlCObjArrayClones Keys Matrix Tree

CHEP ' 2003David Chamont (CMS - LLR)13 Then reduce containers /10 File size (Kb/event) Cpu time (s/crossing) StlCObjArrayClones Keys Matrix Tree

CHEP ' 2003David Chamont (CMS - LLR)14 Then remove random File size (Kb/event) Cpu time (s/crossing) StlCObjArrayClones Keys Matrix Tree

CHEP ' 2003David Chamont (CMS - LLR)15 Other Results Resetting the attributes to 0 in the empty constructors of the event data does not help compression. Write cpu time of the different strategies compares rather similarly than the read time, with the Tree strategies a little slower.

CHEP ' 2003David Chamont (CMS - LLR)16 Conclusions We succeeded to read pseudo-random entries from a chain and dispatch them to few hundred folders (despite tuning of TChain branches has not been straightforward). Support for foreign classes, templates and C++ standard library has greatly improved. The magic couple TTree/TClonesArray has proved very efficient, yet it requires top level TObjects and the benefits can become losses with less data or random access pattern. One can simply use std vectors and store them directly into root files. Their integration in a TTree is not as worth as a TClonesArray. This could change in the next release of ROOT. It would be interesting to retry with direct associations between objects, and to apply the testbed to POOL.