1 / 28

Topics for AliRoot review

Topics for AliRoot review. Gheata , M. Gheata , I.Hrivnacova , R . Shahoyan , P.Hristov 25 / 03/2013. IO: Loaders. What are the advantages and disadvantages of the current IO framework? Is it “parallelizable”? Is it optimal for navigation? Is it optimal from memory point of view?

merv
Download Presentation

Topics for AliRoot review

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. Topics for AliRoot review Gheata, M. Gheata,I.Hrivnacova, R. Shahoyan, P.Hristov 25/03/2013

  2. IO: Loaders • What are the advantages and disadvantages of the current IO framework? • Is it “parallelizable”? • Is it optimal for navigation? • Is it optimal from memory point of view? • What are the approaches of the other experiments? • How well the data types (kinematics, hits, sdigits, digits, clusters, tracks) correspond to our needs? • How suitable are the data containers we use (trees, TClonesArrays, TObjArrays, etc.)? • What are the current/new user requirements?

  3. IO: Root/xrootd • How much can we gain in performance by shrinking the event size (i.e. mini-AOD) • Can we parallel I/O if ROOT I/O would allow it • Could remote I/O be improved using readaheadprefetching policies (e.g. I/O proxies)? • Is dynamic file replica switching possible and with what effort?

  4. Geometry • Are any changes in the geometry and material descriptions expected/foreseen? • Is the current situation satisfactory? • Full/survey misalignment: is it possible to introduce full or survey misalignment without creating overlaps? • Do we need any change in TGeo to avoid overlaps or for other purposes? • Do we need geometry to be structured in a way allowing extraction of info needed for reconstruction (layers min/max radii, sensor positions etc) and corresponding modifications in AliGeomManager? (for the ITSUpg we do this in custom way at the moment)

  5. Geometry • We have still some problems in Geant4 simulation withTGeo which should be good to be checked: • Steps in assemblies (reported already long time ago, but I think,it is still happening) • TGeomodeller (with G4Root) is in one VMC test by about 10%slower than Geant4 native geometry when running with magnetic field;it would be worth to check this test on other platforms and if the timing stay the same to investigate it • The additional calls added for MT processing in TGeo may be protected with a compilation flag in order not to slow down MT applications

  6. Geometry • Are any new features expected from geometry (e.g. monitoring tools for simulation, better handling of misalignment)? • Are all provided tools actually used for avoiding overlaps (e.g. misaligning the components of a Boolean shape)? • Can we improve performance of existing geometry? • e.g. by balancing better the number of daughter volumes • or changing ALIC pgon to a box...

  7. Transport packages • Geant4 • comparison with Geant3: physics performance, computing performance • use in production: what are the advantages and disadvantages? • Fluka • GRID distribution • comparison with Geant3: physics performance, computing performance • use in production: what are the advantages and disadvantages? • Implications: • what is the GRID effort to have G4 and FLUKA productions comparing with G3 statistics?

  8. Transport packages • Can we study the bottlenecks in G4/FLUKA and study the cuts to eliminate some ? • e.g. electrons are doing 1mm steps all over the ALIC volume in FLUKA • Would event level parallelism in simulation be helpful (i.e. usage of GEANT4-MT) • Can we profit from the evolution of simulation tools? • Is our Stepping thread safe?

  9. Geant4 • The implementation of cuts in Geany4 VMC is tricky: the cuts in energy (AliRoot) are converted in cuts in range (required in Geant4) and internally (in Geant4) back in cut in energy. It may be worth to review if we can put higher cuts in some regions (support structures etc.) to gain in performance • Tuning parameters of magnetic field (G4 stepper, integration method)

  10. Geant4 MT • Geant4 VMC MT is planned to be released soon after Geant4 10; • Is our Stepping thread safe? Most probably not. To make it thread safe will require • a) work-arounds for Root in-safety (maybe less work will be needed in    this direction with Root 6) • b) fixing AliRoot code itself

  11. Event generation • Do we need new/updated generators? • Do we have obsolete generators? • How well the generator’s interfaces correspond to our needs? • Is the full information from the generator available and easily accessible? • What are the current/new user requirements? • Parallelization? • Tuning of generators: what is the status and needs? • Is thread safety an issue (e.g. for an event level multithreaded transport)

  12. Simulation • What are the advantages and disadvantages of the current simulation framework? • Is it “parallelizable”? • Is it optimal from memory and CPU point of view? • Do we have new or obsolete user requirements (i.e. status of event merging, embedding, pileup generation)? • Size of the output: is it OK? • What are the approaches of the other experiments? • What are the current/new user requirements? • Real OCDB in simulation: what is the status? • Fast simulation • Parameterized detector response (i.e. parameterized tracking outside ITS) • What are the approaches of the other experiments? • Comparison with the real data

  13. Simulation • Which are the major bottlenecks (e.g. digitization) and can we alleviate them? • Thread safety (again) • Can we profit from vectorization techniques for the digitization? Does is imply reshuffling the hits data structures (i.e. contiguity in allocation via factories)? • Can we learn more from detailed profiling or using other performance monitoring tools?

  14. Raw data • What are the advantages/disadvantages of the current “rootified” RAW data format? • What are the current/new user requirements? • Is the size OK? • What are the DAQ and HLT plans and what are the implications for the offline?

  15. Reconstruction • What are the advantages and disadvantages of the current reconstruction framework? • Is it “parallelizable”? • Is it optimal from memory and CPU point of view? • Do we have new or obsolete user requirements? • Is the physics performance satisfactory? • Size of the output: is it OK? • What are the approaches of the other experiments? • Reconstruction algorithms • What do we need for common offline/HLT approach? • Is the physics performance/computing cost optimal?

  16. Reconstruction • Do we profit enough from locality (i.e. is local reconstruction cache-wise local?) • Do we have thread safety, is it easy to enforce? • Can we auto-vectorize some of the computing intensive parts? • Are there obvious bottlenecks that we could focus on removing?

  17. ESD and AOD • What are the advantages and disadvantages of the current ESD/AOD? • What are the changes needed for long data preservation? • Are the interfaces uniform and transparent? • Is the ESD/AOD content, format and size optimized? • What are the current/new user requirements? • What are the approaches of the other experiments? • What are the changes needed for the ALICE upgrade?

  18. ESD and AOD • Is a new data format going to bring I/O benefits? (faster to read, vectorizable subsequent operations) • Can we have a 2 level flat mini AOD which is performant and useful for physics. What are the migration efforts? • How many of the analysis tasks are forced to use only ESD's and why ? • What is missing from the current AOD's (some partial review was done) • Can we unify the interfaces for ESD and AOD ? • AOD size: can we make a compromise between generality and performance ? • What are the storage constraints and implications for the proliferation of ESD/AOD ?

  19. Calibration • What are the advantages and disadvantages of the current calibration scheme (cpass0, cpass1, vpass, ppass)? • What is needed for quasi-online calibration? • What are the changes in the algorithms? • How do we automatically monitor the calibration quality? • How do we avoid manual interventions? • Which are the "hard limits" preventing a more automated treatment of calibration?

  20. Calibration: tenders • What is the future of the tenders? • is this way of patching reconstructed data the only possibility to delay the "better calibration" in the processing chain, keeping the data still valid? • this will hit us back for the software upgrade to deal with continuous readout, when initial calibration will have to be redone after the clusters/tracks are written on disk

  21. Analysis framework • What are the advantages and disadvantages of the current analysis framework? • What are the current/new user requirements? • What did we learn from CAF usage? Does parallel analysis make sense? At which granularity? Can it be generalized? • Can we have a better scaling/parallel merging solution? • Can we improve analysis monitoring tools to detect trends, bad habits, hot-spots?

  22. QA • What are the advantages and disadvantages of the current QA framework? • What are the current/new user requirements? • What are the DAQ and HLT plans and what are the implications for the offline? • Can we design a better SW QA chain to detect faster problems? • It would be useful to have a simpler test suite (or a set of tests) which could be run locally in a reasonable time; eg. in MUON we have a test script AlirootRun_MUONtest.sh which we run with every check-in in SVN.

  23. QA • Do we QA enough all the components of the software framework ? (can we for example QA directly simulation) • Can we automatically detect problems before releasing, what is missing? • Is reconstruction QA too detailed ? Is it maintained ? • Can we have a QA on many levels, like:   • level 0: basic tests like compilation, running on 1 event and checking for the expected files   • level 1: full chain with automatic QA decisions based on reference data   • level 2: QA needing human intervention (like trends, anomalous distributions)

  24. Visualization • What are the advantages and disadvantages of the current visualization framework? • What are the current/new user requirements? • What are the DAQ and HLT plans and what are the implications for the offline? • Could the visualization be extended as tools for algorithm debugging?

  25. What should we understand under parallelization? • Running on conventional multicore CPUs with significant amount of RAM/CPU: • Forking single event reconstruction thus having single copy of read-only data in memory? • Multy-thread processing of single event ? • Non-conventional processors (GPU's...): what are prerequisites for using them? • What changes in the computing model (currently weakly-moderated code submission by Everybody) will this require?

  26. AliRoot on the GRID • What is the overall overhead of GRID processing for the data flow and what are the major sources of problems? • Can we clearly identify bottlenecks (in terms of GRID topology and weak points like I/O or initialization)? • Can we make monitoring feed back into the scheduling, to fix some problems in a more automatic way? • Can we implement better I/O policies (like prefetching, replica handling) - xrootd + root can help here.5 Can we profit from privileged resources (for merging or "burning" tasks)

  27. Data preservation • How do we participate in the global initiative? • What are the implications of our computing model on how we can do DP ? • Which levels of DP can we adopt and how? • Can DP have any impact at all on the evolution of our computing model ? • Which resources could we invest for DP in the medium and long term ? • Is planning and discussion at larger scale in ALICE needed ?

  28. Technical questions • What are the advantages and the disadvantages of the current CMake-based build system? • Which platforms and compilers should be supported? • Is SVN adequate to our needs? • What are the current/new user requirements? • What are the requirements for detailed AliRoot validation? • What is the experience of the other experiments? • What do we need to maintain useful and up-to-date documentation? • What kind of tools do we need for successful development? • CMake build should not require setting environment variables, but the options should be specified in CMake way via the options passed with cmakecommand • For documentation: good experience with doxygen, which allow to integrate also a text decription on the documentation generated from the source code; what makes it easier to synchronize with code changes.

More Related