Architecture Aware Parallel Programming in Glasgow Parallel Haskell (GPH)

被引:3
|
作者
Aswad, M. Kh. [1 ]
Trinder, P. W. [1 ]
Loidl, H. W. [1 ]
机构
[1] Heriot Watt Univ, Sch Math & Comp Sci, Edinburgh, Midlothian, Scotland
基金
英国工程与自然科学研究理事会;
关键词
Architecture-aware; Runtime; System;
D O I
10.1016/j.procs.2012.04.199
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
General purpose computing architectures are evolving quickly to become many-core and hierarchical: i.e. a core can communicate more quickly locally than globally. To be effective on such architectures programming models must be aware of the communication hierarchy, and yet preserve performance portability. We propose four new architecture-aware constructs for the parallel Haskell extension GpH that exploit information about task size and aim to reduce communication for small tasks, preserve data locality, or to distribute large units of work. We report a preliminary investigation of architecture-aware programming models that abstract over the new constructs. In particular we propose architecture-aware evaluation strategies and skeletons. We investigate three common parallel paradigms on hierarchical architectures with up to 224 cores. The results show that the architecture-aware constructs consistently deliver better speedup and scalability than existing constructs together with dramatically reduced variability. In some experiments speedup is improved by an order of magnitude.
引用
收藏
页码:1807 / 1816
页数:10
相关论文
共 50 条
  • [1] A strategic profiler for Glasgow Parallel Haskell
    King, DJ
    Hall, J
    Trinder, P
    IMPLEMENTATION OF FUNCTIONAL LANGUAGES, 1999, 1595 : 88 - 102
  • [2] Deterministic Parallel Programming with Haskell
    Coutts, Duncan
    Loh, Andres
    COMPUTING IN SCIENCE & ENGINEERING, 2012, 14 (06) : 36 - 42
  • [3] A Tutorial on Parallel and Concurrent Programming in Haskell
    Jones, Simon Peyton
    Singh, Satnam
    ADVANCED FUNCTIONAL PROGRAMMING, 2009, 5832 : 267 - 305
  • [4] The multi-architecture performance of the parallel functional language GPH
    Trinder, PW
    Loidl, HW
    Barry, E
    Davis, MK
    Hammond, K
    Klusik, U
    Jones, SLP
    Portillo, AJR
    EURO-PAR 2000 PARALLEL PROCESSING, PROCEEDINGS, 2000, 1900 : 739 - 743
  • [5] Pardis: a process calculus for parallel and distributed programming in Haskell
    Christopher Blöcker
    Ulrich Hoffmann
    The Journal of Supercomputing, 2018, 74 : 1473 - 1484
  • [6] Pardis: a process calculus for parallel and distributed programming in Haskell
    Bloecker, Christopher
    Hoffmann, Ulrich
    JOURNAL OF SUPERCOMPUTING, 2018, 74 (04): : 1473 - 1484
  • [7] Haskell#:: Parallel programming made simple and efficient
    de Carvalho, FH
    Lins, RD
    JOURNAL OF UNIVERSAL COMPUTER SCIENCE, 2003, 9 (08) : 776 - 794
  • [8] Pardis: A Process Calculus for Parallel and Distributed Programming in Haskell
    Bloecker, Christopher
    Hoffmann, Ulrich
    PARALLEL PROCESSING AND APPLIED MATHEMATICS (PPAM 2017), PT II, 2018, 10778 : 191 - 202
  • [9] PARALLEL ARCHITECTURE FOR FUNCTIONAL PROGRAMMING
    EISENBACH, S
    SADLER, C
    INFORMATION AND SOFTWARE TECHNOLOGY, 1988, 30 (06) : 355 - 364
  • [10] Engineering parallel symbolic programs in GpH
    Loidl, HW
    Trinder, PW
    Hammond, K
    Junaidu, SB
    Morgan, RG
    Joness, SLP
    CONCURRENCY-PRACTICE AND EXPERIENCE, 1999, 11 (12): : 701 - 752