DocumentCode
2806529
Title
Towards a Compiler Framework for Thread-Level Speculation
Author
Aldea, Sergio ; Llanos, Diego R. ; González-Escribano, Arturo
Author_Institution
Dipt. de Inf., Univ. de Valladolid, Valladolid, Spain
fYear
2011
fDate
9-11 Feb. 2011
Firstpage
267
Lastpage
271
Abstract
Speculative parallelization techniques allow to extract parallelism of fragments of code that can not be analyzed at compile time. However, research on software-based, thread-level speculation will greatly benefit from an appropriate compiler framework for easy prototyping and further development of new techniques. This paper presents an experimental XML-based compilation framework to handle speculative parallelization of C code. The framework extends Cetus, a source-to-source C compiler, to build an XML tree based on the Cetus Internal Representation of the source code. Other modules of our framework rely on XPath and XSLT capabilities to process the XML tree generated, to perform analysis on the use of variables and to augment the original code for software-based, speculative parallel execution. The use of the current version of our framework allows a fast prototyping of new analysis and transformation solutions, with a reduction of around 83% on the number of code lines needed with respect to the direct use of Cetus for the same purpose. To show the possibilities of this framework, we present an automatically-generated classification of loops for several SPEC CPU2006 C benchmarks. This classification is useful to better understand the potential benefits derived from the use of speculative parallelization techniques. The development framework presented here is freely available under request.
Keywords
XML; parallel processing; parallelising compilers; software prototyping; trees (mathematics); Cetus internal representation; SPEC CPU2006 C benchmark; XML tree; XML-based compilation framework; XSLT capability; automatically-generated classification; compiler framework; software-based research; source code lines; source-to-source C compiler; speculative parallel execution; speculative parallelization technique; thread-level speculation; Benchmark testing; Context; Instruction sets; Java; Parallel processing; XML; XML; XPath; XSLT; compiler framework; speculative parallelization;
fLanguage
English
Publisher
ieee
Conference_Titel
Parallel, Distributed and Network-Based Processing (PDP), 2011 19th Euromicro International Conference on
Conference_Location
Ayia Napa
ISSN
1066-6192
Print_ISBN
978-1-4244-9682-2
Type
conf
DOI
10.1109/PDP.2011.14
Filename
5738997
Link To Document