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 条
  • [41] IS OBJECT-ORIENTED PROGRAMMING STRUCTURED PROGRAMMING
    MULLER, B
    SIGPLAN NOTICES, 1993, 28 (09): : 57 - 66
  • [42] StreamPI: a stream-parallel programming extension for object-oriented programming languages
    Jingun Hong
    Kirak Hong
    Bernd Burgstaller
    Johann Blieberger
    The Journal of Supercomputing, 2012, 61 : 118 - 140
  • [43] StreamPI: a stream-parallel programming extension for object-oriented programming languages
    Hong, Jingun
    Hong, Kirak
    Burgstaller, Bernd
    Blieberger, Johann
    JOURNAL OF SUPERCOMPUTING, 2012, 61 (01): : 118 - 140
  • [44] ARCH, an object oriented MPI-based library for asynchronous and loosely synchronous parallel system programming
    Adamo, JM
    RECENT ADVANCES IN PARALLEL VIRTUAL MACHINE AND MESSAGE PASSING INTERFACE, 1997, 1332 : 67 - 74
  • [45] Teaching object-oriented programming
    Viswanathan, KV
    JOURNAL OF OBJECT-ORIENTED PROGRAMMING, 1996, 9 (02): : 8 - &
  • [46] OBJECT-ORIENTED PROGRAMMING IN EDUCATION
    GUZDIAL, M
    PROCEEDINGS - NATIONAL EDUCATIONAL COMPUTING CONFERENCE 1989, 1989, : 204 - 208
  • [47] OBJECT-ORIENTED PROGRAMMING IN S
    CALAWAY, R
    DR DOBBS JOURNAL, 1995, 20 (10): : 44 - &
  • [48] OBJECT-ORIENTED DESIGN AND PROGRAMMING
    CASTILLO, CM
    FLANAGAN, EB
    WILKINSON, NM
    AT&T TECHNICAL JOURNAL, 1992, 71 (06): : 27 - 33
  • [49] OBJECT-ORIENTED PROGRAMMING IN AL
    ALPERT, SR
    WOYAK, SW
    SHROBE, HJ
    ARROWOOD, LF
    IEEE INTELLIGENT SYSTEMS & THEIR APPLICATIONS, 1990, 5 (06): : 6 - 7
  • [50] Object-Oriented CEM Programming
    So, Poman
    IEEE MICROWAVE MAGAZINE, 2008, 9 (06) : 123 - 130