Linux Symposium

July 13th-16th, 2010
Ottawa Westin
Ottawa, Canada

Register / Login / Submit Proposal

Presentations Keynotes Summits
Presentations
Tutorials
Lightning Talks
BOFS

Event Details Schedule
Venue
Travel & Hotel
Costs

FAQ

Media
Archives
Contact

Home



Looking Inside Memory - Tooling for tracing memory reference patterns

Ankita Garg (ankita@in.ibm.com)

Memory is a critical resource that is non-renewable and time consuming to regenerate by reclaim. While there are several tools available to understand the amount of memory utilized by an application, there is presently little infrastructure to capture the physical memory reference pattern of an application on a live system. This knowledge would enable the software developers and hardware designers to not only understand the amount of memory used, but also the way the references are laid out across RAM. The temporal and spatial reference patterns can provide new insights into the benchmark characteristics, which would enable memory related optimizations. Additional tools could be developed on top to obtain useful data from the reference information. For example, tool to understand the working set size of an application, and how it varies with time, tracking page faults, visualization of spinlock contention, etc. The data could also be used to optimize the application for NUMA systems. Kernel developers could use the data to check fragmentation and generic data placement issues.

In this paper, we introduce a Linux kernel memory reference instrumentation infrastructure. The instrumentation is built as a kernel module, on top of the trace framework in the kernel. It works by collecting memory reference samples at regular intervals. The data obtained is then post processed to plot various graphs for visualization. In the paper, we would provide information on the design and implementation of this instrumentation, along with the challenges faced by a generic memory instrumentation infrastructure. We will demonstrate few additional tools built on this infrastructure to obtain interesting data. We would present sample data, collected from several benchmarks. The target audience are people interested in kernel based instrumentation, application developers and performance tuning enthusiasts.



Gold Sponsors
Silver Sponsors
Bronze Sponsors
Wireless Networking

register | call for papers

Copyright © 2010 Linux Symposium Inc. All rights reserved.
Linux is a registered trademark of Linus Torvalds.