Optimizing OpenMP Programs on Software Distributed Shared Memory Systems

被引:0
|
作者
Seung-Jai Min
Ayon Basumallik
Rudolf Eigenmann
机构
[1] Purdue University,School of Electrical and Computer Engineering
来源
International Journal of Parallel Programming | 2003年 / 31卷
关键词
OpenMP applications; software distributed shared memory; benchmarks; performance characteristics; optimizations;
D O I
暂无
中图分类号
学科分类号
摘要
This paper describes compiler techniques that can translate standard OpenMP applications into code for distributed computer systems. OpenMP has emerged as an important model and language extension for shared-memory parallel programming. However, despite OpenMP's success on these platforms, it is not currently being used on distributed system. The long-term goal of our project is to quantify the degree to which such a use is possible and develop supporting compiler techniques. Our present compiler techniques translate OpenMP programs into a form suitable for execution on a Software DSM system. We have implemented a compiler that performs this basic translation, and we have studied a number of hand optimizations that improve the baseline performance. Our approach complements related efforts that have proposed language extensions for efficient execution of OpenMP programs on distributed systems. Our results show that, while kernel benchmarks can show high efficiency of OpenMP programs on distributed systems, full applications need careful consideration of shared data access patterns. A naive translation (similar to OpenMP compilers for SMPs) leads to acceptable performance in very few applications only. However, additional optimizations, including access privatization, selective touch, and dynamic scheduling, resulting in 31% average improvement on our benchmarks.
引用
收藏
页码:225 / 249
页数:24
相关论文
共 13 条
  • [1] Optimizing OpenMP programs on software distributed shared memory systems
    Min, SJ
    Basumallik, A
    Eigenmann, R
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2003, 31 (03) : 225 - 249
  • [2] Achieving performance under OpenMP on ccNUMA and software distributed shared memory systems
    Chapman, B
    Bregier, F
    Patil, A
    Prabhakar, A
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2002, 14 (8-9) : 713 - 739
  • [3] Scheduling loop applications in software distributed shared memory systems
    Liang, TY
    Shieh, CK
    Liu, DC
    IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2000, E83D (09): : 1721 - 1730
  • [4] Priority Based Messaging for Software Distributed Shared Memory
    Sven Karlsson
    Mats Brorsson
    Cluster Computing, 2003, 6 (2) : 161 - 169
  • [5] Naplus: a software distributed shared memory for virtual clusters in the cloud
    Zeng, Lingfang
    Wang, Yang
    Kent, Kenneth B.
    Xiao, Ziliang
    SOFTWARE-PRACTICE & EXPERIENCE, 2017, 47 (09) : 1201 - 1220
  • [6] CAS-DSM: A Compiler Assisted Software Distributed Shared Memory
    N. P. Manoj
    K. V. Manjunath
    R. Govindarajan
    International Journal of Parallel Programming, 2004, 32 : 77 - 122
  • [7] CAS-DSM: A compiler assisted software distributed shared memory
    Manoj, NP
    Manjunath, KV
    Govindarajan, R
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2004, 32 (02) : 77 - 122
  • [8] SilkRoad: A multithreaded runtime system with software distributed shared memory for SMP clusters
    Peng, L
    Wong, WF
    Feng, MD
    Yuen, CK
    CLUSTER 2000: IEEE INTERNATIONAL CONFERENCE ON CLUSTER COMPUTING, PROCEEDINGS, 2000, : 243 - 249
  • [9] Optimizing Caching DSM for Distributed Software Speculation
    Koduru, Sai Charan
    Vora, Keval
    Gupta, Rajiv
    2015 IEEE INTERNATIONAL CONFERENCE ON CLUSTER COMPUTING - CLUSTER 2015, 2015, : 452 - 455
  • [10] A memory coherence protocol using dynamic page state transition in distributed shared memory
    Han, B
    Cho, Y
    INTERNATIONAL SOCIETY FOR COMPUTERS AND THEIR APPLICATIONS 10TH INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED COMPUTING SYSTEMS, 1997, : 344 - 348