CnC: A Dependence Programming Model

Zoran Budimlic, K. Knobe
{"title":"CnC: A Dependence Programming Model","authors":"Zoran Budimlic, K. Knobe","doi":"10.1145/3292533.3292536","DOIUrl":null,"url":null,"abstract":"Application tuning is the one of the major hurdles on the road to exascale computing. Tuning is often directed at a specific architecture or towards some specific tuning goal. As currently practiced, the tuning activity requires serious expertise in the application domain, target architecture and tuning goals. Keeping all these (sometimes conflicting) concerns in mind at the same time while developing a program is very difficult and error prone. Dependence programming is a class of dataflow programming in which both data and control flow are explicit, are distinguished and are given equal weight. This paper gives an overview of CnC, a dataflow dependence programming model, from the perspective of the needs of exascale computing and shows how CnC addresses those needs through a separation of concerns. The goal of CnC is to enable a process that is easier, less error-prone and more effective, by separating these concerns into independent activities. Rather than proposing yet another approach to tuning, CnC provides a way to specify the application in a way that a) hides details not relevant to tuning, b) includes as much detail as possible to support the analysis and tuning process, and c) does not assume any specific architecture, style of tuning or tuning goals. This results in a specification of the application that can be applied to any existing or future architectures and can use any existing or future tuning approach. At the same time it can be more efficient in human time spent on creating the application and more effective in finding the best tuning.","PeriodicalId":195082,"journal":{"name":"Proceedings of the Sixth Workshop on Data-Flow Execution Models for Extreme Scale Computing","volume":"8 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the Sixth Workshop on Data-Flow Execution Models for Extreme Scale Computing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3292533.3292536","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

Application tuning is the one of the major hurdles on the road to exascale computing. Tuning is often directed at a specific architecture or towards some specific tuning goal. As currently practiced, the tuning activity requires serious expertise in the application domain, target architecture and tuning goals. Keeping all these (sometimes conflicting) concerns in mind at the same time while developing a program is very difficult and error prone. Dependence programming is a class of dataflow programming in which both data and control flow are explicit, are distinguished and are given equal weight. This paper gives an overview of CnC, a dataflow dependence programming model, from the perspective of the needs of exascale computing and shows how CnC addresses those needs through a separation of concerns. The goal of CnC is to enable a process that is easier, less error-prone and more effective, by separating these concerns into independent activities. Rather than proposing yet another approach to tuning, CnC provides a way to specify the application in a way that a) hides details not relevant to tuning, b) includes as much detail as possible to support the analysis and tuning process, and c) does not assume any specific architecture, style of tuning or tuning goals. This results in a specification of the application that can be applied to any existing or future architectures and can use any existing or future tuning approach. At the same time it can be more efficient in human time spent on creating the application and more effective in finding the best tuning.
CnC:一个依赖编程模型
应用程序调优是百亿亿次计算道路上的主要障碍之一。调优通常针对特定的体系结构或某些特定的调优目标。按照目前的实践,调优活动需要在应用程序领域、目标体系结构和调优目标方面的专业知识。在开发程序的同时记住所有这些(有时是相互冲突的)关注点是非常困难的,而且容易出错。依赖编程是一类数据流编程,其中数据流和控制流都是显式的,被区分开来并被赋予相同的权重。本文从百亿亿级计算需求的角度概述了CnC这一数据流依赖编程模型,并展示了CnC如何通过关注点分离来满足这些需求。CnC的目标是通过将这些关注点分离成独立的活动,使流程更容易、更少出错、更有效。CnC并没有提出另一种调优方法,而是提供了一种指定应用程序的方法:a)隐藏与调优无关的细节;b)包含尽可能多的细节以支持分析和调优过程;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学术文献互助群
群 号:481959085
Book学术官方微信