首页> 外文会议>2011 17th IEEE International Conference on Parallel and Distributed Systems >Automatic Handling of Global Variables for Multi-threaded MPI Programs
【24h】

Automatic Handling of Global Variables for Multi-threaded MPI Programs

机译:自动处理多线程MPI程序的全局变量

获取原文

摘要

Conventional implementations of the MPI standard tend to associate one MPI process per processor, which limits their support for modern multi-core platforms. An increasingly popular approach is to combine MPI with threads where MPI "processes" are light-weight threads. Global variables in legacy MPI applications, however, present a challenge because they may be accessed by multiple MPI threads simultaneously. Thus, transforming legacy MPI applications to become thread-safe in such MPI execution environments requires proper handling of global variables. In this paper, we present three approaches to automatically eliminate global variables to ensure thread-safety for an MPI program. These approaches include: (a) a compiler-based refactoring technique, using a Photran-based tool as an example, which automates the source-to-source transformation for programs written in Fortran, (b) a technique based on a global offset table (GOT); and (c) a technique based on thread local storage (TLS). The second and third methods automatically detect global variables and privatize them for each thread at runtime. We discuss the advantages and disadvantages of these approaches and compare their performance using both synthetic benchmarks, such as the NAS Benchmarks, and a real scientific application, the FLASH code.
机译:MPI标准的常规实现倾向于将每个处理器关联一个MPI进程,这限制了它们对现代多核平台的支持。越来越流行的方法是将MPI与线程组合在一起,而MPI“进程”是轻量级线程。但是,传统MPI应用程序中的全局变量带来了挑战,因为它们可能同时被多个MPI线程访问。因此,在这样的MPI执行环境中将旧版MPI应用程序转换为线程安全的程序需要正确处理全局变量。在本文中,我们提出了三种自动消除全局变量的方法,以确保MPI程序的线程安全。这些方法包括:(a)以基于Photran的工具为例的基于编译器的重构技术,该技术可以自动执行以Fortran编写的程序的源到源转换,(b)基于全局偏移表的技术(得到); (c)一种基于线程本地存储(TLS)的技术。第二和第三种方法会在运行时自动检测全局变量并将其私有化。我们讨论了这些方法的优缺点,并使用两个综合基准(例如NAS基准)和实际的科学应用FLASH代码来比较它们的性能。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号