OpenStream: a data-flow approach to solving the von Neumann bottlenecks

M-SCOPES Pub Date : 2013-06-19 DOI:10.1145/2463596.2486782
Antoniu Pop
{"title":"OpenStream: a data-flow approach to solving the von Neumann bottlenecks","authors":"Antoniu Pop","doi":"10.1145/2463596.2486782","DOIUrl":null,"url":null,"abstract":"As single-threaded performance is reaching its limits, the prevailing trend in multi-core and embedded MPSoC architectures is to provide an ever increasing number of processing units. This convergence leads to shared concerns, like scalability and programmability. Exploiting such architectures poses tremendous challenges to application programmers and to compiler/runtime developers alike. Uncovering raw parallelism is often insufficient in and of itself: improving performance requires changing the code structure to harness complex parallel hardware and memory hierarchies; translating more processing units into effective performance gains involves a combination of target-specific optimizations, subtle concurrency concepts and non-deterministic algorithms.\n In this presentation, we examine the limitations of current, von Neumann architectures and the impact on programmability of the drift from hardware-managed complexity to an increasing reliance on software solutions. We first propose OpenStream, a high-level data-flow programming model, as a pragmatic answer from the application programmer's perspective. Recognizing that the burden cannot be borne by either programmers or compilers alone, OpenStream is designed to strike a fair balance: programmers provide abstract information about their applications and leave the compiler and runtime system with the responsibility of lowering these abstractions to well-orchestrated threads and memory management. In the second part, we adopt the runtime developer's perspective and examine these impacts through the example of the implementation and proof of concurrent lock-free algorithms, a cornerstone of runtime system implementation, critically important in the context of relaxed memory consistency models.","PeriodicalId":344517,"journal":{"name":"M-SCOPES","volume":"57 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2013-06-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"M-SCOPES","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2463596.2486782","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

Abstract

As single-threaded performance is reaching its limits, the prevailing trend in multi-core and embedded MPSoC architectures is to provide an ever increasing number of processing units. This convergence leads to shared concerns, like scalability and programmability. Exploiting such architectures poses tremendous challenges to application programmers and to compiler/runtime developers alike. Uncovering raw parallelism is often insufficient in and of itself: improving performance requires changing the code structure to harness complex parallel hardware and memory hierarchies; translating more processing units into effective performance gains involves a combination of target-specific optimizations, subtle concurrency concepts and non-deterministic algorithms. In this presentation, we examine the limitations of current, von Neumann architectures and the impact on programmability of the drift from hardware-managed complexity to an increasing reliance on software solutions. We first propose OpenStream, a high-level data-flow programming model, as a pragmatic answer from the application programmer's perspective. Recognizing that the burden cannot be borne by either programmers or compilers alone, OpenStream is designed to strike a fair balance: programmers provide abstract information about their applications and leave the compiler and runtime system with the responsibility of lowering these abstractions to well-orchestrated threads and memory management. In the second part, we adopt the runtime developer's perspective and examine these impacts through the example of the implementation and proof of concurrent lock-free algorithms, a cornerstone of runtime system implementation, critically important in the context of relaxed memory consistency models.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
OpenStream:解决von Neumann瓶颈的数据流方法
随着单线程性能达到极限,多核和嵌入式MPSoC架构的流行趋势是提供越来越多的处理单元。这种融合导致了共同的关注点,比如可伸缩性和可编程性。利用这样的体系结构对应用程序程序员和编译器/运行时开发人员都提出了巨大的挑战。揭示原始的并行性本身往往是不够的:提高性能需要改变代码结构来利用复杂的并行硬件和内存层次结构;将更多的处理单元转化为有效的性能增益,需要结合特定于目标的优化、微妙的并发概念和非确定性算法。在本次演讲中,我们研究了当前冯·诺伊曼架构的局限性,以及从硬件管理的复杂性到越来越依赖软件解决方案的漂移对可编程性的影响。我们首先提出OpenStream,一个高级数据流编程模型,作为从应用程序员角度出发的实用答案。认识到这个负担不能由程序员或编译器单独承担,OpenStream的设计是为了达到一个公平的平衡:程序员提供有关其应用程序的抽象信息,而让编译器和运行时系统负责将这些抽象降低到精心编排的线程和内存管理。在第二部分中,我们采用运行时开发人员的观点,并通过并发无锁算法的实现和证明的示例来检查这些影响,并发无锁算法是运行时系统实现的基石,在宽松内存一致性模型的背景下至关重要。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Runtime resource allocation for software pipelines Dataflow analysis for multiprocessor systems with non-starvation-free schedulers Design of safety-critical Java level 1 applications using affine abstract clocks Designer-in-the-loop recoding of ESL models using static parallel access conflict analysis Reducing startup time of a deterministic virtualizing runtime environment
×
引用
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