首页 > 最新文献

Ninth International Workshop on High-Level Parallel Programming Models and Supportive Environments, 2004. Proceedings.最新文献

英文 中文
ODEPACK++: refactoring the LSODE Fortran library for use in the CCA high performance component software architecture
B. Allan, S. Lefantzi, J. Ray
We present a case study of the alternatives and design trade-offs encountered when adapting an established numerical library into a form compatible with modern component-software implementation practices. Our study will help scientific software users, authors, and maintainers develop their own roadmaps for shifting to component-oriented software. The primary library studied, LSODE, and the issues involved in the adaptation are typical of many commonly used numerical libraries. We examine the adaptation of a related library, CVODE, and compare the impact on applications of the two different designs. The LSODE-derived components solve models composed with CCA components developed independently at the Argonne and Oak Ridge National Laboratories. The resulting applications run in the Ccaffeine framework implementation of the common component architecture specification. We provide CCA-style interface specifications appropriate to linear equations, ordinary differential equations (ODE), and differential algebraic equations (DAE) solvers.
我们提出了一个案例研究,在将已建立的数值库调整为与现代组件软件实现实践兼容的形式时遇到的替代方案和设计权衡。我们的研究将帮助科学软件用户、作者和维护人员开发他们自己的路线图,以转向面向组件的软件。所研究的主要库LSODE及其适应所涉及的问题是许多常用数字库的典型问题。我们研究了相关库CVODE的适应性,并比较了两种不同设计对应用程序的影响。lsode衍生组件解决了由阿贡和橡树岭国家实验室独立开发的CCA组件组成的模型。生成的应用程序在通用组件体系结构规范的咖啡因框架实现中运行。我们提供适合线性方程、常微分方程(ODE)和微分代数方程(DAE)求解器的cca风格接口规范。
{"title":"ODEPACK++: refactoring the LSODE Fortran library for use in the CCA high performance component software architecture","authors":"B. Allan, S. Lefantzi, J. Ray","doi":"10.1109/HIPS.2004.1299196","DOIUrl":"https://doi.org/10.1109/HIPS.2004.1299196","url":null,"abstract":"We present a case study of the alternatives and design trade-offs encountered when adapting an established numerical library into a form compatible with modern component-software implementation practices. Our study will help scientific software users, authors, and maintainers develop their own roadmaps for shifting to component-oriented software. The primary library studied, LSODE, and the issues involved in the adaptation are typical of many commonly used numerical libraries. We examine the adaptation of a related library, CVODE, and compare the impact on applications of the two different designs. The LSODE-derived components solve models composed with CCA components developed independently at the Argonne and Oak Ridge National Laboratories. The resulting applications run in the Ccaffeine framework implementation of the common component architecture specification. We provide CCA-style interface specifications appropriate to linear equations, ordinary differential equations (ODE), and differential algebraic equations (DAE) solvers.","PeriodicalId":448869,"journal":{"name":"Ninth International Workshop on High-Level Parallel Programming Models and Supportive Environments, 2004. Proceedings.","volume":"33 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-04-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126138001","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 12
DCA: a distributed CCA framework based on MPI DCA:基于MPI的分布式CCA框架
Felipe Bertrand, R. Bramley
The CCA is a component architecture for high-performance scientific applications. In this architecture components are parallel entities that are connected directly or in a distributed manner. The problem of communication between scientific parallel programs with differing numbers of processes is called the "M/spl times/N problem". This paper discusses problems and solutions regarding the M/spl times/N problem in the context of the CCA. We also present a prototype implementation of a distributed CCA framework with M/spl times/N capabilities. This implementation reuses many MPI concepts and constructions to build the parallel-remote port invocation mechanism. Leveraging MPI helps developers that are familiar with that communication library and benefits from its performance and high degree of scalability.
CCA是一个用于高性能科学应用的组件体系结构。在此体系结构中,组件是直接连接或以分布式方式连接的并行实体。具有不同进程数的科学并行程序之间的通信问题称为“M/spl次/N问题”。本文讨论了CCA背景下M/spl次/N问题的问题及解决方法。我们还提出了一个具有M/spl次/N能力的分布式CCA框架的原型实现。该实现重用了许多MPI概念和结构来构建并行远程端口调用机制。利用MPI可以帮助熟悉该通信库的开发人员,并从其性能和高度可伸缩性中获益。
{"title":"DCA: a distributed CCA framework based on MPI","authors":"Felipe Bertrand, R. Bramley","doi":"10.1109/HIPS.2004.1299193","DOIUrl":"https://doi.org/10.1109/HIPS.2004.1299193","url":null,"abstract":"The CCA is a component architecture for high-performance scientific applications. In this architecture components are parallel entities that are connected directly or in a distributed manner. The problem of communication between scientific parallel programs with differing numbers of processes is called the \"M/spl times/N problem\". This paper discusses problems and solutions regarding the M/spl times/N problem in the context of the CCA. We also present a prototype implementation of a distributed CCA framework with M/spl times/N capabilities. This implementation reuses many MPI concepts and constructions to build the parallel-remote port invocation mechanism. Leveraging MPI helps developers that are familiar with that communication library and benefits from its performance and high degree of scalability.","PeriodicalId":448869,"journal":{"name":"Ninth International Workshop on High-Level Parallel Programming Models and Supportive Environments, 2004. Proceedings.","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-04-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128854281","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 38
The MultiLoop programming construct MultiLoop编程结构
Nasser Kalantery
This paper introduces a new high-level parallel programming construct called multiLoop that is designed to extend existing imperative languages such as C and Java. A multiLoop statement translates to SPMD specification of a named group of synchronous-iterative processes. For efficient iterative communication, multiLoop provides a new publish/subscribe model of shared variable access. Under this model the sequential consistency of shared memory is maintained by a new, simple and efficient adaptation of virtual time paradigm. Virtual time is a localised message tagging and queuing procedure that provides a highly efficient alternative to barrier calls. ML-C, a prototype implementation based on C has been developed. We describe the programming model, discuss its implementation and present some empirical data showing good performance obtained for an example of the target class of applications.
本文介绍了一种新的高级并行编程结构,称为multiLoop,旨在扩展现有的命令式语言,如C和Java。multiLoop语句转换为指定的一组同步迭代过程的SPMD规范。为了实现高效的迭代通信,multiLoop提供了一种新的共享变量访问的发布/订阅模型。该模型通过对虚拟时间范式的一种新的、简单有效的适应来保持共享内存的顺序一致性。虚拟时间是一个本地化的消息标记和排队过程,它提供了屏障调用的高效替代方案。ML-C是一个基于C语言的原型实现。我们描述了编程模型,讨论了它的实现,并给出了一些经验数据,显示了目标类应用程序的良好性能。
{"title":"The MultiLoop programming construct","authors":"Nasser Kalantery","doi":"10.1109/HIPS.2004.1299185","DOIUrl":"https://doi.org/10.1109/HIPS.2004.1299185","url":null,"abstract":"This paper introduces a new high-level parallel programming construct called multiLoop that is designed to extend existing imperative languages such as C and Java. A multiLoop statement translates to SPMD specification of a named group of synchronous-iterative processes. For efficient iterative communication, multiLoop provides a new publish/subscribe model of shared variable access. Under this model the sequential consistency of shared memory is maintained by a new, simple and efficient adaptation of virtual time paradigm. Virtual time is a localised message tagging and queuing procedure that provides a highly efficient alternative to barrier calls. ML-C, a prototype implementation based on C has been developed. We describe the programming model, discuss its implementation and present some empirical data showing good performance obtained for an example of the target class of applications.","PeriodicalId":448869,"journal":{"name":"Ninth International Workshop on High-Level Parallel Programming Models and Supportive Environments, 2004. Proceedings.","volume":"55 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-04-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133621846","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Toward efficient compilation of user-defined extensible Fortran directives 实现用户定义的可扩展Fortran指令的有效编译
M. Rosing, J. Nieplocha, S. Yabusaki
This paper describes an approach for automatically generating optimized parallel code from serial Fortran programs annotated with high level directives. A preprocessor analyzes both the program and the directives and generates efficient parallel Fortran code that runs on a number of parallel architectures, such as clusters or SMPs. The unique aspect of this approach is that the directives and optimizations can be customized and extended by the expert programmers who would be using them in their applications. This approach enables the creation of parallel extensions to Fortran that are specific to individual applications or science domains.
本文描述了一种从带有高级指令注释的串行Fortran程序中自动生成优化并行代码的方法。预处理器分析程序和指令,并生成在许多并行体系结构(如集群或smp)上运行的高效并行Fortran代码。这种方法的独特之处在于,指令和优化可以由将在其应用程序中使用它们的专业程序员进行定制和扩展。这种方法允许创建特定于单个应用程序或科学领域的Fortran的并行扩展。
{"title":"Toward efficient compilation of user-defined extensible Fortran directives","authors":"M. Rosing, J. Nieplocha, S. Yabusaki","doi":"10.1109/HIPS.2004.10001","DOIUrl":"https://doi.org/10.1109/HIPS.2004.10001","url":null,"abstract":"This paper describes an approach for automatically generating optimized parallel code from serial Fortran programs annotated with high level directives. A preprocessor analyzes both the program and the directives and generates efficient parallel Fortran code that runs on a number of parallel architectures, such as clusters or SMPs. The unique aspect of this approach is that the directives and optimizations can be customized and extended by the expert programmers who would be using them in their applications. This approach enables the creation of parallel extensions to Fortran that are specific to individual applications or science domains.","PeriodicalId":448869,"journal":{"name":"Ninth International Workshop on High-Level Parallel Programming Models and Supportive Environments, 2004. Proceedings.","volume":"58 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-04-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132998771","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
Techniques for wrapping scientific applications to CORBA components 将科学应用程序包装到CORBA组件的技术
T. Forkert, G. Kloss, Christian Krause, A. Schreiber
This paper presents wrapping techniques that we have developed in order to integrate applications into the scientific workflow management system TENT. These techniques take into account the varying degrees of controllability found for each application and utilize various kinds of communication mechanisms between application and the associated wrapper. We also give an outline of the principles of component technology employed in the CORBA based TENT environment. In addition, the means by which applications can be connected through their associated wrappers and TENT components to form distributed workflows are presented. It is demonstrated how TENT provides the user with a homogeneous perspective on scientific workflows running in a distributed environment and how he is enabled to efficiently configure and control these workflows by means of the TENT component model.
本文介绍了我们为将应用程序集成到科学工作流管理系统TENT中而开发的封装技术。这些技术考虑到每个应用程序的可控性的不同程度,并利用应用程序和相关包装器之间的各种通信机制。我们还概述了基于CORBA的TENT环境中采用的组件技术的原理。此外,还介绍了通过相关的包装器和TENT组件连接应用程序以形成分布式工作流的方法。演示了TENT如何为用户提供在分布式环境中运行的科学工作流的同质视图,以及如何通过TENT组件模型使用户能够有效地配置和控制这些工作流。
{"title":"Techniques for wrapping scientific applications to CORBA components","authors":"T. Forkert, G. Kloss, Christian Krause, A. Schreiber","doi":"10.1109/HIPS.2004.1299195","DOIUrl":"https://doi.org/10.1109/HIPS.2004.1299195","url":null,"abstract":"This paper presents wrapping techniques that we have developed in order to integrate applications into the scientific workflow management system TENT. These techniques take into account the varying degrees of controllability found for each application and utilize various kinds of communication mechanisms between application and the associated wrapper. We also give an outline of the principles of component technology employed in the CORBA based TENT environment. In addition, the means by which applications can be connected through their associated wrappers and TENT components to form distributed workflows are presented. It is demonstrated how TENT provides the user with a homogeneous perspective on scientific workflows running in a distributed environment and how he is enabled to efficiently configure and control these workflows by means of the TENT component model.","PeriodicalId":448869,"journal":{"name":"Ninth International Workshop on High-Level Parallel Programming Models and Supportive Environments, 2004. Proceedings.","volume":"51 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-04-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132074193","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 8
Abstractions for dynamic data distribution 动态数据分布的抽象
Steven J. Deitz, B. Chamberlain, L. Snyder
Processor layout and data distribution are important to performance-oriented parallel computation, yet high-level language support that helps programmers address these issues is often inadequate. This paper presents a trio of abstract high-level language constructs - grids, distributions, and regions - that let programmers manipulate processor layout and data distribution. Grids abstract processor sets, regions abstract index sets, and distributions abstract mappings from index sets to processor sets; each of these is a first-class concept, supporting dynamic data reallocation and redistribution as well as dynamic manipulation of the processor set. This paper illustrates uses of these constructs in the solutions to several motivating parallel programming problems.
处理器布局和数据分布对于面向性能的并行计算非常重要,但是帮助程序员解决这些问题的高级语言支持通常是不够的。本文提出了三种抽象的高级语言结构——网格、分布和区域——它们让程序员可以操纵处理器布局和数据分布。网格抽象处理器集,区域抽象索引集,分布抽象索引集到处理器集的映射;这些都是一流的概念,支持动态数据重新分配和再分配以及处理器集的动态操作。本文举例说明了这些结构在解决几个激励并行编程问题中的应用。
{"title":"Abstractions for dynamic data distribution","authors":"Steven J. Deitz, B. Chamberlain, L. Snyder","doi":"10.1109/HIPS.2004.10000","DOIUrl":"https://doi.org/10.1109/HIPS.2004.10000","url":null,"abstract":"Processor layout and data distribution are important to performance-oriented parallel computation, yet high-level language support that helps programmers address these issues is often inadequate. This paper presents a trio of abstract high-level language constructs - grids, distributions, and regions - that let programmers manipulate processor layout and data distribution. Grids abstract processor sets, regions abstract index sets, and distributions abstract mappings from index sets to processor sets; each of these is a first-class concept, supporting dynamic data reallocation and redistribution as well as dynamic manipulation of the processor set. This paper illustrates uses of these constructs in the solutions to several motivating parallel programming problems.","PeriodicalId":448869,"journal":{"name":"Ninth International Workshop on High-Level Parallel Programming Models and Supportive Environments, 2004. Proceedings.","volume":"154 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-04-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116634220","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 25
Rethinking the pipeline as object-oriented states with transformations 将管道重新考虑为具有转换的面向对象状态
S. MacDonald, D. Szafron, J. Schaeffer
The pipeline is a simple and intuitive structure to speed up many problems. Novice parallel programmers are usually taught this structure early on. However, expert parallel programmers typically eschew using the pipeline in coarse-grained applications because it has three serious problems that make it difficult to implement efficiently. First, processors are idle when the pipeline is not full. Second, load balancing is crucial to obtaining good speedup. Third, it is difficult to incrementally incorporate more processors into an existing pipeline. Instead, experts recast the problem as a master/slave structure which does not suffer from these problems. This paper details a transformation that allows programs written in a pipeline style to execute using the master/slave structure. Parallel programmers can benefit from both the intuitive simplicity of the pipeline and the efficient execution of a master/slave structure. This is demonstrated by performance results from two applications.
流水线是一种简单直观的结构,可以加速许多问题。新手并行程序员通常很早就学会了这种结构。然而,专业的并行程序员通常会避免在粗粒度应用程序中使用管道,因为它有三个严重的问题,难以有效地实现。首先,当管道未满时,处理器处于空闲状态。其次,负载平衡对于获得良好的加速至关重要。第三,很难将更多的处理器增量地集成到现有的管道中。相反,专家们将问题重新定义为一个不受这些问题影响的主/从结构。本文详细介绍了一个转换,该转换允许以管道风格编写的程序使用主/从结构执行。并行程序员可以从管道直观的简单性和主/从结构的高效执行中获益。两个应用程序的性能结果证明了这一点。
{"title":"Rethinking the pipeline as object-oriented states with transformations","authors":"S. MacDonald, D. Szafron, J. Schaeffer","doi":"10.1109/HIPS.2004.1299186","DOIUrl":"https://doi.org/10.1109/HIPS.2004.1299186","url":null,"abstract":"The pipeline is a simple and intuitive structure to speed up many problems. Novice parallel programmers are usually taught this structure early on. However, expert parallel programmers typically eschew using the pipeline in coarse-grained applications because it has three serious problems that make it difficult to implement efficiently. First, processors are idle when the pipeline is not full. Second, load balancing is crucial to obtaining good speedup. Third, it is difficult to incrementally incorporate more processors into an existing pipeline. Instead, experts recast the problem as a master/slave structure which does not suffer from these problems. This paper details a transformation that allows programs written in a pipeline style to execute using the master/slave structure. Parallel programmers can benefit from both the intuitive simplicity of the pipeline and the efficient execution of a master/slave structure. This is demonstrated by performance results from two applications.","PeriodicalId":448869,"journal":{"name":"Ninth International Workshop on High-Level Parallel Programming Models and Supportive Environments, 2004. Proceedings.","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-04-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114989165","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 37
High-level data-access analysis for characterisation of (sub)task-level parallelism on Java 用于描述(子)Java任务级并行性的高级数据访问分析
Richard Stahl, R. Pasko, F. Catthoor, R. Lauwereins, D. Verkest
In the era of future embedded systems the designer is confronted with multi-processor systems both for performance and energy reasons. Exploiting (sub)task-level parallelism is becoming crucial because the instruction-level parallelism alone is insufficient. The challenge is to build compiler tools that support the exploration of the task-level parallelism in the programs. To achieve this goal, we have designed an analysis framework to evaluate the potential parallelism from sequential object-oriented programs. Parallel-performance and data-access analysis are the crucial techniques for estimation of the transformation effects. We have implemented support for platform-independent data-access analysis and profiling of Java programs, which is an extension to our earlier parallel-performance analysis framework. The toolkit comprises automated design-time analysis for performance and data-access characterisation, program instrumentation, program-profiling support and post-processing analysis. We demonstrate the usability of our approach on a number of realistic Java applications.
在未来的嵌入式系统时代,设计人员面临着多处理器系统的性能和能源的双重原因。利用(子)任务级并行性变得至关重要,因为单独的指令级并行性是不够的。挑战在于构建支持探索程序中任务级并行性的编译器工具。为了实现这一目标,我们设计了一个分析框架来评估顺序面向对象程序的潜在并行性。并行性能分析和数据访问分析是评估转换效果的关键技术。我们已经实现了对独立于平台的数据访问分析和Java程序概要分析的支持,这是对早期并行性能分析框架的扩展。该工具包包括用于性能和数据访问特征的自动设计时分析、程序仪表、程序分析支持和后处理分析。我们在许多实际的Java应用程序上演示了我们的方法的可用性。
{"title":"High-level data-access analysis for characterisation of (sub)task-level parallelism on Java","authors":"Richard Stahl, R. Pasko, F. Catthoor, R. Lauwereins, D. Verkest","doi":"10.1109/HIPS.2004.1299188","DOIUrl":"https://doi.org/10.1109/HIPS.2004.1299188","url":null,"abstract":"In the era of future embedded systems the designer is confronted with multi-processor systems both for performance and energy reasons. Exploiting (sub)task-level parallelism is becoming crucial because the instruction-level parallelism alone is insufficient. The challenge is to build compiler tools that support the exploration of the task-level parallelism in the programs. To achieve this goal, we have designed an analysis framework to evaluate the potential parallelism from sequential object-oriented programs. Parallel-performance and data-access analysis are the crucial techniques for estimation of the transformation effects. We have implemented support for platform-independent data-access analysis and profiling of Java programs, which is an extension to our earlier parallel-performance analysis framework. The toolkit comprises automated design-time analysis for performance and data-access characterisation, program instrumentation, program-profiling support and post-processing analysis. We demonstrate the usability of our approach on a number of realistic Java applications.","PeriodicalId":448869,"journal":{"name":"Ninth International Workshop on High-Level Parallel Programming Models and Supportive Environments, 2004. Proceedings.","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-04-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131410241","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 6
XCAT3: a framework for CCA components as OGSA services XCAT3:将CCA组件作为OGSA服务的框架
S. Krishnan, Dennis Gannon
The benefits of component technologies are well known: they enable encapsulation, modular construction of applications and software reuse. The DOE sponsored common component architecture (CCA) as stated in R. Armstrong et al. (1999) project adopts a component-based approach for building large scale scientific applications. On the other hand, the Web services-based open grid service architecture (OGSA) and infrastructure (OGSI) based on I. Foster et al. (2002) come close to defining a component architecture for the Grid. Using an approach where a CCA component is modeled as a set of Grid services, the XCAT3 framework allows for CCA components to be compatible with the OGSI specification. This enables CCA components to be accessible via standard Grid clients, especially the ones that are portal-based. For CCA compatibility, XCAT3 uses interfaces generated by the Babel toolkit based CASC (2003), and for OGSI compatibility, it uses the Extreme GSX toolkit based on Indiana University Extreme Computing Lab. Grid Service Extensions (2003). In this paper, we describe our experience in implementing the XCAT3 system, and how it can be used to compose complex distributed applications on the Grid in a modular fashion.
组件技术的好处是众所周知的:它们支持封装、应用程序的模块化构造和软件重用。如R. Armstrong等人(1999)项目所述,DOE赞助的公共组件体系结构(CCA)采用基于组件的方法来构建大规模的科学应用程序。另一方面,基于Web服务的开放网格服务体系结构(OGSA)和基于I. Foster等人(2002)的基础设施(OGSI)更接近于为网格定义组件体系结构。使用将CCA组件建模为一组网格服务的方法,XCAT3框架允许CCA组件与OGSI规范兼容。这使得可以通过标准网格客户端访问CCA组件,特别是那些基于门户的客户端。为了兼容CCA, XCAT3使用基于CASC(2003)的Babel工具包生成的接口,为了兼容OGSI,它使用基于Indiana University Extreme Computing Lab的Extreme GSX工具包。网格服务扩展(2003)。在本文中,我们描述了实现XCAT3系统的经验,以及如何使用它以模块化的方式在网格上组合复杂的分布式应用程序。
{"title":"XCAT3: a framework for CCA components as OGSA services","authors":"S. Krishnan, Dennis Gannon","doi":"10.1109/HIPS.2004.1299194","DOIUrl":"https://doi.org/10.1109/HIPS.2004.1299194","url":null,"abstract":"The benefits of component technologies are well known: they enable encapsulation, modular construction of applications and software reuse. The DOE sponsored common component architecture (CCA) as stated in R. Armstrong et al. (1999) project adopts a component-based approach for building large scale scientific applications. On the other hand, the Web services-based open grid service architecture (OGSA) and infrastructure (OGSI) based on I. Foster et al. (2002) come close to defining a component architecture for the Grid. Using an approach where a CCA component is modeled as a set of Grid services, the XCAT3 framework allows for CCA components to be compatible with the OGSI specification. This enables CCA components to be accessible via standard Grid clients, especially the ones that are portal-based. For CCA compatibility, XCAT3 uses interfaces generated by the Babel toolkit based CASC (2003), and for OGSI compatibility, it uses the Extreme GSX toolkit based on Indiana University Extreme Computing Lab. Grid Service Extensions (2003). In this paper, we describe our experience in implementing the XCAT3 system, and how it can be used to compose complex distributed applications on the Grid in a modular fashion.","PeriodicalId":448869,"journal":{"name":"Ninth International Workshop on High-Level Parallel Programming Models and Supportive Environments, 2004. Proceedings.","volume":"109 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-04-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121385499","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 86
The cascade high productivity language 级联高生产力语言
D. Callahan, B. Chamberlain, H. Zima
The strong focus of recent high end computing efforts on performance has resulted in a low-level parallel programming paradigm characterized by explicit control over message-passing in the framework of a fragmented programming model. In such a model, object code performance is achieved at the expense of productivity, conciseness, and clarity. This paper describes the design of Chapel, the cascade high productivity language, which is being developed in the DARPA-funded HPCS project Cascade led by Cray Inc. Chapel pushes the state-of-the-art in languages for HEC system programming by focusing on productivity, in particular by combining the goal of highest possible object code performance with that of programmability offered by a high-level user interface. The design of Chapel is guided by four key areas of language technology: multithreading, locality-awareness, object-orientation, and generic programming. The Cascade architecture, which is being developed in parallel with the language, provides key architectural support for its efficient implementation.
最近高端计算对性能的强烈关注导致了一种低级并行编程范式,其特点是在碎片编程模型的框架中对消息传递进行显式控制。在这样的模型中,目标代码的性能是以牺牲生产力、简洁性和清晰度为代价的。本文描述了由Cray公司领导的由darpa资助的HPCS项目cascade开发的级联高生产率语言Chapel的设计。Chapel通过专注于生产力,特别是通过将尽可能高的目标代码性能与高级用户界面提供的可编程性相结合,推动了HEC系统编程语言的最新发展。Chapel的设计以语言技术的四个关键领域为指导:多线程、位置感知、面向对象和泛型编程。与该语言并行开发的Cascade体系结构为其有效实现提供了关键的体系结构支持。
{"title":"The cascade high productivity language","authors":"D. Callahan, B. Chamberlain, H. Zima","doi":"10.1109/HIPS.2004.10002","DOIUrl":"https://doi.org/10.1109/HIPS.2004.10002","url":null,"abstract":"The strong focus of recent high end computing efforts on performance has resulted in a low-level parallel programming paradigm characterized by explicit control over message-passing in the framework of a fragmented programming model. In such a model, object code performance is achieved at the expense of productivity, conciseness, and clarity. This paper describes the design of Chapel, the cascade high productivity language, which is being developed in the DARPA-funded HPCS project Cascade led by Cray Inc. Chapel pushes the state-of-the-art in languages for HEC system programming by focusing on productivity, in particular by combining the goal of highest possible object code performance with that of programmability offered by a high-level user interface. The design of Chapel is guided by four key areas of language technology: multithreading, locality-awareness, object-orientation, and generic programming. The Cascade architecture, which is being developed in parallel with the language, provides key architectural support for its efficient implementation.","PeriodicalId":448869,"journal":{"name":"Ninth International Workshop on High-Level Parallel Programming Models and Supportive Environments, 2004. Proceedings.","volume":"43 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-04-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129565452","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 158
期刊
Ninth International Workshop on High-Level Parallel Programming Models and Supportive Environments, 2004. Proceedings.
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
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