Efficient Software-Based Online Phase Classification (ScarPhase)

Authors: Andreas Sembrant, David Eklov, Erik Hagersten
Venue:    IISWC 2011

The authors develop an online phase detection algorithm that works by approximating Basic Block Vectors (BBVs) by sampling conditional branches, made possible by PEBS. The algorithm operates on real-hardware, online, and uses fixed 100M instruction count windows. They show that while conditional branches encapsulate less information that all branches, when you are sampling, conditional branches provide better information. They evaluate their phase detection algorithms using the coefficient of variation, comparing the CoV within a phase to the global CoV. They additionally provide a metric which penalizes creating new phases. Finally, they utilize a Markov Predictor, similar to Sherwood and show accurate phase prediction as well. Overall, this paper does an excellent job of solving many off the challenges of phase detection:

  • Feasible with real hardware with a low overhead of less than 2%
  • Address the key component of phase detector for performance analysis: stable performance within a phase
  • Provide both a phase detector and predictor as a software library.

Note that they provide their framework as a software library available on GitHub.

Full Text

Comments

Popular posts from this blog

Fundamental Latency Trade-offs in Architecting DRAM Caches (Alloy Cache)

ZCOMP: Reducing DNN Cross-Layer Memory Footprint Using Vector Extensions

AutoFDO: Automatic Feedback-Directed Optimization for Warehouse-Scale Applications