Locality Phase Prediction

Authors:     Xipeng Shen, Yutao Zhong, Chen Ding  (University of Rochester)
Venue:        ASPLOS 2004

Locality Phase Prediction presents an offline phase detection and prediction scheme. While, previous phase detection works use repeating branches or performance counters to identify program phases, locality phases are defined by the data locality. More formally "a locality phase ... [is] a period of program execution that has stable or slow changing data locality inside the phase but disruptive transition periods between phases." Additionally, it is important to note their definition of a phase: "a phase is a unit of repeating behavior rather than a unit of uniform behavior." The claim is that these types of phases are particularly common in simulation-type programs, which will often process over a (data) structure many times, as they calculate behavior at each time-step. In order to extract the phases, they use data reuse distance, which is variably sampled. They then process the data with wavelet filtering which gives frequencies which occur over time.

While the techniques described seem interesting, the author's representation of results is rather abstract, which makes evaluating the method difficult. Overall, their technique is comparable to by-hand code injection and seems to outperform the BBV approach by Sherwood et. al. However, the biggest drawback from this approach is that it really only works for particular workloads. Data locality isn't always present, especially when you require a separate offline analysis step. I think they have something with the approach, but translating it to an online algorithm for my work probably doesn't make sense.


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