Abstract
We present a scalable, open source realization of MPI-2 standard for Java, seamlessly integrated in Open MPI, as a reaction to novel challenges of supercomputing in the web application domain. A number of Java software solutions developed for the Web, such as coming from Information Retrieval, Semantic Web, and other domains, have begun to face performance and scalability challenges, for which MPI has proved to be an efficient solution in the “traditional” high performance computing languages, such as C and Fortran. We demonstrate that the native Java language design prevents MPI implementations to scale massively on productional supercomputing systems, and present a solution of overcoming the scalability issues by integrating in the native C realization of Open MPI. We also point out the design features of Open MPI that enable the proliferation of MPI into Java applications. Finally, we present some successful pilot scenarios implemented with MPI in Java and discuss future work in terms of promising Java applications of Open MPI, such as Random Indexing of large semantically annotated text sets.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
References
Alexandrov, A., Ibel, M., Schauser, K., Scheiman, C.: SuperWeb: research issues in Java-based global computing. In: Proceedings of the Workshop on Java for High performance Scientific and Engineering Computing Simulation and Modelling. Syracuse University, New York
Fox, G., Furmanski, W.: Java for parallel computing and as a general language for scientific and engineering simulation and modeling. Concurr. Comput. 9(6), 415–425 (1997)
McKendrick, J.: Size of the data universe: 1.2 zettabytes and growing fast. ZDNet report (2010)
Cheptsov, A., Assel, M.: Towards high performance semantic web – experience of the LarKC project. J. Innov. Supercomput. Dtschl. 9(1), 72–75 (2011)
Goodman, E., Jimenez, E., Mizell, D., al-Saffar, S., Adolf, B., Haglin, D.: High-performance computing applied to semantic databases. In: Proceedings of the Extended Semantic Web Conference (ESWC), vol. 2, pp. 31–45 (2011)
Dean, J., Ghemawat, S.: MapReduce- simplified data processing on large clusters. Retrieved from Google Library (2004)
Bornemann, M., van Nieuwpoort, R., Kielmann, T.: MPJ/Ibis: a flexible and efficient message passing platform for java. In: Proceedings of 12th European PVM/MPI Users’ Group Meeting, pp. 217–224 (2005)
MPI: A Message-Passing Interface Standard. Message Passing Interface Forum. http://www.mcs.anl.gov/research/projects/mpi/mpi-standard/mpi-report-1.1/mpi-report.htm
Gabriel, E., Fagg, G., Bosilca, G., Angskun, T., Dongarra, J., Squyres, J., Sahay, V., Kambadur, P., Barrett, B., Lumsdaine, A., Castain, R., Daniel, D., Graham, R., Woodall, T.: Open MPI: goals, concept, and design of a next generation MPI implementation. In: Proceedings, 11th European PVM/MPI Users’ Group Meeting, Budapest, September 2004
Baker, M., Carpenter, B., Fox, G., Ko, S., Lim, S.: mpiJava: an object-oriented java interface to MPI. International Workshop on Java for Parallel and Distributed Computing, IPPS/SPDP 1999, San Juan, April 1999
Carpenter, B., Fox, G., Ko, S., Lim, S.: mpiJava 1.2: API specification. http://citeseer.ist.psu.edu/ko99mpijava.html (1999)
Carpenter, B., Getov, V., Judd, G. Skjellum, A., Fox, G.: MPJ: MPI-like message passing for Java. Concurr. Comput. 12(11), 1019–1038 (2000)
Kielmann, T., Hatcher, P., Bougé, L., Bal, H.: Enabling java for high-performance computing: exploiting distributed shared memory and remote method invocation. Commun. ACM (2011)
Baker, M., Carpenter, B., Shafi, A.: MPJ express: towards thread safe java HPC. In: Proceedings of the IEEE International Conference on Cluster Computing (Cluster 2006), Barcelona, Spain, 25–28 September 2006. Retrieved from http://mpj-express.org/docs/papers/mpj-clust06.pdf (2006)
Judd, G., Clement, M., Snell, Q., Getov, V.: Design issues for efficient implementation of MPI in java. In: Proceedings of the 1999 ACM Java Grande Conference, pp. 58–65 (1999)
Zhang, H., Huang1, W., Han, J., He, J., Zhang, L.: A performance study of java communication stacks over InfiniBand and gigabit ethernet. In: 2007 IFIP International Conference on Network and Parallel Computing - Workshops (2007)
van Nieuwpoort, R., Maassen, J., Wrzesinska, G., Hofman, R., Jacobs, C., Kielmann, T., Bal, H.: Ibis: a flexible and efficient Java based grid programming environment. Concurr. Comput. 17(7–8), 1079–1107 (2005)
van Nieuwpoort, R., Kielmann, T., Bal, H.: User-friendly and reliable grid computing based on imperfect middleware. In: Proceedings of the ACM/IEEE Conference on Supercomputing (SC’07), November 2007
Liang, S.: Java native interface: programmer’s guide and reference. Addison-Wesley, Boston (1999)
Vodel, M., Sauppe, M., Hardt, W.: Parallel high-performance applications with MPI2Java - a capable java interface for MPI 2.0 libraries. In: 16th Asia-Pacific Conference on Communications (APCC), pp. 509–513 (2010)
Sahlgren, M.: An introduction to random indexing. In: Proceedings of Methods and Applications of Semantic Indexing Workshop at the 7th International Conference on Terminology and Knowledge Engineering TKE 2005, pp. 1–9 (2005)
Jurgens, D., Stevens, K.: The S-space package: an open source package for word space models. In: Proceedings of the ACL 2010 System Demonstrations, pp. 30–35 (2010)
Assel, M., Cheptsov, A., Czink, B., Damljanovic, D., Quesada, J.: MPI realization of high performance search for querying large RDF graphs using statistical semantics. In: Proceedings of the 1st Workshop on High-Performance Computing for the Semantic Web (HPCSW2011), co-located with the 8th Extended Semantic Web Conference, ESWC2011, Heraklion, 29 May 2011
Fensel, D., van Harmelen, F.: Unifying reasoning and search to web scale. IEEE Internet Comput. 11(2), 96–95 (2007)
Acknowledgements
We thank Open MPI consortium for the support with porting mpiJava bindings.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Cheptsov, A., Koller, B. (2015). Endorsing Supercomputing Applications to Java Language. In: Resch, M., Bez, W., Focht, E., Kobayashi, H., Patel, N. (eds) Sustained Simulation Performance 2014. Springer, Cham. https://doi.org/10.1007/978-3-319-10626-7_9
Download citation
DOI: https://doi.org/10.1007/978-3-319-10626-7_9
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-10625-0
Online ISBN: 978-3-319-10626-7
eBook Packages: Mathematics and StatisticsMathematics and Statistics (R0)