Title :
Program Interferometry
Author :
Wang, Zhe ; Jiménez, Daniel A.
Author_Institution :
Dept. of Comput. Sci., Univ. of Texas at San Antonio, San Antonio, TX, USA
Abstract :
This paper presents a technique called Program Interferometry, based on perturbing placement of code and data. Many executable versions of a program are produced by pseudo-randomly re-ordering procedures and objects files. Similarly, the memory allocator places objects pseudo-randomly on the heap. A given random placement of code and data can be repeated by using the same key for the pseudo-random number generator so that runs are reproducible. Each code and data placement is semantically equivalent, but because the instruction addresses are different, different conflicts will arise among microarchitectural structures such as the branch predictor and instruction cache [2]. The situation is similar to one in which we keep the code and data placement constant, but change the hash functions for microarchitectural structures. Thus, we may measure the performance impact of changing these structures.
Keywords :
data handling; file organisation; program interpreters; random number generation; branch predictor; code placement; data placement; hash function; instruction cache; microarchitectural structure; program interferometry technique; pseudorandom number generator; pseudorandomly reordering procedure; Benchmark testing; Correlation; Interferometry; Microarchitecture; Pollution measurement; Predictive models; Radiation detectors; branch prediction; performance modeling; statistical methods;
Conference_Titel :
Parallel Architectures and Compilation Techniques (PACT), 2011 International Conference on
Conference_Location :
Galveston, TX
Print_ISBN :
978-1-4577-1794-9
DOI :
10.1109/PACT.2011.32