An integrated compile-time/run-time software distributed shared memory system

被引:14
|
作者
Dwarkadas, S
Cox, AL
Zwaenepoel, W
机构
关键词
D O I
10.1145/248209.237181
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
On a distributed memory machine, hand-coded message passing leads to the most efficient execution, but it is difficult to use. Parallelizing compilers can approach the performance of hand-coded message passing by translating data-parallel programs into message passing programs, but efficient execution is limited to those programs for which precise analysis can be carried out. Shared memory is easier to program than message passing and its domain is not constrained by the limitations of parallelizing compilers, but it lags in performance. Our goal is to close that performance gap while retaining the benefits of shared memory. In other words, our goal is (1) to make shared memory as efficient as message passing, whether hand-coded or compiler-generated, (2) to retain its ease of programming, and (3) to retain the broader class of applications it supports. To this end we have designed and implemented an integrated compile-time and run-time software DSM system. The programming model remains identical to the original pure run-time DSM system. No user intervention is required to obtain the benefits of our system. The compiler computes data access patterns for the individual processors. It then performs a source-to-source transformation, inserting in the program calls to inform the run-time system of the computed data access patterns. The run-time system uses this information to aggregate communication, to aggregate data and synchronization into a single message, to eliminate consistency overhead, and to replace global synchronization with point-to-point synchronization wherever possible. We extended the Parascope programming environment to perform the required analysis, and we augmented the TreadMarks run-time DSM Library to take advantage of the analysis. We used six Fortran programs to assess the performance benefits: Jacobi, 3D-FFT, Integer Sort, Shallow Gauss, and Modified Gramm-Schmidt, each with two different data set sizes. The experiments were run on an 8-node IBM SP/2 using user-space communication. Compiler optimization in conjunction with the augmented run-time system achieves substantial execution time improvements in comparison to the base TreadMarks, ranging from 4% to 59% on 8 processors. Relative to message passing implementations of the same applications, the compile-time runtime system is 0-29% slower than message passing, while the base run-time system is 5-212% slower. For the five programs that XHPF could parallelize (all except IS), the execution times achieved by the compiler optimized shared memory programs are within 9% of XHPF.
引用
收藏
页码:186 / 197
页数:12
相关论文
共 50 条
  • [31] An integrated hardware/software approach for run-time scratchpad management
    Francesco, P
    Marchal, P
    Atienza, D
    Benini, L
    Catthoor, F
    Mendias, JM
    41ST DESIGN AUTOMATION CONFERENCE, PROCEEDINGS 2004, 2004, : 238 - 243
  • [32] COMPILE-TIME COPY ELIMINATION
    SCHNORF, P
    GANAPATHI, M
    HENNESSY, JL
    SOFTWARE-PRACTICE & EXPERIENCE, 1993, 23 (11): : 1175 - 1200
  • [33] Compile-Time Extensions to Hybrid ODEs
    Zeng, Yingfu
    Bartha, Ferenc
    Taha, Walid
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2017, (247): : 52 - 70
  • [34] Distributed memory futures for compile-time, deterministic-by-default concurrency in distributed C plus plus applications
    Wilke, Jeremiah J.
    Hollman, David S.
    Lewis, Cannada
    Markosyan, Aram
    Morals, Nicolas
    PROCEEDINGS OF 2018 IEEE/ACM 4TH INTERNATIONAL WORKSHOP ON EXTREME SCALE PROGRAMMING MODELS AND MIDDLEWARE (ESPM2 2018), 2018, : 1 - 8
  • [35] Run-Time Verification of Networked Software
    Artho, Cyrille Valentin
    RUNTIME VERIFICATION, 2010, 6418 : 59 - 73
  • [36] Run-time verification of networked software
    Research Center for Information Security , National Institute of Advanced Industrial Science and Technology , Tokyo, Japan
    Lect. Notes Comput. Sci., (59-73):
  • [37] On the run-time verification of autonomy software
    Tiwari, A
    Sinha, P
    Ramachandran, U
    28TH ANNUAL NASA GODDARD SOFTWARE ENGINEERING WORKSHOP, PROCEEDINGS, 2004, : 58 - 65
  • [38] The hector distributed run-time environment
    Russ, SH
    Robinson, J
    Flachs, BK
    Heckel, B
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 1998, 9 (11) : 1102 - 1114
  • [39] Test of the Run-time Infrastructure Software
    Tang, Jianbing
    Hu, Qigao
    Zha, Yabing
    PROGRESS IN MECHATRONICS AND INFORMATION TECHNOLOGY, PTS 1 AND 2, 2014, 462-463 : 1140 - +
  • [40] Run-time upgradable software in a large real-time telecommunication system
    Myrén, H
    Piculell, J
    Lundberg, L
    SEVENTH IEEE REAL-TIME TECHNOLOGY AND APPLICATIONS SYMPOSIUM, PROCEEDINGS, 2001, : 226 - 235