Browse Prior Art Database

Method of hardware tracing nest PM event into memory on the fly

IP.com Disclosure Number: IPCOM000124052D
Original Publication Date: 2005-Apr-07
Included in the Prior Art Database: 2005-Apr-07
Document File: 3 page(s) / 78K

Publishing Venue

IBM

Abstract

Most modern processors contain specialized hardware to monitor and record events that occur during the processing of instructions. These events are represented by signals from the various functional units within the processor. Typically these events are counted in Performance Monitor Counters (PMCs). Another use of these events is to periodically sample all event signals and record the sample in a software accessible register. These methods are limited by their requirement for software to actively participate in the collection of event data, either by reading the counters or the sampled event register(s). The granularity of data is limited by the frequency that the counters or registers are read. To increase the granularity of data requires frequent reads which will perturb the application running on the processor. The disclosed describes a method that requires no intervention from the processor being monitored and can collect data on a cycle granularity with no additional overhead.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 54% of the total text.

Page 1 of 3

Method of hardware tracing nest PM event into memory on the fly

This method takes advantage of an In-Memory facility. In-Memory tracing, refers to the idea of using part of the system memory to collect hardware data from system cores, buses, or caches for performance studies. The Trace Facility is the heart of the hardware trace facility. The purpose of the Trace Facility is to collect hardware trace from one of the different trace sources then store these trace records in a predefined memory location. The trace memory needs to be allocated before enable tracing. Sequential address range, behind one or more Memory Controller (MC), can be statically assigned at the IPL time or dynamically using software. By routing event signals to the Trace Facility it is possible to store a sequence of event sample in the trace memory. The advantage of this method over existing methods is that the collection of the event "snapshots" does not require software intervention and has no impact on the performance of the system. In a multiprocessor system event snapshots can be processed in real time by one processor will an application being monitored is running on another processor. Alternatively the traced events can be processed at a later time. This processing can consist of accumulating a count of event occurrences or presenting a temporal view of event (e.g. viewing a sequence of different events leading up to a performance anomaly). Since event data is captured as it occurs, preserving the temporal relationships between events, it becomes possible to locate periods when a particular combination of events occurred. This type of detection and analysis requires specialized hardware using existing methods but is only limited by the analysis software using the described method.

In POWER6, one of the trace inputs to the Trace Facility is the nest Performance monitored events (Figure1). Therefore there will be a dedicated port for nest Performance Monitored (PM) events data from Level 3 cache controller (L3), Fabric Bus Controller (FBC), Memory Controller (MC), and IO controller (GX) into the Trace Facility . The...