用于纯函数式程序的并行加速器体系结构

Ricardo Coelho, Felipe Tanus, Álvaro Freitas Moreira, G. Nazar
{"title":"用于纯函数式程序的并行加速器体系结构","authors":"Ricardo Coelho, Felipe Tanus, Álvaro Freitas Moreira, G. Nazar","doi":"10.1109/isvlsi49217.2020.00070","DOIUrl":null,"url":null,"abstract":"Typical reconfigurable accelerators are either limited to instruction-level parallelism or require developers to manage parallelism in the source code manually. Pure functional languages simplify this task because they disallow the occurrence of side effects allowing safe and automatic identification of parallel operations. On the other hand, the higher level of abstraction of functional languages, when compared to imperative languages, typically makes the execution of functional programs less efficient. To improve this efficiency, we present ACQuA, a parallel accelerator that can be programmed with pure functional languages. ACQuA exploits the parallelism available in independent function calls, using hardware support and a dedicated memory organization to minimize the overheads of scheduling, communication, and synchronization. ACQuA also includes optimizations targeting the efficient execution of map, an important higher-order function in functional languages. We evaluate the effectiveness of these optimizations and ACQuA's scalability in terms of area and performance, showing near-optimal speedup for applications with independent function calls while using manageable amounts of hardware resources.","PeriodicalId":423851,"journal":{"name":"2020 IEEE Computer Society Annual Symposium on VLSI (ISVLSI)","volume":"40 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"ACQuA: A Parallel Accelerator Architecture for Pure Functional Programs\",\"authors\":\"Ricardo Coelho, Felipe Tanus, Álvaro Freitas Moreira, G. Nazar\",\"doi\":\"10.1109/isvlsi49217.2020.00070\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Typical reconfigurable accelerators are either limited to instruction-level parallelism or require developers to manage parallelism in the source code manually. Pure functional languages simplify this task because they disallow the occurrence of side effects allowing safe and automatic identification of parallel operations. On the other hand, the higher level of abstraction of functional languages, when compared to imperative languages, typically makes the execution of functional programs less efficient. To improve this efficiency, we present ACQuA, a parallel accelerator that can be programmed with pure functional languages. ACQuA exploits the parallelism available in independent function calls, using hardware support and a dedicated memory organization to minimize the overheads of scheduling, communication, and synchronization. ACQuA also includes optimizations targeting the efficient execution of map, an important higher-order function in functional languages. We evaluate the effectiveness of these optimizations and ACQuA's scalability in terms of area and performance, showing near-optimal speedup for applications with independent function calls while using manageable amounts of hardware resources.\",\"PeriodicalId\":423851,\"journal\":{\"name\":\"2020 IEEE Computer Society Annual Symposium on VLSI (ISVLSI)\",\"volume\":\"40 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2020-07-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2020 IEEE Computer Society Annual Symposium on VLSI (ISVLSI)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/isvlsi49217.2020.00070\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2020 IEEE Computer Society Annual Symposium on VLSI (ISVLSI)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/isvlsi49217.2020.00070","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

摘要

典型的可重构加速器要么局限于指令级并行性,要么要求开发人员手动管理源代码中的并行性。纯函数式语言简化了这项任务,因为它们不允许出现副作用,从而允许安全、自动地识别并行操作。另一方面,与命令式语言相比,函数式语言的更高抽象级别通常会降低函数式程序的执行效率。为了提高这种效率,我们提出了ACQuA,一个可以用纯函数式语言编程的并行加速器。ACQuA利用独立函数调用中的并行性,使用硬件支持和专用内存组织来最小化调度、通信和同步的开销。ACQuA还包括针对map高效执行的优化,map是函数式语言中一个重要的高阶函数。我们评估了这些优化的有效性和ACQuA在面积和性能方面的可伸缩性,在使用可管理的硬件资源数量的情况下,显示了具有独立函数调用的应用程序的近乎最佳的加速。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
ACQuA: A Parallel Accelerator Architecture for Pure Functional Programs
Typical reconfigurable accelerators are either limited to instruction-level parallelism or require developers to manage parallelism in the source code manually. Pure functional languages simplify this task because they disallow the occurrence of side effects allowing safe and automatic identification of parallel operations. On the other hand, the higher level of abstraction of functional languages, when compared to imperative languages, typically makes the execution of functional programs less efficient. To improve this efficiency, we present ACQuA, a parallel accelerator that can be programmed with pure functional languages. ACQuA exploits the parallelism available in independent function calls, using hardware support and a dedicated memory organization to minimize the overheads of scheduling, communication, and synchronization. ACQuA also includes optimizations targeting the efficient execution of map, an important higher-order function in functional languages. We evaluate the effectiveness of these optimizations and ACQuA's scalability in terms of area and performance, showing near-optimal speedup for applications with independent function calls while using manageable amounts of hardware resources.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
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学术官方微信