Compiler -based computation reuse schemes for handheld devices

Yonghua Ding, Purdue University

Abstract

Recent research has shown that programs often exhibit value locality. Such locality occurs when a code segment, although executed repeatedly in the program, takes only a small number of different values as input and, naturally, generates a small number of different outputs. It is potentially beneficial to replace such a code segment by a hash table which records the computation results for the previous inputs. When the program execution re-enters the code segment with a repeated input, its computation can be simplified to a table look-up. This dissertation presents two computation reuse schemes, a compiler scheme and a run-time scheme, to exploit value locality. In the compiler scheme, we rely on the compiler to identify code segments that are good candidates for computation reuse. We discuss the conditions under which the table look-up costs less than repeating the execution, and we perform profiling to identify candidates that have many repeated inputs at run time. To reduce the overhead on the access of the hash table, we introduce several techniques, including the code specialization, the code coverage analysis, the conversion of floating point to fixed-point and the condensation of multiple inputs, that can be implemented in a compiler. In the run-time reuse scheme, we perform compiler analysis to locate the code segments which potentially benefit from computation reuse. Our run-time mechanism decides whether to apply computation reuse on the candidate code segments in the execution of the program. Compared to previous work, the two schemes require no special hardware support and are therefore particularly useful for resource-constrained systems such as handheld devices. We implement our schemes and their supporting analyses in GCC. We experiment with 13 benchmarks by executing them on two handheld devices. The results show the schemes to improve the performance and to reduce the energy consumption quite substantially for these programs.

Degree

Ph.D.

Advisors

Li, Purdue University.

Subject Area

Computer science

Off-Campus Purdue Users:
To access this dissertation, please log in to our
proxy server
.

Share

COinS