Title :
Exploiting TLS Parallelism at Multiple Loop-Nest Levels
Author :
Packirisamy, Venkatesan ; Zhai, Antonia
Author_Institution :
Dept. of Comput. Sci. & Eng., Univ. of Minnesota, Minneapolis, MN, USA
Abstract :
As the number of cores integrated onto a single chip increases, architecture and compiler designers are challenged with the difficulty of utilizing these cores to improve the performance of a single application. Thread-level speculation (TLS) can potentially help by allowing possibly dependent threads to speculatively execute in parallel. Extracting speculative thread from sequential applications is key to efficient TLS execution. Previous work on thread extraction has focused on parallelizing iterations from a single loop-nest level or function continuation. However, the amount of parallelism available at a single loop-nest level is sometimes limited, and we are forced to look for parallelism across multiple loop-nest levels. In this paper we propose SpecOPTAL - a compiler algorithm that statically allocates cores to threads extracted from different levels of loop-nests. We show that, a subset of SPEC 2006 benchmarks are able to benefit from the proposed technique.
Keywords :
multi-threading; multiprocessing systems; program compilers; program control structures; resource allocation; SpecOPTAL compiler algorithm; function continuation; multiple loop-nest level; parallel execution; resource allocation; thread extraction; thread-level speculation parallelism; Computer science; Degradation; Delay; Hardware; Merging; Multicore processing; Out of order; Parallel processing; Runtime; Yarn; Multi-core; compiler optimization; thread-level speculation;
Conference_Titel :
Parallel and Distributed Systems (ICPADS), 2009 15th International Conference on
Conference_Location :
Shenzhen
Print_ISBN :
978-1-4244-5788-5
DOI :
10.1109/ICPADS.2009.143