Ideas for ROOT in the future

Slides:



Advertisements
Similar presentations
IcePro Source Code Management Source code analysis Runtime analysis Application deployment Source code generation Multi sites Click ! IcePro.
Advertisements

Blueprint RTAGs1 Coherent Software Framework a Proposal LCG meeting CERN- 11 June Ren é Brun ftp://root.cern.ch/root/blueprint.ppt.
O. Stézowski IPN Lyon AGATA Week September 2003 Legnaro Data Analysis – Team #3 ROOT as a framework for AGATA.
B-1 Appendix B Information System Software Robert Riordan, Carleton University.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Sept 11, 2003ROOT Day1, Suzanne Panacek39 ROOT An object oriented HEP analysis framework. Day 1.
ROOT An object oriented HEP analysis framework.. Computing in Physics Physics = experimental science =>Experiments (e.g. at CERN) Planning phase Physics.
Guidelines, Suggestions February Rene Brun.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
ROOT impossible wishes1 Alice workshop Sibiu 21 August 2008 Ren é Brun CERN/PH/SFT ROOT Impossible wishes ?
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
Murach’s ASP.NET 4.0/VB, C1© 2006, Mike Murach & Associates, Inc.Slide 1.
1 3. Computing System Fundamentals 3.1 Language Translators.
Root based event display Dmitry Romanov October 19, 2010.
ROOT Application Area Internal Review September 2006.
Rene Brun Booting ROOT with BOOT René Brun, Fons Rademakers CERN Geneva, Switzerland.
ROOT Future1 Some views on the ROOT future ROOT Workshop 2001 June 13 FNAL Ren é Brun CERN.
Semi-Automatic patch upgrade kit
CHEP 2013, Amsterdam Reading ROOT files in a browser ROOT I/O IN JAVASCRIPT B. Bellenot, CERN, PH-SFT B. Linev, GSI, CS-EE.
H.G.Essel: Go4 - J. Adamczewski, M. Al-Turany, D. Bertini, H.G.Essel, S.Linev CHEP 2003 GSI Online Offline Object Oriented Go4.
Feedback from LHC Experiments on using CLHEP Lorenzo Moneta CLHEP workshop 28 January 2003.
Work in progress Philippe & Rene. Memory Pools when reading Currently we new/delete – zipped buffer (when no cache) – unzipped buffer – branches target.
D. Duellmann - IT/DB LCG - POOL Project1 The LCG Dictionary and POOL Dirk Duellmann.
Overview, Major Developments, Directions1 ROOT Project Status Major developments Directions NSS05 Conference 25 October Ren é Brun CERN Based on my presentation.
Axel Naumann. Nada FTE  LLVM + cling would take 4 years  when done, move to next hot-spot in ROOT Axel Naumann ROOT Team Meeting2.
Predrag Buncic (CERN/PH-SFT) Software Packaging: Can Virtualization help?
1 G4UIRoot Isidro González ALICE ROOT /10/2002.
LCG AA Meeting 30 June 2004 Ilka Antcheva Graphics User Interface in ROOT.
Follow-up to SFT Review (2009/2010) Priorities and Organization for 2011 and 2012.
Some ideas for possible future developments LCG Applications area meeting 8 March 2006 Ren é Brun CERN.
2001 ROOT Workshop The Summary. Content Most Requested Request already satisfied Build and Distribution Web Page Information and Documentation.
Guidelines, Suggestions February Rene Brun.
ROOT / Reflex ‘07+ Stefan Roiser Missed last team meeting b/c.
4.01 How Web Pages Work.
4.01 How Web Pages Work.
Go4 v2.2 Status & Overview CHEP 2003
Jean-Philippe Baud, IT-GD, CERN November 2007
Development Environment
How to Contribute to System Testing and Extract Results
GUI plans of work Revisit (reimplement) a new TreeViewer, possibly based on something like Viewpoints (see next slide) (
Project Center Use Cases Revision 2
Project Center Use Cases
Segments Basic Uses: slides minutes
Introduction and Principles
Google Web Toolkit Tutorial
Lesson 4: Web Browsing.
Complex Geometry Visualization TOol
Project Center Use Cases
An Introduction to the IVC Software Framework
VisIt Libsim Update DOE Computer Graphics Forum 2012 Brad Whitlock
MCTS Guide to Microsoft Windows 7
A C++ generic model for the GLAST Geometric Description
Comments about PROOF / ROOT evolution during coming years
Project Center Use Cases Revision 3
3D graphics in JavaScript ROOT
CernVM Status Report Predrag Buncic (CERN/PH-SFT).
Project Center Use Cases Revision 3
First Internal Pool Release 0.1
Chapter 4: Threads.
Chapter 2: System Structures
Support for ”interactive batch”
Using JDeveloper.
Lesson 4: Web Browsing.
Chapter 2: Operating-System Structures
Outline Chapter 2 (cont) OS Design OS structure
Lecture 06:Software Maintenance
Applet Fundamentals Applet are small applications that are accessed on an Internet server, transported over the Internet, automatically installed and run.
4.01 How Web Pages Work.
Chapter 2: Operating-System Structures
4.01 How Web Pages Work.
Presentation transcript:

Ideas for ROOT in the future R.Brun ROOT Team Meeting 14 Dec 2006 2010 2007 package by package review FTE estimation 1995 Ideas for ROOT future

CINT/Reflex Hoping for a concrete demo at the workshop. My guess is that it will take at least one more year before we have a robust and complete system, including meta->Reflex From C to classes Very important: support for multithreading Persistent dictionaries (a must) -> Load only dicts when required. Alternative to function stubs using the ABI Urgent: a proposal for a new class structure (what users see) Estimated FTE: CINT/1+0.3, Reflex/0.2 Red: at CERN Black: outside Ideas for ROOT future

pyroot Must be fully adapted to Reflex. I am worried by the huge number of side-effects coming from the impedance mismatch C++/python. See reports to Forum or Savannah I am worried for the long term support (manpower and expertise) The project runs a risk to be divided between the pro and against python as the scripting language for ROOT Estimated FTE: 0.1 +0.4 Ideas for ROOT future

CORE libCORE restructure: now 10 MBytes. 5MB would be better or even 2MB without G__s (see later) TMath,TComplex,TRandom1,2,3 to math/libMath New libMath will include a subset of libMathCore TFile, TBuffer, zip, etc to io/libRIO TColor, TStyle, TView to graphics see consequences rethink the SavePrimitive such that it can generate non-C++ code too (eg python) TSessionManager coherent with PROOF Estimated FTE: 0.5 Ideas for ROOT future

Input/Output Fix memory leaks in case of TChain::SetAddress Implement conversions of std<->ROOT collections or basic C types Add support for unzipping in a separate thread (imminent from Leo) Improve cache management for Trees and activate cache in non-Tree case more support for multi-threading Improve TStreamerInfo::Compile to group similar data types to improve performance. I am worried by the complexity of the schema evolution and I am afraid it may become even more complex. Who is going to maintain this stuff in 10 years? Estimated FTE: 0.7 + 0.5 Ideas for ROOT future

Trees Add automatic support for MakeClass mode when reading only one or a few branches of a top level branch (very frequent use case) Improve MakeProxy mechanism. Make a TChain out of zip file. Resume work on Bitmap Index class with Berkeley Implement a TVirtualTree or/and TVirtualBranch such that the Tree::Draw machinery can also be used on foreign files. TTreeFormula (and TFormula too) should be redesigned/documented to facilitate future maintenance. Estimated FTE: 0.3 + 0.4 Ideas for ROOT future

PROOF a lot of work remains to be done to tune/consolidate the system simplify and make it default option in multi-core cpus provide a 0 slave mode (simple client server for eg lxplus) provide a simple base class (TProcess or TProofTask) that can be used for generic parallelism without trees. think PROOF in case of thousands of local disks (dpm/xrootd, etc) think PROOF for the future in case of fast networks (no limitations with local disks anymore). Scheduler(s), DPM(s) interfaces Estimated FTE: 2 in team, more outside Ideas for ROOT future

Math Rethink the MathCore structure in view of the new libCore, such that dependencies from TF1 become possible. A small fraction of MathCore going to new Math Estimated FTE: 0.5 Ideas for ROOT future

Hist/Spectrum Code re-engineering Move code currently in “hist” like TPrincipal, TLimit,TMultiDimFit, etc to a new directory. Estimated FTE: 0.2 + 0.1 Ideas for ROOT future

Fitting Extended TVirtualFitter (must be back compatible) Functions and Fitter New package(s): must be back compatible, possibly replace roofit GUI must follow. Binomial Efficiency Fitter from Frank Filthaut Estimated FTE: 0.3 Ideas for ROOT future

Roofit not sure if we should keep it in the long term. Depends on progress with new Fitter. Depends on authors willingness to answer user questions. From tar file to CVS. Wouter seems OK Wouter and Kyle Cranmer designing new statistic classes (presented in January at Atlas statistics meeting) Ideas for ROOT future

2-D Graphics Based on by GL (TGX11 as backup) No-need for TVirtualX/win32gdk (well a large fraction) Better integration and follow-up of libAfterImage/TASImage CVS with Sascha Vasko More 2-d primitives I(eg TSpiderChart) Estimated FTE: 0.3 Ideas for ROOT future

3-D Graphics 3-D fonts TGaxis3D Timur Work's ++ Matevz's work ++ More support for event displays New visualization techniques for 4-D and 5-D (a la IDL) Estimated FTE: 0.6 + 1 Ideas for ROOT future

GUI More support for the builder Clipboard implementation -> drag&drop browser->canvas List of “Option_t options” in dialog box Help in dialogs html renderer. GL implementation TUndoManager follow-up (including all graphics editors) Developments to get the GUI in a web browser (Valeriy ??) ==>possibility to run ROOT from a web browser. Estimated FTE: 1.2 Ideas for ROOT future

Geom/vmc/g4root Restructure TGeoManager to avoid full recompilations whenever a geom class changes (not only forward declarations) More profiling and a better test suite. Geometry algorithms must be well documented Improve g4->root communication -cint/reflex dictionaries for G4 -> interpreters and i/O -use ROOT GUI for G4 visualization (geom, tracks, process control,..) -optimize TGeo interface Estimated FTE: 0.1 + 0.6 Ideas for ROOT future

THtml Possibility to run scripts while running THtml to produce gif/png files Start from Persistent Reflex instead of dicts in shared libs, such that it is easier to generate html when the shared lib is not available, eg when running THtml on Linux and wants to generate html for Windows classes. Generate help.root file automatically. help.root used by the HELP system in the command line/browser/canvas. Generate tag file for doxygen Estimated FTE: 0.1 Ideas for ROOT future

Tutorials Add “Getting Started” subdirectory Add “Course1, 2,3, etc” (using CSC07 material) Generate automatically the web pages for the tutorials like we do for the code. Ideas for ROOT future

Web pages & doc Substantial update required Wiki, CVS, the long saga Estimated FTE: 0.3 Ideas for ROOT future

BOOT BOOT will require important developments and some restructuring of the ROOT libs New technical student Diego Marcos starting in January I consider this project absolutely fundamental for the future of ROOT but also for HEP software in general. Estimated FTE: 2 Ideas for ROOT future