TY - GEN
T1 - SoftSig
T2 - Software-exposed hardware signatures for code analysis and optimization
AU - Tuck, James
AU - Ahn, Wonsun
AU - Ceze, Luis
AU - Torrellas, Josep
PY - 2008
Y1 - 2008
N2 - Many code analysis techniques for optimization, debugging, or parallelization need to perform runtime disambiguation of sets of addresses. Such operations can be supported efficiently and with low complexity with hardware signatures. To enable flexible use of signatures, this paper proposes to expose a Signature Register File to the software through a rich ISA. The software has great flexibility to decide, for each signature,which addresses to collect and which addresses to disambiguate against. We call this architecture SoftSig. In addition, as an example of SoftSig use, we show how to detect redundant function calls efficiently and eliminate them dynamically. We call this algorithm MemoiSE. On average for five popular applications, MemoiSE reduces the number of dynamic instructions by 9.3%, thereby reducing the execution time of the applications by 9%.
AB - Many code analysis techniques for optimization, debugging, or parallelization need to perform runtime disambiguation of sets of addresses. Such operations can be supported efficiently and with low complexity with hardware signatures. To enable flexible use of signatures, this paper proposes to expose a Signature Register File to the software through a rich ISA. The software has great flexibility to decide, for each signature,which addresses to collect and which addresses to disambiguate against. We call this architecture SoftSig. In addition, as an example of SoftSig use, we show how to detect redundant function calls efficiently and eliminate them dynamically. We call this algorithm MemoiSE. On average for five popular applications, MemoiSE reduces the number of dynamic instructions by 9.3%, thereby reducing the execution time of the applications by 9%.
KW - Memory disambiguation
KW - Multi-core architectures
KW - Runtime optimization
UR - http://www.scopus.com/inward/record.url?scp=77957809930&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=77957809930&partnerID=8YFLogxK
U2 - 10.1145/1346281.1346300
DO - 10.1145/1346281.1346300
M3 - Conference contribution
AN - SCOPUS:77957809930
SN - 9781595939586
T3 - Operating Systems Review (ACM)
SP - 145
EP - 156
BT - ASPLOS XIII - Thirteenth International Conference on Architectural Support for Programming Languages and Operating Systems
ER -