Developing Java Grid Applications with Ibis
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.
Unable to display preview. Download preview PDF.
- 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.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.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
- 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.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
- 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
- 11.Hoos, H.H., Stützle, T.: Satlib - the satisfiability library. webpage (2000), http://www.satlib.org
- 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.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