Title
Automated locality optimization based on the reuse distance of string operations
Abstract
String operations such as memcpy, memset and memcmp account for a nontrivial amount of Google datacenter resources. String operations hurt processor cache efficiency when the data accessed is not reused shortly thereafter. Such cache pollution can be avoided by using nontemporal memory access to bypass L2/L3 caches. As reuse distance varies greatly across different memcpy static call contexts in the same program, an efficient solution needs to be call context sensitive. We propose a novel solution to this problem using the page protection mechanism to measure reuse distance and the GCC feedback directed optimization mechanism to generate nontemporal memory access instructions at the appropriate static code contexts. First, the compiler inserts instrumentation for calls to string operations. Then a run time library measures reuse distance using the page protection mechanism during a representative profiling run. The compiler finally generates calls to specialized string operations that use nontemporal operations for the arguments with large reuse distance. We present a full implementation and initial results including speedup on large datacenter applications.
Year
DOI
Venue
2011
10.1109/CGO.2011.5764686
Code Generation and Optimization
Keywords
Field
DocType
Web sites,cache storage,computer centres,program compilers,security of data,GCC feedback directed optimization mechanism,Google datacenter resources,L2/L3 caches,automated locality optimization,memory access instructions,page protection mechanism,reuse distance,run time library,string operations hurt processor cache,memcpy,nontemporal,reuse distance
Cache pollution,Profiling (computer programming),CPU cache,Reuse,Computer science,Parallel computing,Real-time computing,Compiler,Operating system,Benchmark (computing),Speedup,String operations
Conference
ISSN
ISBN
Citations 
2164-2397
978-1-61284-358-2
13
PageRank 
References 
Authors
0.68
13
3
Name
Order
Citations
PageRank
Silvius Rus1130.68
Raksit Ashok2302.68
David Xinliang Li3130.68