DocumentCode
157841
Title
CDTT: Compiler-generated data-triggered threads
Author
Hung-Wei Tseng ; Tullsen, Dean M.
Author_Institution
Dept. of Comput. Sci. & Eng., Univ. of California, San Diego, La Jolla, CA, USA
fYear
2014
fDate
15-19 Feb. 2014
Firstpage
650
Lastpage
661
Abstract
This paper presents CDTT, a compiler framework that takes C/C++ code and automatically generates a binary that eliminates dynamically redundant code without programmer intervention. It does so by exploiting underlying hardware or software support for the data-triggered threads (DTT) programming and execution model. With the help of idempotence analysis and inter-procedural name dependence analysis, CDTT identifies potential code regions and composes support thread functions that execute as soon as live-in data changes. CDTT can also use profile data to target the elimination of redundant computation. The compiled binary running on top of a software runtime system can achieve nearly the same level of performance as careful hand-coded modifications in most benchmarks. CDTT improves the performance of serial C SPEC benchmarks by as much as 57% (average 11%) on a Nehalem processor.
Keywords
C++ language; multi-threading; program compilers; C-C++ code; CDTT; Nehalem processor; compiler framework; compiler-generated data-triggered threads; data-triggered threads programming; hand-coded modifications; hardware supportfor; idempotence analysis; interprocedural name dependence analysis; live-in data changes; profile data; redundant computation; serial C SPEC benchmarks; software runtime system; software supportfor; Computational modeling; Data structures; Hardware; Instruction sets; Parallel processing; Runtime;
fLanguage
English
Publisher
ieee
Conference_Titel
High Performance Computer Architecture (HPCA), 2014 IEEE 20th International Symposium on
Conference_Location
Orlando, FL
Type
conf
DOI
10.1109/HPCA.2014.6835973
Filename
6835973
Link To Document