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 条
  • [21] A distributed object-oriented parallel computing environment based on Java']Java/CORBA
    Chen, CC
    Hsieh, KH
    INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED PROCESSING TECHNIQUES AND APPLICATIONS, VOLS I-V, PROCEEDINGS, 1999, : 1749 - 1755
  • [22] MulticoreBSP for C: A High-Performance Library for Shared-Memory Parallel Programming
    Yzelman, A. N.
    Bisseling, R. H.
    Roose, D.
    Meerbergen, K.
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2014, 42 (04) : 619 - 642
  • [23] Bulk synchronous parallel: practical experience with a model for parallel computing
    Krizanc, D
    Saarimaki, A
    PARALLEL COMPUTING, 1999, 25 (02) : 159 - 181
  • [24] Algorithm 812: BPOLY: An object-oriented library of numerical algorithms for polynomials in Bernstein form
    Tsai, YF
    Farouki, RT
    ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE, 2001, 27 (02): : 267 - 296
  • [25] REDUCING THE BULK IN THE BULK SYNCHRONOUS PARALLEL MODEL
    Barrett, R. F.
    Vaughan, C. T.
    Hammond, S. D.
    Roweth, D.
    PARALLEL PROCESSING LETTERS, 2013, 23 (04)
  • [26] Efficient and Reasonable Object-Oriented Concurrency
    West, Scott
    Nanz, Sebastian
    Meyer, Bertrand
    2015 10TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE 2015) PROCEEDINGS, 2015, : 734 - 744
  • [27] Collaborative object-oriented visualization environment
    So-Hyun Ryu
    Hyung-Jun Kim
    Jin-Sung Park
    Yong-won Kwon
    Chang-Sung Jeong
    Multimedia Tools and Applications, 2007, 32 : 209 - 234
  • [28] A performance analysis of an object-oriented processor
    Tan YiYu
    Lo Kai Man
    Fong Anthony S.
    THIRD INTERNATIONAL CONFERENCE ON INFORMATION TECHNOLOGY: NEW GENERATIONS, PROCEEDINGS, 2006, : 690 - +
  • [29] A METRICS SUITE FOR OBJECT-ORIENTED DESIGN
    CHIDAMBER, SR
    KEMERER, CF
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1994, 20 (06) : 476 - 493
  • [30] Product metrics for object-oriented systems
    Purao, S
    Vaishnavi, V
    ACM COMPUTING SURVEYS, 2003, 35 (02) : 191 - 221