Parallel and Distributed Computing Applications and Technologies, International Conference on (2009)
Higashi Hiroshima, Japan
Dec. 8, 2009 to Dec. 11, 2009
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/PDCAT.2009.67
We have proposed an auto-memoization processor. This processor automatically and dynamically memoizes both functions and loop iterations, and skips their execution by reusing their results. On the other hand, multi/many-core processors have come into wide use. The number of cores is expected to increase to a hundred or more. However, many programs do not have so much parallelism in them. Therefore it becomes very important to consider how to utilize many cores effectively. This paper describes a speedup technique for auto-memoization processor using speculative multi-threading. Two speculative threads will be forked on reuse test. The one assumes that the reuse test will succeed, and executes the following codes of the reuse target block speculatively. The other assumes that the reuse test will fail, and executes the reuse target block. These two threads conceal the overhead of auto-memoization processor. The result of the experiment with SPEC CPU95 suite benchmarks shows that proposing method improves the maximum speedup from 13.9% to 36.0%.
memoization, multicore, multithread
H. Matsuo, Y. Nakashima, T. Tsumura and Y. Kamiya, "A Speculative Technique for Auto-Memoization Processor with Multithreading," 2009 International Conference on Parallel and Distributed Computing, Applications and Technologies (PDCAT 2009)(PDCAT), Higashi Hiroshima, 2009, pp. 160-166.