首页> 外文学位 >Jade: Compiler-supported multi-paradigm processor virtualization-based parallel programming.
【24h】

Jade: Compiler-supported multi-paradigm processor virtualization-based parallel programming.

机译:Jade:编译器支持的多范式处理器基于虚拟化的并行编程。

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

摘要

Current parallel programming approaches, which typically use message-passing and shared memory threads, require the programmer to write considerable low-level work management and distribution code to partition and distribute data, perform load distribution and balancing, pack and unpack data into messages, and so on. One solution to this low level of programming is to use processor virtualization, wherein the programmer assumes a large number of available virtual processors and creates a large number of work objects, combined with an adaptive runtime system (ARTS) that intelligently maps work to processors and performs dynamic load balancing to optimize performance. Charm++ and AMPI are implementations of this approach. Although Charm++ and AMPI enable the use of an ARTS, the program specification is still low-level, requiring many details. Furthermore, the only mechanisms for information exchange are asynchronous method invocation and message passing, although some applications are more easily expressed in a shared memory paradigm.; We explore the thesis that compiler support and optimizations, and a disciplined shared memory abstraction can substantially improve programmer productivity while retaining most of the performance benefits of processor virtualization and the ARTS.; The ideas proposed in this thesis are embodied in a new programming language, Jade, based on Java, Charm++ and AMPI. The language design uses the Java memory model, automating memory management and eliminating void pointers and pointer arithmetic. In addition, by automating various routine tasks in Charm++, programmer productivity is substantially improved. Jade introduces Multiphase Shared Arrays (MSA), which can be shared in read-only, write-many, and accumulate modes. These simple modes scale well and are general enough to capture the majority of shared memory access patterns.; We present novel uses of known compilation techniques, as well as new compile-time analyses suggested by the needs of ARTS. One optimization strip-mines MSA loops and optimizes away a test that checks if a page is present in the local MSA cache, resulting in single-CPU MSA performance matching that of a sequential program. Another optimization generates guarded pack/unpack code that only packs live data. This significantly reduces the time taken and disk size needed to checkpoint (or migrate objects within) large applications.; The Jade language and compiler system described in this thesis can serve as the framework for further research into compiler-based multi-paradigm ARTS-supported parallel programming built upon processor virtualization.
机译:当前的并行编程方法通常使用消息传递和共享内存线程,它们要求程序员编写大量的低级工作管理和分发代码来分区和分发数据,执行负载分发和平衡,将数据打包和解压缩到消息中以及以此类推。解决此低级编程问题的一种解决方案是使用处理器虚拟化,其中程序员假定大量可用的虚拟处理器并创建大量工作对象,并与自适应运行时系统(ARTS)结合,该系统将工作智能地映射到处理器和处理器。执行动态负载平衡以优化性能。 Charm ++和AMPI是此方法的实现。尽管Charm ++和AMPI允许使用ARTS,但程序规范仍然是底层的,需要许多细节。此外,信息交换的唯一机制是异步方法调用和消息传递,尽管某些应用程序更容易以共享内存形式表示。我们探讨了这样一个论点,即编译器的支持和优化以及规范的共享内存抽象可以大大提高程序员的生产率,同时保留处理器虚拟化和ARTS的大部分性能优势。本文提出的思想体现在基于Java,Charm ++和AMPI的新编程语言Jade中。该语言设计使用Java内存模型,可自动执行内存管理并消除空指针和指针算术。此外,通过在Charm ++中自动化各种常规任务,可以大大提高程序员的生产率。 Jade引入了多相共享阵列(MSA),可以以只读,多次写入和累加模式进行共享。这些简单的模式可以很好地扩展,并且通用到足以捕获大多数共享内存访问模式。我们介绍了已知编译技术的新颖用法,以及ARTS需求建议的新编译时分析。一个优化剥离了MSA循环并优化了一项测试,该测试检查本地MSA缓存中是否存在页面,从而使单CPU MSA性能与顺序程序的性能相匹配。另一个优化生成仅打包实时数据的受保护的打包/解压缩代码。这大大减少了在大型应用程序中检查(或迁移对象)所需的时间和磁盘大小。本文所描述的Jade语言和编译器系统可以作为进一步研究基于处理器,基于虚拟化的,基于ARTS支持的并行编译器的并行编程框架。

著录项

  • 作者

    DeSouza, Jayant.;

  • 作者单位

    University of Illinois at Urbana-Champaign.;

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

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号