Group Communication Patterns for High Performance Computing in Scala

被引:2
|
作者
Hargreaves, Felix P. [1 ]
Merkle, Daniel [1 ]
Schneider-Kamp, Peter [1 ]
机构
[1] Univ Southern Denmark, Dept Math & Comp Sci, Odense, Denmark
关键词
High-Performance-Computing; Scala; Performance; Design; Languages;
D O I
10.1145/2636228.2636229
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We developed a Functional Object-Oriented PARallel framework (FOOPAR) for high-level high-performance computing in Scala. Central to this framework are Distributed Memory Parallel Data structures (DPDs), i.e., collections of data distributed in a shared nothing system together with parallel operations on these data. In this paper, we first present FOOPAR's architecture and the idea of DPDs and group communications. Then, we show how DPDs can be implemented elegantly and efficiently in Scala based on the Traversable/Builder pattern, unifying Functional and Object-Oriented Programming. We prove the correctness and safety of one communication algorithm and show how specification testing (via ScalaCheck) can be used to bridge the gap between proof and implementation. Furthermore, we show that the group communication operations of FOOPAR outperform those of the MPJ Express open source MPI-bindings for Java, both asymptotically and empirically. FOOPAR has already been shown to be capable of achieving close-to-optimal performance for dense matrix-matrix multiplication via JNI. In this article, we present results on a parallel implementation of the Floyd-Warshall algorithm in FOOPAR, achieving more than 94% efficiency compared to the serial version on a cluster using 100 cores for matrices of dimension 38000 x 38000.
引用
收藏
页码:75 / 85
页数:11
相关论文
共 50 条
  • [21] Report of the EEC working group on high-performance computing
    Report, Rubbia
    Supercomputer '92, 1992,
  • [22] Focus Group: Patterns for Fog Computing
    Seitz, Andreas
    Thiele, Felix
    Bruegge, Bernd
    PROCEEDINGS OF THE 22ND EUROPEAN CONFERENCE ON PATTERN LANGUAGES OF PROGRAMS (EUROPLOP 2017), 2017,
  • [23] MIMOPack: a high-performance computing library for MIMO communication systems
    Ramiro, Carla
    Vidal, Antonio M.
    Gonzalez, Alberto
    JOURNAL OF SUPERCOMPUTING, 2015, 71 (02): : 751 - 760
  • [24] JAVA']JAVA-BASED COMMUNICATION IN A HIGH PERFORMANCE COMPUTING ENVIRONMENT
    Fries, A.
    de Mora, J. Portell i
    Sirvent, R.
    GAIA: AT THE FRONTIERS OF ASTROMETRY, 2011, 45 : 103 - +
  • [25] A performance model for the communication in fast multipole methods on high-performance computing platforms
    Ibeid, Huda
    Yokota, Rio
    Keyes, David
    INTERNATIONAL JOURNAL OF HIGH PERFORMANCE COMPUTING APPLICATIONS, 2016, 30 (04): : 423 - 437
  • [26] High Performance Computing on Heterogeneous Clusters with the Madeleine II Communication Library
    Olivier Aumage
    Luc Bougé
    Lionel Eyraud
    Guillaume Mercier
    Raymond Namyst
    Loïc Prylli
    Alexandre Denis
    Jean-François Méhaut
    Cluster Computing, 2002, 5 (1) : 43 - 54
  • [27] MIMOPack: a high-performance computing library for MIMO communication systems
    Carla Ramiro
    Antonio M. Vidal
    Alberto Gonzalez
    The Journal of Supercomputing, 2015, 71 : 751 - 760
  • [28] Special Issue on High Performance Computing, Communication and Embedded Software/Systems
    Gu, Zonghua
    Qiu, Meikang
    Zhu, Dalai
    JOURNAL OF SYSTEMS ARCHITECTURE, 2016, 70 : 1 - 2
  • [29] Categorizing computing assets according to communication patterns
    Gantenbein, D
    Deri, L
    ADVANCED LECTURES ON NETWORKING: NETWORKING 2002 TUTORIALS, 2002, 2497 : 83 - 100
  • [30] Communication object group for reliable distributed computing
    Jia, WJ
    Lee, CH
    Jia, XH
    PARALLEL AND DISTRIBUTED COMPUTING SYSTEMS - PROCEEDINGS OF THE ISCA 9TH INTERNATIONAL CONFERENCE, VOLS I AND II, 1996, : 175 - 180