Abstract
Instruction-grain monitoring is a powerful approach that enables a wide spectrum of bug-finding tools. As existing software approaches incur prohibitive runtime overhead, researchers have focused on hardware support for instruction-grain monitoring. A recurring theme in recent work is the use of hardware-assisted filtering so as to elide costly software analysis. This work generalizes and extends prior point solutions into a programmable filtering accelerator affording vast flexibility and at-speed event filtering. The pipelined microarchitecture of the accelerator affords a peak filtering rate of one application event per cycle, which suffices to keep up with an aggressive OoO core running the monitored application. A unique feature of the proposed design is the ability to dynamically resolve dependencies between unfilterable events and subsequent events, eliminating data-dependent stalls and maximizing accelerator's performance. Our evaluation results show a monitoring slowdown of just 1.2-1.8x across a diverse set of monitoring tools.
Original language | Undefined/Unknown |
---|---|
Title of host publication | High Performance Computer Architecture (HPCA), 2014 IEEE 20th International Symposium on |
Pages | 108-119 |
Number of pages | 12 |
DOIs | |
Publication status | Published - 1 Feb 2014 |
Keywords
- pipeline processing
- program debugging
- programmable filters
- software performance evaluation
- software tools
- system monitoring
- FADE
- OoO core
- accelerator microarchitecture
- accelerator performance
- bug-finding tools
- data-dependent stalls
- hardware-assisted filtering
- instruction-grain monitoring
- monitoring tools
- peak filtering rate
- programmable filtering accelerator
- runtime overhead
- software analysis
- subsequent events
- unfilterable events
- Acceleration
- Benchmark testing
- Filtering
- Hardware
- Monitoring
- Runtime
- Software