Towards a Compiler Framework for Thread-Level Speculation

Sergio Aldea, D. Ferraris, Arturo González-Escribano
{"title":"Towards a Compiler Framework for Thread-Level Speculation","authors":"Sergio Aldea, D. Ferraris, Arturo González-Escribano","doi":"10.1109/PDP.2011.14","DOIUrl":null,"url":null,"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 areduction 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.","PeriodicalId":341803,"journal":{"name":"2011 19th International Euromicro Conference on Parallel, Distributed and Network-Based Processing","volume":"61 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2011-02-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2011 19th International Euromicro Conference on Parallel, Distributed and Network-Based Processing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/PDP.2011.14","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 5

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 areduction 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.
面向线程级推测的编译器框架
推测并行化技术允许提取在编译时无法分析的代码片段的并行性。然而,基于软件的线程级推测的研究将极大地受益于一个合适的编译器框架,以方便原型和新技术的进一步开发。本文提出了一个实验性的基于xml的编译框架来处理C代码的推测并行化。该框架扩展了Cetus(一个源到源的C编译器),以基于源代码的Cetus内部表示来构建XML树。我们框架的其他模块依赖于XPath和XSLT功能来处理生成的XML树,对变量的使用进行分析,并为基于软件的推测性并行执行增强原始代码。使用我们的框架的当前版本可以快速创建新的分析和转换解决方案的原型,与直接使用Cetus相比,减少了大约83%的代码行数。为了展示这个框架的可能性,我们为几个SPEC CPU2006 C基准测试提供了一个自动生成的循环分类。这种分类有助于更好地理解使用推测并行化技术所带来的潜在好处。这里提供的开发框架可根据要求免费提供。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信