An object-oriented bulk synchronous parallel library for multicore programming

被引:15
|
作者
Yzelman, A. N. [1 ]
Bisseling, Rob H. [1 ]
机构
[1] Univ Utrecht, Math Inst, NL-3508 TA Utrecht, Netherlands
关键词
bulk synchronous parallel; BSP; parallel computing; sparse matrix-vector multiplication; multicore; shared memory; fast Fourier transform; dense LU decomposition; BRIDGING MODEL; PERFORMANCE;
D O I
10.1002/cpe.1843
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We show that the bulk synchronous parallel (BSP) model, originally designed for distributed-memory systems, is also applicable for shared-memory multicore systems and, furthermore, that BSP libraries are useful in scientific computing on these systems. A proof-of-concept MulticoreBSP library has been implemented in Java, and is used to show that BSP algorithms can attain proper speedups on multicore architectures. This library is based on the BSPlib implementation, adapted to an object-oriented setting. In comparison, the number of function primitives is reduced, while the overall design simplicity is improved. We detail applying the BSP model and library on the sparse matrix-vector (SpMV) multiplication problem, and show by performing numerical experiments that the resulting BSP SpMV algorithm attains speedups, in one case reaching a speedup of 3.5 for 4 threads. Whereas not described in detail in this paper, algorithms for the fast Fourier transform and the dense LU decomposition are also investigated; in one case, attaining super-linear speedups of 5 for 4 threads. The predictability of BSP algorithms in the case of the SpMV is also investigated. Copyright (C) 2011 John Wiley & Sons, Ltd.
引用
收藏
页码:533 / 553
页数:21
相关论文
共 50 条
  • [1] Redesigning an Object-Oriented Programming Course
    Kaila, Erkki
    Kurvinen, Einari
    Lokkila, Erno
    Laakso, Mikko-Jussi
    ACM TRANSACTIONS ON COMPUTING EDUCATION, 2016, 16 (04):
  • [2] A Combination of Parallel Computing and Object-Oriented Programming to Improve Optimizer Robustness and Efficiency
    Buzzi-Ferraris, Guido
    Manenti, Flavio
    20TH EUROPEAN SYMPOSIUM ON COMPUTER AIDED PROCESS ENGINEERING, 2010, 28 : 337 - 342
  • [3] OOPAL: Integrating array programming in object-oriented programming
    Mougin, P
    Ducasse, S
    ACM SIGPLAN NOTICES, 2003, 38 (11) : 65 - 77
  • [4] Toward an Object-Oriented Core of the PPM Library
    Awile, Omar
    Demirel, Oemer
    Sbalzarini, Ivo F.
    NUMERICAL ANALYSIS AND APPLIED MATHEMATICS, VOLS I-III, 2010, 1281 : 1313 - +
  • [5] Implementing Statically Typed Object-Oriented Programming Languages
    Ducournau, Roland
    ACM COMPUTING SURVEYS, 2011, 43 (03)
  • [6] On building an object-oriented parallel virtual reality system
    Sobota, Branislav
    Korecko, Stefan
    Hrozek, Frantisek
    OPEN COMPUTER SCIENCE, 2012, 2 (03): : 261 - 271
  • [7] Parallel Task for Parallelising Object-Oriented Desktop Applications
    Giacaman, Nasser
    Sinnen, Oliver
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2013, 41 (05) : 621 - 681
  • [8] Object-Oriented Parallelisation: Improved and Extended Parallel Iterator
    Giacaman, Nasser
    Sinnen, Oliver
    Akeila, Lama
    PROCEEDINGS OF THE 2008 14TH IEEE INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS, 2008, : 113 - 120
  • [9] Parallel Task for Parallelising Object-Oriented Desktop Applications
    Nasser Giacaman
    Oliver Sinnen
    International Journal of Parallel Programming, 2013, 41 : 621 - 681
  • [10] Parallel Computational Algorithm for Object-Oriented Modeling of Manipulation Robots
    Krakhmalev, Oleg
    Korchagin, Sergey
    Pleshakova, Ekaterina
    Nikitin, Petr
    Tsibizova, Oksana
    Sycheva, Irina
    Liang, Kang
    Serdechnyy, Denis
    Gataullin, Sergey
    Krakhmalev, Nikita
    MATHEMATICS, 2021, 9 (22)