Tackling Complexity in High Performance Computing Applications.

IF 0.9 4区 计算机科学 Q3 COMPUTER SCIENCE, THEORY & METHODS
J Darlington, A J Field, L Hakim
{"title":"Tackling Complexity in High Performance Computing Applications.","authors":"J Darlington,&nbsp;A J Field,&nbsp;L Hakim","doi":"10.1007/s10766-016-0422-9","DOIUrl":null,"url":null,"abstract":"<p><p>We present a software framework that supports the specification of user-definable configuration options in HPC applications independently of the application code itself. Such options include model parameter values, the selection of numerical algorithm, target platform etc. and additional <i>constraints</i> that prevent invalid combinations of options from being made. Such constraints, which are capable of describing complex cross-domain dependencies, are often crucial to the correct functioning of the application and are typically either completely absent from the code or a hard to recover from it. The framework uses a combination of functional workflows and constraint solvers. Application workflows are built from a combination of functional components: higher-order co-ordination forms and first-order data processing components which can be either concrete or abstract, i.e. without a specified implementation at the outset. A repository provides alternative implementations for these abstract components. A constraint solver, written in Prolog, guides a user in making valid choices of parameters, implementations, machines etc. for any given context. Partial designs can be stored and shared providing a systematic means of handling application use and maintenance. We describe our methodology and illustrate its application in two classes of application: a data intensive commercial video transcoding example and a numerically intensive incompressible Navier-Stokes solver.</p>","PeriodicalId":14313,"journal":{"name":"International Journal of Parallel Programming","volume":"45 2","pages":"402-420"},"PeriodicalIF":0.9000,"publicationDate":"2017-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1007/s10766-016-0422-9","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"International Journal of Parallel Programming","FirstCategoryId":"94","ListUrlMain":"https://doi.org/10.1007/s10766-016-0422-9","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"2016/4/16 0:00:00","PubModel":"Epub","JCR":"Q3","JCRName":"COMPUTER SCIENCE, THEORY & METHODS","Score":null,"Total":0}
引用次数: 2

Abstract

We present a software framework that supports the specification of user-definable configuration options in HPC applications independently of the application code itself. Such options include model parameter values, the selection of numerical algorithm, target platform etc. and additional constraints that prevent invalid combinations of options from being made. Such constraints, which are capable of describing complex cross-domain dependencies, are often crucial to the correct functioning of the application and are typically either completely absent from the code or a hard to recover from it. The framework uses a combination of functional workflows and constraint solvers. Application workflows are built from a combination of functional components: higher-order co-ordination forms and first-order data processing components which can be either concrete or abstract, i.e. without a specified implementation at the outset. A repository provides alternative implementations for these abstract components. A constraint solver, written in Prolog, guides a user in making valid choices of parameters, implementations, machines etc. for any given context. Partial designs can be stored and shared providing a systematic means of handling application use and maintenance. We describe our methodology and illustrate its application in two classes of application: a data intensive commercial video transcoding example and a numerically intensive incompressible Navier-Stokes solver.

Abstract Image

Abstract Image

Abstract Image

解决高性能计算应用中的复杂性。
我们提出了一个软件框架,它支持HPC应用程序中独立于应用程序代码本身的用户可定义配置选项的规范。这些选项包括模型参数值、数值算法的选择、目标平台等,以及防止无效选项组合的附加约束。这些约束能够描述复杂的跨域依赖关系,对于应用程序的正确功能通常是至关重要的,并且通常在代码中完全不存在,或者很难从中恢复。该框架使用了功能工作流和约束求解器的组合。应用程序工作流由功能组件的组合构建而成:高阶协调形式和一阶数据处理组件,它们可以是具体的,也可以是抽象的,即在开始时没有指定的实现。存储库为这些抽象组件提供了替代实现。约束求解器,用Prolog编写,指导用户在任何给定的环境下对参数、实现、机器等做出有效的选择。部分设计可以存储和共享,从而提供处理应用程序使用和维护的系统方法。我们描述了我们的方法并说明了它在两类应用中的应用:一个数据密集型商业视频转码示例和一个数字密集型不可压缩的Navier-Stokes解算器。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
International Journal of Parallel Programming
International Journal of Parallel Programming 工程技术-计算机:理论方法
CiteScore
4.40
自引率
0.00%
发文量
15
审稿时长
>12 weeks
期刊介绍: International Journal of Parallel Programming is a forum for the publication of peer-reviewed, high-quality original papers in the computer and information sciences, focusing specifically on programming aspects of parallel computing systems. Such systems are characterized by the coexistence over time of multiple coordinated activities. The journal publishes both original research and survey papers. Fields of interest include: linguistic foundations, conceptual frameworks, high-level languages, evaluation methods, implementation techniques, programming support systems, pragmatic considerations, architectural characteristics, software engineering aspects, advances in parallel algorithms, performance studies, and application studies.
×
引用
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学术官方微信