PACMAN
A PerformAnce Counters MANager for Intel Hyperthreaded Processors
Department of Computer Science
College of Engineering
Virginia Tech

Team
Prof. Dimitris Nikolopoulos
Dr. Christos Antonopoulos
Matthew Curtis-Maury




  Outline
PACMAN is written in C++ and provides a simple interface to access the performance monitor counters available on the Intel Pentium 4 processor. It is built on top of the Perfctr interface. One notable feature of the library is that it handles to collection of events on both contexts of Hyperthreaded processors in per-thread mode, which is something not provided in other similar libraries. Using per-thread collection and running a thread on the second context requires a modification to the Perfctr library to remove restrictions (please email for directions). However, PACMAN works correctly with unaltered Perfctr for one thread executing on the first execution context of a CPU (or on a non-HT CPU) or for global mode collection. Because the library simply provides an interface to the P4 counters, the same P4 architectural limitations apply (see P4 System Programming Guide). We have provided sample source code files to give examples of how to use the library.

  Software
If you have removed restrictions from perfctr, download this version of PACMAN.
If you have NOT removed restrictions from perfctr (standard downloadable version of Perfctr), download this version of PACMAN.

  Papers
"PACMAN: A PerformAnce Counters MANager for Intel Hyperthreaded Processors." Matthew Curtis-Maury, Christos D. Antonopoulos, and Dimitrios S. Nikolopoulos. In Proceedings of the Third International Conference on the Quantitative Evaluation of Systems. Tools session. PDF
Short paper on how to use performance counters on the P4. PDF
Short paper on how to use precise event-based sampling on the performance counters on the P4. PDF

Copyright © 2006, Dimitris Nikolopoulos. All Rights Reserved.