首页> 外文学位 >Expressiveness, programmability and portable high performance of global address space languages.
【24h】

Expressiveness, programmability and portable high performance of global address space languages.

机译:全局地址空间语言的表现力,可编程性和可移植高性能。

获取原文
获取原文并翻译 | 示例

摘要

The Message Passing Interface (MPI) is the library-based programming model employed by most scalable parallel applications today; however, it is not easy to use. To simplify program development, Partitioned Global Address Space (PGAS) languages have emerged as promising alternatives to MPI. Co-array Fortran (CAF), Titanium, and Unified Parallel C are explicitly parallel single-program multiple-data languages that provide the abstraction of a global shared memory and enable programmers to use one-sided communication to access remote data. This thesis focuses on evaluating PGAS languages and explores new language features to simplify the development of high performance programs in CAF.;To simplify program development, we explore extending CAF with abstractions for group, Cartesian, and graph communication topologies that we call co-spaces. The combination of co-spaces, textual barriers, and single values enables effective analysis and optimization of CAF programs. We present an algorithm for synchronization strength reduction (SSR), which replaces textual barriers with faster point-to-point synchronization. This optimization is both difficult and error-prone for developers to perform manually. SSR-optimized versions of Jacobi iteration and the NAS MG and CG benchmarks yield performance similar to that of our best hand-optimized variants and demonstrate significant improvement over their barrier-based counterparts.;To simplify the development of codes that rely on producer-consumer communication, we explore extending CAF with multi-version variables (MVVs). MVVs increase programmer productivity by insulating application developers from the details of buffer management, communication, and synchronization. Sweep3D, NAS BT, and NAS SP codes expressed using MVVs are much simpler than the fastest hand-coded variants, and experiments show that they yield similar performance.;To avoid exposing latency in distributed memory systems, we explore extending CAF with distributed multithreading (DMT) based on the concept of function shipping. Function shipping facilitates co-locating computation with data as well as executing several asynchronous activities in the remote and local memory. DMT uses co-subroutines/cofunctions to ship computation with either blocking or non-blocking semantics. A prototype implementation and experiments show that DMT simplifies development of parallel search algorithms and the performance of DMT-based RandomAccess exceeds that of the reference MPI implementation.
机译:消息传递接口(MPI)是当今大多数可扩展并行应用程序采用的基于库的编程模型;但是,它并不容易使用。为了简化程序开发,分区全局地址空间(PGAS)语言已成为MPI的有前途的替代方案。协同数组Fortran(CAF),Titanium和Unified Parallel C是明确的并行单程序多数据语言,它们提供了全局共享内存的抽象,并使程序员能够使用单面通信来访问远程数据。本文着重于评估PGAS语言并探索新的语言功能以简化CAF中高性能程序的开发。为了简化程序开发,我们探索了扩展CAF的方式,即对我们称为共同空间的组,笛卡尔和图通信拓扑进行了抽象。空格,文本障碍和单个值的组合可以对CAF程序进行有效的分析和优化。我们提出了一种同步强度降低(SSR)的算法,该算法用更快的点对点同步代替了文本障碍。对于开发人员而言,这种优化既困难又容易出错。经过优化的Jacobi迭代的SSR版本以及NAS MG和CG基准所产生的性能与我们最佳的手动优化版本相似,并且相对于基于障碍的同类产品表现出显着改进。;简化了依赖生产者-消费者的代码的开发。在交流中,我们探讨了使用多版本变量(MVV)扩展CAF。 MVV通过将应用程序开发人员与缓冲区管理,通信和同步的细节隔离开来,从而提高了程序员的生产率。使用MVV表示的Sweep3D,NAS BT和NAS SP代码比最快的手动编码变体要简单得多,实验表明它们具有相似的性能。为了避免暴露分布式存储系统中的延迟,我们探索了使用分布式多线程扩展CAF( DMT)基于功能传送的概念。函数传送有助于将计算与数据并置在一起,并在远程和本地内存中执行多个异步活动。 DMT使用协子例程/函数以阻塞或非阻塞语义传送计算。原型实现和实验表明,DMT简化了并行搜索算法的开发,基于DMT的RandomAccess的性能超过了参考MPI实现。

著录项

  • 作者

    Dotsenko, Yuri.;

  • 作者单位

    Rice University.;

  • 授予单位 Rice University.;
  • 学科 Computer Science.
  • 学位 Ph.D.
  • 年度 2007
  • 页码 321 p.
  • 总页数 321
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类 自动化技术、计算机技术;
  • 关键词

  • 入库时间 2022-08-17 11:40:08

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号