Title :
Code Layout Optimization for Defensiveness and Politeness in Shared Cache
Author :
Pengcheng Li ; Hao Luo ; Chen Ding ; Ziang Hu ; Handong Ye
Author_Institution :
Dept. of Comput. Sci., Univ. of Rochester, Rochester, NY, USA
Abstract :
Code layout optimization seeks to reorganize the instructions of a program to better utilize the cache. On multicore, parallel executions improve the throughput but may significantly increase the cache contention, because the co-run programs share the cache and in the case of hyper-threading, the instruction cache. In this paper, we extend the reference affinity model for use in whole-program code layout optimization. We also implement the temporal relation graph (TRG) model used in prior work for comparison. For code reorganization, we have developed both function reordering and inter-procedural basic-block reordering. We implement the two models and the two transformations in the LLVM compiler. Experimental results on a set of benchmarks show frequently 20% to 50% reduction in instruction cache misses. By better utilizing the shared cache, the new techniques magnify the throughput improvement of hyper-threading by 8%.
Keywords :
cache storage; multi-threading; multiprocessing systems; parallel processing; program compilers; LLVM compiler; TRG model; code reorganization; function reordering; hyper-threading; instruction cache; inter-procedural basic-block reordering; multicore executions; parallel executions; shared cache defensiveness; shared cache politeness; temporal relation graph; whole-program code layout optimization; Algorithm design and analysis; Data models; Equations; Layout; Mathematical model; Optimization; Program processors; Cache sharing; Code layout optimization; Multicore;
Conference_Titel :
Parallel Processing (ICPP), 2014 43rd International Conference on
Conference_Location :
Minneapolis MN
DOI :
10.1109/ICPP.2014.24