1 / 26

ROOT Project Status Major developments Directions

ROOT Project Status Major developments Directions. NSS05 Conference 25 October Ren é Brun CERN. Based on my presentation at the ROOT workshop 2005 See http://root.cern.ch. The ROOT Project see http://root.cern.ch.

gbeck
Download Presentation

ROOT Project Status Major developments Directions

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ROOT Project StatusMajor developmentsDirections NSS05 Conference 25 October René Brun CERN Based on my presentation at the ROOT workshop 2005 See http://root.cern.ch Overview, Major Developments, Directions

  2. The ROOT Projectsee http://root.cern.ch • The ROOT system provides a set of OO frameworks with all the functionality needed to handle and analyze large amounts of data in a very efficient way. Having the data defined as a set of objects, specialized storage methods are used to get direct access to the separate attributes of the selected objects, without having to touch the bulk of the data. Included are histograming methods in 1, 2 and 3 dimensions, curve fitting, function evaluation, minimization, graphics and visualization classes to allow the easy setup of an analysis system that can query and process the data interactively or in batch mode. • Thanks to the builtin CINT C++ interpreter the command language, the scripting, or macro, language and the programming language are all C++. The interpreter allows for fast prototyping of the macros since it removes the time consuming compile/link cycle. The interactively developed macros can be compiled using a C++ compiler. A Python interface is also available. • The system has been designed in such a way that it can query its databases in parallel on MPP machines or on clusters of high-end PC's. ROOT is an open system that can be dynamically extended by linking external libraries. This makes ROOT a premier platform on which to build data acquisition, simulation and data analysis systems. Overview of the ROOT system

  3. ROOT: large user community Overview of the ROOT system

  4. ROOT version 5 • The ROOT project started in 1995 is now a mature product with 2 PRO releases/year and monthly development releases. • pro release 4.04/02 3 May (new Users Guide) • 1st dev release 5.02 28 June • 2nd dev release 5.04 20 September • 3rd dev release 5.06 25 October • Pro release 5.08 15 December See detailed Release Notes http://root.cern.ch/root/Version50400.news.html See presentations at the ROOT workshop Overview of the ROOT system

  5. ROOT team structure ROOT is an Open Source project with main teams from CERN, FNAL, MIT and Agilent/Japan. ROOT is distributed under LGPL. The work-packages SEAL Lorenzo Moneta DICT Philippe Canal BASE Fons Rademakers MATH Lorenzo Moneta I/O & Trees Philippe Canal 2-D/3D graphics Olivier Couet GUI Ilka Antcheva GEOM/VMC Andrei Gheata PROOF Fons Rademakers Overview of the ROOT system

  6. BASE work-package : Plan • plug-in manager extensions • port to new platforms • I/O thread safe • New THtml & Help/Doc system Overview of the ROOT system

  7. DICT work-package : Plan • New version of Reflex • New version of rootcint • rootcint  CINT • rootcint -> Reflex ->Cintex ->CINT • rootcint ->gccxml -> Reflex -> CINT • Adapt PyRoot to Reflex • Adapt CINT to Reflex The Dictionary/Reflexion system describes the classes to the system. It is a very important component. Overview of the ROOT system

  8. Dictionaries : root only Root meta C++ CINT DS ROOT X.h CINT API rootcint CINT XDictcint.cxx Overview of the ROOT system

  9. Dictionaries : situation today REFLEX API lcgdict XDictlcg.cxx REFLEX DS X.xml Root meta C++ cintex gccxml CINT DS ROOT CINT API X.h rootcint CINT XDictcint.cxx Overview of the ROOT system

  10. Dictionaries : situation in the future Python CINT Root meta C++ Reflex/Cint DS ROOT CINT/Reflex API new rootcint X.h XDictcint.cxx Gccxml2reflex/cint Overview of the ROOT system

  11. IO work-package : Plan • Consolidation, Consolidation, Consolidation • More cases in auto schema evolution • Better support for references • read ahead with large caches • TreeSQL • TBitmapIndex (speed-up Tree queries) ROOT is used today to process PetaBytes of data. Even more important for LHC Overview of the ROOT system

  12. MATH work-package : Plan • Adapt ROOT classes to MathCore • TF1,2,3, Fitting • Virtual Fitter extensions • corresponding changes in ROOT fitting and roofit • Fitting GUI • Box plots, qqplots • Many new tools required for LHC Physics analysis Overview of the ROOT system

  13. New Math Libraries organization Overview of the ROOT system

  14. Graphics work-package : Plan • zillions of micro/mini features • http://couet.home.cern.ch/couet/POW_files/frame.htm • reimplement (TGaxis) • GL with new GUI • GL for dynamic tracks • Event Display infrastructure Overview of the ROOT system

  15. GUI work-package : Plan • zillions of micro/mini features • http://antcheva.home.cern.ch/antcheva/ • GUI Builder completion • New Editor Widgets • Fit Panel widget Overview of the ROOT system

  16. GUI work-package : Plan High Level Widgets Editors, Browsers, Building Blocks Widgets Combos, scroll bars, dialogs, sliders, MDI, etc Code generators Changing New features Bug fixes TVirtualX Very stable TGX11 TGWin32Gdk TGQt Overview of the ROOT system

  17. GEOM work-package : Plan • Support for parameterized shapes. This will reduce the geometry size in memory for certain geometries defined in G3 style. • CAD geometry import • Geometry builder GUI Overview of the ROOT system

  18. G3 G3 transport User Code VMC G4 G4 transport FLUKA transport FLUKA Reconstruction Geometrical Modeller Visualisation Generators The Virtual MC Overview of the ROOT system

  19. Very complex geometriescreated using ROOT TGeo classes CMS ATLAS ALICE LHCB Overview of the ROOT system

  20. PROOF: major development area • The PROOF system allows: • parallel analysis of trees in a set of files • parallel analysis of objects in a set of files • parallel execution of scripts • on clusters of heterogeneous machines • Its main design goals are: • Transparency: • input objects copied from client, output • objects merged, returned to client • Scalability and Adaptability: • Varying packet size (depends on number • of workers and their relative performance) Overview of the ROOT system

  21. good connection ? VERY important less important PROOF work-package : Plan • Build a test bed • Get Users (help with selectors) • Interfaces with data management services • Provide the full ROOT service in PROOF mode • exploit possible large memory caches Overview of the ROOT system

  22. Typical query-time distribution G. Ganis, ROOT05, 29 Sept 2005 Blocking / Non-blocking non-blocking blocking Overview of the ROOT system

  23. Initialize each slave Many Trees are being processed No user’s control on the order PROOF and Selectors Client Slaves Slaves The same code works also without PROOF (of course!) Slaves Slaves Client Overview of the ROOT system

  24. PROOF processing: API & GUI Processing information Feedback histograms Overview of the ROOT system

  25. PROOF and XROOTD • XROOTD (from Babar) is already playing a very important role in PROOF. It will continue to play a growing role. • The PROOF and XROOTD teams are cooperating to get even more from XROOTD: caching, read ahead, new XROOTD services. • Still a lot to do to have a good integration of XROOTD with other services like CASTOR. Overview of the ROOT system

  26. latency 100 nanos 100 micros 100 millis Disk 2005 100 Giga 100 Tera 10 Peta Disk 2012 > 1 Peta > 1 Tera > 100 Peta CPU/Node hierarchy Laptop node 1->32->??N cpus Local cluster 1000xN cpus GRID(s) 100x1000 nodes Overview of the ROOT system

More Related