In search of a map: using program slicing to discover potential parallelism in recursive functions

Adam D. Barwell, K. Hammond
{"title":"In search of a map: using program slicing to discover potential parallelism in recursive functions","authors":"Adam D. Barwell, K. Hammond","doi":"10.1145/3122948.3122951","DOIUrl":null,"url":null,"abstract":"Recursion schemes, such as the well-known map, can be used as loci of potential parallelism, where schemes are replaced with an equivalent parallel implementation. This paper formalises a novel technique, using program slicing, that automatically and statically identifies computations in recursive functions that can be lifted out of the function and then potentially performed in parallel. We define a new program slicing algorithm, build a prototype implementation, and demonstrate its use on 12 Haskell examples, including benchmarks from the NoFib suite and functions from the standard Haskell Prelude. In all cases, we obtain the expected results in terms of finding potential parallelism. Moreover, we have tested our prototype against synthetic benchmarks, and found that our prototype has quadratic time complexity. For the NoFib benchmark examples we demonstrate that relative parallel speedups can be obtained (up to 32.93× the sequential performance on 56 hyperthreaded cores).","PeriodicalId":130146,"journal":{"name":"Proceedings of the 6th ACM SIGPLAN International Workshop on Functional High-Performance Computing","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-09-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 6th ACM SIGPLAN International Workshop on Functional High-Performance Computing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3122948.3122951","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

Abstract

Recursion schemes, such as the well-known map, can be used as loci of potential parallelism, where schemes are replaced with an equivalent parallel implementation. This paper formalises a novel technique, using program slicing, that automatically and statically identifies computations in recursive functions that can be lifted out of the function and then potentially performed in parallel. We define a new program slicing algorithm, build a prototype implementation, and demonstrate its use on 12 Haskell examples, including benchmarks from the NoFib suite and functions from the standard Haskell Prelude. In all cases, we obtain the expected results in terms of finding potential parallelism. Moreover, we have tested our prototype against synthetic benchmarks, and found that our prototype has quadratic time complexity. For the NoFib benchmark examples we demonstrate that relative parallel speedups can be obtained (up to 32.93× the sequential performance on 56 hyperthreaded cores).
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
寻找映射:使用程序切片来发现递归函数中潜在的并行性
递归方案,例如众所周知的map,可以用作潜在并行性的轨迹,其中的方案被等效的并行实现取代。本文形式化了一种新技术,使用程序切片,自动和静态地识别递归函数中的计算,这些计算可以从函数中提取出来,然后可能并行执行。我们定义了一个新的程序切片算法,构建了一个原型实现,并在12个Haskell示例中演示了它的使用,包括来自NoFib套件的基准测试和来自标准Haskell Prelude的函数。在所有的情况下,我们都可以通过寻找潜在的并行性来获得预期的结果。此外,我们已经针对合成基准测试了我们的原型,并发现我们的原型具有二次的时间复杂度。对于NoFib基准测试示例,我们证明了可以获得相对的并行加速(在56个超线程内核上达到顺序性能的32.93倍)。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Destination-passing style for efficient memory management VisPar: visualising dataflow graphs from the Par Monad In search of a map: using program slicing to discover potential parallelism in recursive functions Strategies for regular segmented reductions on GPU From high-level radio protocol specifications to efficient low-level implementations via partial evaluation
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1