JBSP: A BSP Programming Library in Java

Abstract In this paper, we introduce a Java implementation of the Bulk Synchronous Parallel (BSP) model. JBSP (a Java-based BSP system) uses a two-daemon architecture which makes a clear separation of the computation and communication involved in parallel programs. Java threads are used in the implementation of the JBSP system to realize user defined JBSP tasks as well as to carry out system activities. The JBSP library provides programmers with both explicit message-passing and remote memory access communication methods. In addition, a set of benchmark experiments was also carried out to compare the performance of JBSP with that of BSPlib. Results show that there is considerable overhead in communications in the current implementation of JBSP due to the use of Java's Object Serialization. It was also found that although BSPlib outperforms JBSP in all the cases, JBSP is more scalable in terms of the BSP machine-parameters.

[1]  W. Richard Stevens,et al.  Unix network programming , 1990, CCRV.

[2]  Robert Wilson,et al.  Compiling Java just in time , 1997, IEEE Micro.

[3]  Peter R. Cappello,et al.  Javelin: Internet‐based parallel computing using Java , 1997 .

[4]  Satoshi Hirano,et al.  Towards Bayanihan: building an extensible framework for volunteer computing using Java † , 1998 .

[5]  Liwu Li,et al.  The Java Language , 1998 .

[6]  Conrad Hughes,et al.  Java Network Programming , 1997 .

[7]  Mark J. Clement,et al.  Design issues for efficient implementation of MPI in Java , 1999, JAVA '99.

[8]  Bu-Sung Lee,et al.  Performance Evaluation of JPVM , 1999, Parallel Process. Lett..

[9]  Leslie G. Valiant,et al.  A bridging model for parallel computation , 1990, CACM.

[10]  Adam J. Ferrari JPVM: Network Parallel Computing in Java , 1997 .

[11]  George Eckel Inside Windows NT , 1993 .

[12]  Alan L. Cox,et al.  Java/DSM: A platform for heterogeneous computing , 1997 .

[13]  Adam Ferrari,et al.  JPVM: network parallel computing in Java , 1997, Concurr. Pract. Exp..

[14]  Elliotte Rusty Harold Java Network Programming , 1997 .

[15]  Luis F. G. Sarmenta An Adaptive, Fault-Tolerant Implementation of BSP for JAVA-Based Volunteer Computing Systems , 1999, IPPS/SPDP Workshops.

[16]  Wentong Cai,et al.  Benchmarking IBM SP1 system for SPMD programming , 1996, Proceedings of 1996 International Conference on Parallel and Distributed Systems.

[17]  David A. Moon Object-oriented programming with flavors , 1986, OOPSLA 1986.