Sep 2 – 9, 2007
Victoria, Canada
Europe/Zurich timezone
Please book accomodation as soon as possible.

Runtime memory and data monitoring using Reflex for memory usage evaluation and data quality control.

Sep 3, 2007, 8:00 AM
10h 10m
Victoria, Canada

Victoria, Canada

Board: 36
poster Software components, tools and databases Poster 1




Runtime memory usage in experiments has grown enormously in recent years, especially in large experiments like Atlas. However, it is difficult to break down total memory usage as indicated by OS-level tools, to identify the precise users and abusers. Without a detailed knowledge of memory footprints, monitoring memory growth as an experiment evolves in order to control ballooning inflation, is ineffective. We present a process that make use of Reflex to traverse the contents of all objects in the event store. As each object is encountered, its constituents are analysed using Reflex based introspection, to determine their true memory footprint. Pointers to other constituent objects are recursively followed, and their full sizes are added to the total. Runtime configuration allows specific object types to be ignored. Simultaneously, the values of all data members can be printed, using either their fundamental types, or an optional user supplied method. Address maps are kept to ensure that multiple counting does not occur. By using these procedures, the analysis and reconstruction software can be monitored in a historical fashion, with statistics produced to show which objects and object containers grow or shrink in size, and likewise can be monitored for data quality consistency and release validation.


Using C++ based object introspection to monitor full memory footprint of
objects in an event store, for event size control, and dumping of data member
contents for data quality and release validation.

Submitted on behalf of Collaboration (ex, BaBar, ATLAS) ATLAS

Primary author


Presentation materials

There are no materials yet.