Rights accessRestricted access - publisher's policy
Memory-intensive threads can hoard shared re-
sources without making progress on a multithreading processor (SMT), thereby hindering the overall system performance. A recent promising solution to overcome
this important problem in SMT processors is Runa-head Threads (RaT). RaT employs runahead execution to allow a thread to speculatively execute instructions and prefetch data instead of stalling for a long-latency load. The main advantage of this mechanism is that it exploits memory-level parallelism under long latency
loads without clogging up shared resources. As a result, RaT improves the overall processor performance reducing the resource contention among threads.
In this paper, we propose simple code semantic based techniques to increase RaT efficiency. Our proposals are based on analyzing the prefetch opportunities
(usefulness) of loops and subroutines during runahead thread executions. We dynamically analyze these particular program structures to detect when it is useful or not to control the runahead thread execution. By means of this dynamic information, the proposed techniques make a control decision either to avoid or to stall the loop or subroutine execution in runahead threads. Our
experimental results show that our best proposal signifi cantly reduces the speculative instruction execution (33% on average) while maintaining and, even improving the performance of RaT (up to 3%) in some cases.
CitationRamirez, T. [et al.]. Code semantic-aware runahead threads. A: International Conference on Parallel Processing. "38th International Conference on Parallel Processing". Viena: 2009.
All rights reserved. This work is protected by the corresponding intellectual and industrial property rights. Without prejudice to any existing legal exemptions, reproduction, distribution, public communication or transformation of this work are prohibited without permission of the copyright holder. If you wish to make any use of the work not provided for in the law, please contact: email@example.com