A Light-Weight Rollback Mechanism for Testing Kernel Variants in Auto-Tuning

Shoichi HIRASAWA  Hiroyuki TAKIZAWA  Hiroaki KOBAYASHI  

IEICE TRANSACTIONS on Information and Systems   Vol.E98-D   No.12   pp.2178-2186
Publication Date: 2015/12/01
Publicized: 2015/09/15
Online ISSN: 1745-1361
DOI: 10.1587/transinf.2015PAP0028
Type of Manuscript: Special Section PAPER (Special Section on Parallel and Distributed Computing and Networking)
Category: Software
auto-tuning,  rollback,  cache,  early termination,  

Full Text: PDF>>
Buy this Article

Automatic performance tuning of a practical application could be time-consuming and sometimes infeasible, because it often needs to evaluate the performances of a large number of code variants to find the best one. In this paper, hence, a light-weight rollback mechanism is proposed to evaluate each of code variants at a low cost. In the proposed mechanism, once one code variant of a target code block is executed, the execution state is rolled back to the previous state of not yet executing the block so as to repeatedly execute only the block to find the best code variant. It also has a feature of terminating a code variant whose execution time is longer than the shortest execution time so far. As a result, it can prevent executing the whole application many times and thus reduces the timing overhead of an auto-tuning process required for finding the best code variant.