Developing Java Grid Applications with Ibis

  • Kees van Reeuwijk
  • Rob van Nieuwpoort
  • Henri Bal
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3648)

Abstract

Ibis is a programming environment for the development of grid applications in Java. We aim to support a wide range of applications and parallel platforms, so our example programs should also go beyond small benchmarks.

In this paper we describe a number of larger applications we have developed to evaluate Ibis’ suitability for writing grid applications: a cellular automata simulator, a solver for the Satisfiability problem, and grammar-based text analysis. We give an overview of the applications, we describe their implementation, and we show performance results on a number of parallel platforms, ranging from a large supercomputer cluster to a real global grid testbed.

Since all of these applications require communication between the processors during execution, it is not surprising that a supercomputer cluster proved to be the most effective platform. However, all of our applications were also efficient on a wide-area cluster system, and some of them even on a grid testbed. Since grid systems are usually only used for trivially parallel systems, we consider these results an encouraging sign that Ibis is indeed an effective environment for grid computing. In particular because for two of the three of the applications the parallelisation required very little additional program code.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Nieuwpoort, R.V.v., Maassen, J., Wrzesinska, G., Hofman, R., Jacobs, C., Kielmann, T., Bal, H.E.: Ibis: a flexible and efficient Java-based grid programming environment. Concurrency and Computation: Practice and Experience 16, 1–29 (2003); Published online in Wiley Inter- Science (www.interscience.wiley.com). DOI 10.1002/cpe.860Google Scholar
  2. 2.
    Aumage, O., Hofman, R., Bal, H.: Netibis: An efficient and dynamic communication system for heterogeneous grids. In: Proc. of CCGrid (2005) (accepted for publication)Google Scholar
  3. 3.
    Nieuwpoort, R.V.v., Maassen, J., Hofman, R., Kielmann, T., Bal, H.E.: Ibis: an efficient Java-based grid programming environment. In: Joint ACM Java Grande - ISCOPE 2002 Conference, Seattle, Washington, USA, pp. 18–27 (2002)Google Scholar
  4. 4.
    Bal, H., et al.: The distributed ASCI supercomputer project. ACM SIG, Operating System Review 34, 76–96 (2000)CrossRefGoogle Scholar
  5. 5.
    Nieuwpoort, R.V.v., Maassen, J., Hofman, R., Kielmann, T., Bal, H.E.: Satin: Simple and efficient Java-based grid programming. In: AGridM 2003 Workshop on Adaptive Grid Middleware, New Orleans (2003) Google Scholar
  6. 6.
    Nieuwpoort, R.V.v., Kielmann, T., Bal, H.E.: Efficient load balancing for wide-area divideand- conquer applications. In: Proc. Eight ACM SIGPLAN Symp. on Princ. and Practice of Par. Progr. (PPoPP), Snowbird, UT, USA (2001) Google Scholar
  7. 7.
    Blumofe, R.D., Joerg, C.F., Kuszmaul, B.C., Leiserson, C.E., Randall, K.H., Zhou, Y.: Cilk: An efficient multithreaded runtime system. J. of Par. and Distr. Computing 37, 55–69 (1996)CrossRefGoogle Scholar
  8. 8.
    Ermentrout, G.B., Edelstein-Keshet, L.: Cellular automata approaches to biological modeling. J. theor. Biol. 160, 97–133 (1993)CrossRefGoogle Scholar
  9. 9.
    Colonna, A., Stefano, V.d., Lombardo, S., Papini, L., Rabino, G.A.: Learning cellular automata: Modelling urban modelling. In: Proc. 3rd Intl Conf. on GeoComputation, University of Bristol, UK, pp. 388–395 (1998) Google Scholar
  10. 10.
    Zhang, L., Malik, S.: The quest for efficient boolean satisfiability solvers. In: Proc. of the 18th Intl Conf. on Automated Deduction, Copenhagen, pp. 295–313. ACM, New York (2002)CrossRefGoogle Scholar
  11. 11.
    Hoos, H.H., Stützle, T.: Satlib - the satisfiability library. webpage (2000), http://www.satlib.org
  12. 12.
    Cheeseman, P., Kanefsky, B., Taylor, W.M.: Where the Really Hard Problems Are. In: Proceedings of the Twelfth International Joint Conference on Artificial Intelligence, IJCAI 1991, Sidney, Australia, pp. 331–337 (1991)Google Scholar
  13. 13.
    Aloul, F., Ramani, A., Markov, I., Sakallah, K.: Solving difficult SAT instances in the presence of symmetry. In: Proc. of the Design Automation Conf. (DAC), New Orleans (2002)Google Scholar
  14. 14.
    Nevill-Manning, C.G., Witten, I.H.: Compression and explanation using hierarchical grammars. The Computer Journal 40, 103–116 (1997)CrossRefGoogle Scholar
  15. 15.
    Ziv, J., Lempel, A.: Compression of individual sequences via variable-rate coding. IEEE Transactions on Information Theory 24, 530–536 (1978)MATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Kees van Reeuwijk
    • 1
  • Rob van Nieuwpoort
    • 1
  • Henri Bal
    • 1
  1. 1.Vrije Universiteit Amsterdam 

Personalised recommendations