Accurate and Low-Overhead Dynamic Detection and Prediction of Program Phases Using Branch Signatures - Vijayn, Balaji; Ponomarev, Dmitry V. (Anais do International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD), 2008)
We introduce a hardware-only program phase detection and prediction architecture, which improves on the existing proposal by forming the execution footprints using simple bit-vectors called "branch signatures" to capture the set of branches touched during an execution interval. Previous work, in contrast, used the number of instructions executed between the branches to form the footprints. Such a modification significantly simplifies the phase detection  logic and also affords numerous additional advantages, such as the detection of fewer distinct phases, less frequent phase transitions and higher phase prediction accuracies. We also show, through extensive simulations, that our simplified phase detection logic performs on par with the original proposal on several phase-based optimizations, such as the issue width adaptation and the exploitation of frequent value locality. At the same time, the proposed logic requires only a fraction of the storage needed by the previous scheme to keep the phase-related information.