Browse Prior Art Database

Simultaneous Viewing of Performance Monitor Data Independent of Counters

IP.com Disclosure Number: IPCOM000118188D
Original Publication Date: 1996-Oct-01
Included in the Prior Art Database: 2005-Apr-01
Document File: 4 page(s) / 88K

Publishing Venue

IBM

Related People

Heisch, RR: AUTHOR

Abstract

Disclosed is a method for simultaneous display of ALL Performance Monitor (PM) event counts for processor implementations with fewer PM counters than events.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 53% of the total text.

Simultaneous Viewing of Performance Monitor Data Independent of Counters

      Disclosed is a method for simultaneous display of ALL
Performance Monitor (PM) event counts for processor implementations
with fewer PM counters than events.

      Hardware performance monitors are being provided on more recent
processors (PowerPC604*, Pentium**, etc.) to collect/present valuable
processor/cache/bus performance data.  However, due to limited chip
real estate, the number of counters provided is typically much less
than the total number of events which can be counted.  For example,
on the 604, one can count two events from a total of thirty five +
events, such as number of instructions completed and number of
processor cycles.  To collect more than two events, multiple passes
must be made  for each of different event pairs.

      The solution disclosed here has been implemented in a prototype
tool called 'pm'.  All performance monitor events are displayed
simultaneously by sampling event pairs (or N events where N is the
number of available PM counters) for short sample durations (such as
10ms) and  collecting/displaying these events together periodically
(such as once  each second) simultaneously.  Typically, one of the
events should be common for all event groups (such as processor
cycles) to correlate the  sample data.

      The user selects the sample period P which determines how long
each event group is sampled and the display update period U which
determines how often all collected event group samples are displayed
to the screen (or saved to a file).  The psuedo code loop is as
follows:
             sample_thread()
          {
          for each event group
             {
             initialize the performance monitor hardware to
              count the current event group
                  start the counters
        ...