80 likes | 210 Views
An Efficient Profile-Analysis Framework for Data-Layout Optimizations. By Shai Rubin, Rastislav Bodik, Trishul Chilimbi. Data-Layout Optimization. To improve memory hierarchy performance by exploiting spatial locality Group the data that is accessed together Minimizing cache conflicts
E N D
An Efficient Profile-Analysis Framework for Data-Layout Optimizations By Shai Rubin, Rastislav Bodik, Trishul Chilimbi
Data-Layout Optimization • To improve memory hierarchy performance by exploiting spatial locality • Group the data that is accessed together • Minimizing cache conflicts • Optimizations • Field rearrangement in an object • Object rearrangement in the heap • Object inlining
Motivation • A solution to find the optimal layout is NP-hard and also poorly approximable • All these techniques are actually heuristics and no guarantee of effectiveness and robustness • A naïve approach is tedious
Solution • A generalized framework to determine the best layout for a given program • Unifying existing profile-based data layout optimizations • A very efficient way of evaluating a candidate layout with simulation
Optimization Evaluation • Memoization • Dynamic programming • Whole Program Misses • The representation omits references that can never suffer any memory fault • Ex. abba • On demand Cache simulation
Discussion • How many applications really use this kind of optimizations? • Some of the optimizations are already automated (ex. Object inlining)