Skip to main content

An adaptive, fault-tolerant implementation of BSP for Java-based volunteer computing systems

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1586))

Abstract

In recent years, there has been a surge of interest in Javabased volunteer computing systems, which aim to make it possible to build very large paralledl computing networks very quickly by enabling users to join a parallel computation 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 traditional models such as MPI-like message-passing can and have been ported to Java-based systems, they are not generally well-suited to the heterogeneous and dynamic structure of volunteer computing systems, where nodes can join and leave a computation at any time. In this paper, we present an implementation of the Bulk Synchronous Parallel (BSP) 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 model 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 random faults and intentional sabotage that are possible in volunteer computing systems.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Proc. ACM 1997 Workshop on Java for Science and Engineering Computation. Las Vegas (1997) http://www.npac.syr.edu/users/gcf/03/javaforcse/ acmspecissue/latestpapers.html

    Google Scholar 

  2. Proc. ACM 1998 Workshop on Java for High-Performance Network Computing. Palo Alto (1998). http://www.cs.ucsb.edu/conferences/java98/

    Google Scholar 

  3. Baratloo, A., Karaul, M., Kedem, Z., Wyckoff, P.: Charlotte: Metacomputing on the Web. Proc. of the 9th International Conference on Parallel and Distributed Computing Systems. (1996) http://cs.nyu.edu/milan/charlotte/

    Google Scholar 

  4. Beberg, A. L., Lawson, J., McNett, D.: http://www.distributed.net/

    Google Scholar 

  5. BSP Worldwide Home Page. http://www.bsp-worldwide.org/

    Google Scholar 

  6. Cappello, P., Christiansen, B. O., Ionescu, M. F., Neary, M. O., Schauser, K. E., Wu. D.: Javelin: Internet-Based Parallel Computing Using Java. ACM Workshop on Java for Science and Engineering Computation. (1997) http://www.cs.ucsb.edu/research/superweb/

    Google Scholar 

  7. DOGMA Home Page. http://zodiac.cs.byu.edu/DOGMA/

    Google Scholar 

  8. Fox, G.C. ed.: Special Issue on Java for Computational Science and Engineering—Simulation and Modeling. Concurrency: Practice and Experience. 9(6) (1997).

    Google Scholar 

  9. Ferrari, A.: JPVM: Network Parallel Computing in Java. Proc. ACM 1998 Workshop on Java for High-Performance Network Computing. Palo Alto (1998). http://www.cs.virginia.edu/~ajf2j/jpvm.html

    Google Scholar 

  10. Geist, A., Beguelin, A., Dongarra, J., Jiang, W., Manchek, R., Sunderam, V.: PVM: Parallel Virtual Machine: A User’s Guide and Tutorial for Networked Parallelism. MIT Press. (1994) http://www.netlib.org/pvm3/book/pvm-book.html

    Google Scholar 

  11. Gladychev, P., Patel, A., O’Mahony, D.: Cracking RC5 with Java applets. Proc. ACM Workshop on Java for High-Performance Network Computing (1998).

    Google Scholar 

  12. Gropp, W., Lusk, E., Skjellum, A.: Using MPI. MIT Press. (1994)

    Google Scholar 

  13. Hill, J.M.D., Donaldson, S.R., Lanfear, T.: Process Migration and Fault Tolerance of BSPlib Programs Running on Networks of Workstations. Proc. Euro-Par’98. LNCS, Vol. 1470. Springer, Berlin (1998) 80–91

    Google Scholar 

  14. Hirano, S.: HORB: Distributed Execution of Java Programs. Proc. WWCA ’97. LNCS, Vol. 1274. Springer, Berlin (1997) 29–42 http://www.horb.org/

    Google Scholar 

  15. Nibhanupudi, M.V., Szymanski, B.K.: Adaptive Parallelism in the Bulk Synchronous Parallel model. Proc. Euro-Par’96. LNCS, Vol. 1124. Springer (1996)

    Google Scholar 

  16. Philippsen, M., Zenger, M.: JavaParty—Transparent Remote Objects in Java, in: Concurrency: Practice and Experience. 9(11)(1997) 1125–1242

    Google Scholar 

  17. Sarmenta, L.F.G.: Bayanihan: Web-Based Volunteer Computing Using Java. Proc. WWCA’98. LNCS, Vol. 1368. Springer, Berlin (1998) 444–461

    Google Scholar 

  18. Sarmenta, L.F.G., Hirano, S., Ward, S.A.: Towards Bayanihan: Building an Extensible Framework for Volunteer Computing Using Java. Proc. ACM Workshop on Java for High-Performance Network Computing (1998).

    Google Scholar 

  19. Sarmenta, L.F.G., Hirano, S.: Building and Studying Web-Based Volunteer Computing Systems Using Java. Future Generation Computer Systems, Special Issue on Metacomputing (1999) http://www.cag.lcs.mit.edu/bayanihan/

    Google Scholar 

  20. Skillicorn, D., Hill, J.M.D., McColl, W.F.: Questions and answers about BSP. Scientific Programming. 6(3) (1997) 249–274

    Google Scholar 

  21. Strumpen, V., Ramkumar, B.: Portable Chekpointing for Heterogeneous Architectures. Fault-Tolerant Parallel and Distributed Systems. Kluwer Academic Press (1998) 73–92

    Google Scholar 

  22. Sun Microsystems: Java Home Page. http://java.sun.com/

    Google Scholar 

  23. Valiant, L.G.: A bridging model for parallel computation. Communications of the ACM. 33(8) (1997) 103–111

    Article  Google Scholar 

  24. Vanhelsuwe, L.: Create your own supercomputer with Java. JavaWorld. (Jan. 1997) http://www.javaworld.com/jw-01-1997/jw-01-dampp.ibd.html

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

José Rolim Frank Mueller Albert Y. Zomaya Fikret Ercal Stephan Olariu Binoy Ravindran Jan Gustafsson Hiroaki Takada Ron Olsson Laxmikant V. Kale Pete Beckman Matthew Haines Hossam ElGindy Denis Caromel Serge Chaumette Geoffrey Fox Yi Pan Keqin Li Tao Yang G. Chiola G. Conte L. V. Mancini Domenique Méry Beverly Sanders Devesh Bhatt Viktor Prasanna

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag

About this paper

Cite this paper

Sarmenta, L.F.G. (1999). An adaptive, fault-tolerant implementation of BSP for Java-based volunteer computing systems. In: Rolim, J., et al. Parallel and Distributed Processing. IPPS 1999. Lecture Notes in Computer Science, vol 1586. Springer, Berlin, Heidelberg . https://doi.org/10.1007/BFb0097965

Download citation

  • DOI: https://doi.org/10.1007/BFb0097965

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-65831-3

  • Online ISBN: 978-3-540-48932-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics