Automatically Characterizing Large Scale Program Behavior

Authors:   Tim Sherwood, Erez Perelman, Greg Hamerly, Brad Calder (UC San Diego)
Venue:      ASPLOS 2002

This paper introduces the concept of Basic Block Vectors (BBV). A basic block is defined as a piece of code with one entry and one exit. A basic block vector consists of an element for each basic block. The value in that block corresponds to the number of times the block was seen multiplied by the number of instructions in the block. Similar phases, or basic blocks, need not be temporally adjacent. One particularly interesting components is there phase detection algorithm. There basic block vectors are often millions of dimensions, and they use random linear projection to reduce the dimensionality 15. They use k-means multiples times and score the result using BIC - Bayesian Information Criterion.

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