In recent years, there has been a surge of interest in Java-based volunteer computing systems, which aim to make it possible to build very large parallel computing networks very quickly by enabling usrs to join a parallel ocmputation by simply visiting a web page and running a Java applet on a standard browser. A key research issue in implementing such systems is that of choosing an appropriate programming model. While traditioal models such as MPI-like message-passing can and have been ported to Java-based systems, they are not geneerally well-suited to the heterogeneous and dynamic structure ofvolunteer computing systems, where nodes can join and leave a computation at any time. In this paper, we present an implementation of the Bulk syn-chronous Parallel model, which provides programmers with familiar message-passing and remote memory primitives while remaining flexible enough to be used in dynamic environments. We show how we have implemented this modle using the bayanihan software framework to enable programmers to port the growing base of BSP-based parallel applications to java while achieving adaptive parallelism and protection against both the rnadom faults and intentional sabotage that are possible in volunteer computing systems.
展开▼