Approximate function memoization

CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE(2022)

引用 0|浏览7
暂无评分
摘要
Function memoization is an optimization technique that reduces a function call overhead when the same input appears again. A table that stores the previous result is searched and used to skip the repeated computation. This way, it increases the performance of the function call. In this article, we propose a software approach of function memoization to improve computing efficiency by bypassing the execution of the function implemented using approximate computing techniques. Searching overhead is a primary concern in any memoization technique proposed so far. In traditional function memoization, the input arguments are first searched in the look-up table (LUT) for an exact match, and the corresponding result is extracted for further use. But, in this article, a decision-making rule is proposed to help us decide whether to search the LUT or go for the actual computation. This decision-making model is implemented through Bloom filter and Cantor's pairing function. Because Bloom filter sometimes produces false-positive results, we suggest a simple approximation technique that searches the LUT for an approximate match rather than an exact match. The proposed model also contains a bypass algorithm implemented through C++ code that identifies the trivial computations from the input argument of the candidate function. By this, we can avoid the actual calculation and generate the result directly. Here, trivial computation identifies one or more input arguments that are either 0 or +/- 1$$ \pm 1 $$. To analyze the effectiveness of our proposed technique, we conducted several experiments using the benchmarks from the AxBench suite. We found that our result outperforms some of the methods proposed so far in terms of energy consumption and quality of results, particularly in image processing applications.
更多
查看译文
关键词
approximate computing, bypass computation, function memoization
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要