Advanced Modular Software Performance Monitoring

Types of profiling

  1. Counting (GoogleProfiling by Karol)
  2. Sampling - frequent program interuption and analyzing call stack.

Summary of Project

  • Sampling 100 times per second (every 10 ms)
  • Extact call chain (using libunwind library)
  • Add to each call chain context information: current algorithm name (from IAlgContextSvc).
  • Build graphs and reports with context informaiton (like google pprof do it)
  • Can be used as service or as Auditor
  • Curent GoogleProfiling and this tool can complement each other
  • Don't need a special kernel module.

Abstract (CHEP12)

Advanced Modular Software Performance Monitoring

The LHCb software is based on the Gaudi framework, on top of which are built several large and complex software applications. The LHCb experiment is now in the active phase of collecting and analyzing data and significant performance problems arise in the Gaudi based software beginning from High Level Trigger (HLT) programs and ending with data analysis frameworks (DaVinci). Itís not easy to find hot spots in the code - only special tools can help to understand where CPU or memory usage is not reasonable. There exist many performance analyzing tools, but the main problem is that they show reports in terms of class and function names and such information usually is not very useful - the majority of algorithm developers use the Gaudi framework abstractions and usually do not know about functions which lie at the lower level. We will show a new approach which adds to performance reports a higher abstraction level based on knowledge of framework architecture and run-time object properties. A set of profiling tools (based on sampling and unwind library - a software for introspection of the program call-chain) and visualizing interfaces has been developed and deployed.

* ProfilingMooreSlow - google profiler example for Moore Slow Events


-- SashaMazurov - 11-Oct-2011

Topic attachments
I Attachment History Action Size Date Who Comment
PNGpng Graphs.png r2 r1 manage 29.3 K 2011-10-11 - 11:41 SashaMazurov Google profiler example
Edit | Attach | Watch | Print version | History: r8 < r7 < r6 < r5 < r4 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r8 - 2020-08-19 - TWikiAdminUser
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Sandbox/SandboxArchive All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright &© 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback