Abstract
This paper evaluates the performance of virtual execution machines (VM) of the CLI and JVM standards for the common approaches to represent multidimensional arrays in high performance computing applications. In particular, it shows which representation is the best for each virtual machine implementation, showing that the choices may be surprisingly contradictory, even with respect to previous results of other works on performance evaluation of VMs.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
The Mono Project (2006), http://www.mono-project.com
IBM Java Development Kit (May 2012)
IKVM.NET Home Page (May 2012)
JSci - A science API for Java (May 2012)
Microsoft .NET Framework (2012), http://www.microsoft.com/net
OpenJDK (May 2012)
Oracle Java Development Kit (May 2012)
Amedro, B., Baude, F., Caromel, D., Delbe, C., Filali, I., Huet, F., Mathias, E., Smirnov, O.: An Efficient Framework for Running Applications on Clusters, Grids and Clouds, ch. 10, pp. 163–178. Springer (2010)
Amedro, B., Caromel, D., Huet, F., Bodnartchouk, V., Delbé, C., Taboada, G.: HPC in Java: Experiences in Implementing the NAS Parallel Benchmarks. In: Proceedings of the 10th WSEAS International Conference on Applied Informatics and Communications (AIC 2010) (August 2010)
Artigas, P.V., Gupta, M., Midkiff, S.P., Moreira, J.E.: Automatic Loop Transformations and Parallelization for Java. In: Proceedings of the 14th International Conference on Supercomputing (ICS 2000), pp. 1–10. ACM Press, New York (2000)
Bailey, D.H., et al.: The NAS Parallel Benchmarks. International Journal of Supercomputing Applications 5(3), 63–73 (1991)
Baitsch, M., Li, N., Hartmann, D.: A Toolkit for Efficient Numerical Applications in Java. Advances in Engineering Software 41(1), 75–83 (2010)
Budimlic, Z., Kennedy, K.: JaMake: A Java Compiler Environment. In: Margenov, S., Waśniewski, J., Yalamov, P. (eds.) LSSC 2001. LNCS, vol. 2179, pp. 201–209. Springer, Heidelberg (2001)
Bull, J.M., Smith, L.A., Ball, C., Pottage, L., Freeman, R.: Benchmarking Java against C and Fortran for scientific applications. Concurrency and Computation: Practice and Experience 15(35), 417–430 (2003)
ECMA International. Common Language Infrastructure (CLI), Partitions I to VI. Technical Report 335, ECMA International (June 2006)
Frumkin, M.A., Schultz, M., Jin, H., Yan, J.: Performance and Scalability of the NAS Parallel Benchmarks in Java. In: 17th International Symposium on Parallel and Distributed Processing (IPDPS 2003), p. 139 (April 2003)
Grama, A., Gupta, A., Karypis, J., Kumar, V.: Introduction to Parallel Computing. Addison-Wesley (1976)
Gundersen, G., Steihaug, T.: Data structures in Java for matrix computations. Concurrency and Computation: Practice and Experience 16(8), 799–815 (2004)
Hamilton, J.: Language Integration in the Common Language Runtime. SIGPLAN Notices 38(2), 19–28 (2003)
Luján, M., Gurd, J.R., Freeman, T.L., Miguel, J.: Elimination of Java Array Bounds Checks in the Presence of Indirection. In: Proceedings of the 2002 Joint ACM-ISCOPE Conference on Java Grande (JGI 2002), pp. 76–85. ACM Press, New York (2002)
Lusk, E., Yelick, K.: Languages for High-Productivity Computing - The DARPA HPCS Language Support. Parallel Processing Letters (1), 89–102 (2007)
Mathew, J.A., Coddington, P.D., Hawick, K.A.: Analysis and development of Java Grande benchmarks. In: Proceedings of the ACM 1999 Conference on Java Grande (JAVA 1999), pp. 72–80. ACM Press, New York (1999)
Moreira, J.E., Midkiff, S.P., Gupta, M.: Supporting Multidimensional Arrays in Java. Concurrency and Computation: Practice and Experience 15(35), 317–340 (2003)
Moreira, J.E., Midkiff, S.P., Gupta, M., Artigas, P.V., Wu, P., Almasi, G.: The NINJA project. Communications of the ACM 44(10), 102–109 (2001)
Nguyen, T.V.N., Irigoin, F.: Efficient and Effective Array Bound Checking. ACM Trans. on Programming Languages and Systems 27(3), 527–570 (2005)
Nikishkov, G.P., Nikishkov, Y.G., Savchenko, V.V.: Comparison of C and Java Performance in Finite Element Computations. Computers & Structures 81(24-25), 2401–2408 (2003)
Philippsen, M., Boisvert, R.F., Getov, V., Pozo, R., Moreira, J.E., Gannon, D., Fox, G.: JavaGrande - High Performance Computing with Java. In: Sørevik, T., Manne, F., Moe, R., Gebremedhin, A.H. (eds.) PARA 2000. LNCS, vol. 1947, pp. 20–36. Springer, Heidelberg (2001)
Post, D.E., Votta, L.G.: Computational Science Demands a New Paradigm. Physics Today 58(1), 35–41 (2005)
Qian, F., Hendren, L., Verbrugge, C.: A Comprehensive Approach to Array Bounds Check Elimination for Java. In: Nigel Horspool, R. (ed.) CC 2002. LNCS, vol. 2304, pp. 325–342. Springer, Heidelberg (2002)
Riley, C.J., Chatterjee, S., Biswas, R.: High-Performance Java Codes for Computational Fluid Dynamics. Concurrency and Computation: Practice and Experience 15(35), 395–415 (2003)
Taboada, G.L., Ramos, S., Expósito, R.R., Tourino, J., Doallo, R.: Java in the High Performance Computing arena: Research, practice and experience. Science of Computer Programming 78(5), 425–444 (2013)
Todorov, V.: Java and Computing for Robust Statistics. In: Developments in Robust Statistics, pp. 404–416. Physica-Verlag GmbH & Co. (2002)
van Reeuwijk, C., Kuijlman, F., Sips, H.J.: Spar: A Set of Extensions to Java for Scientific Computation. Concurrency and Computation: Practice and Experience 15(35), 277–297 (2003)
VanderHeyden, W.B., Dendy, E.D., Padial Collins, N.T.: CartaBlanca A Pure-Java, Component-Based Systems Simulation Tool for Coupled Nonlinear Physics on Unstructured Grids. Concurrency and Computation: Practice and Experience 15(35), 431–458 (2003)
Vogels, W.: Benchmarking the CLI for high performance computing. Software IEE Proceedings 150(5), 266–274 (2003)
Würthinger, T., Wimmer, C., Mössenböck, H.: Array bounds check elimination for the Java HotSpot client compiler. In: Proceedings of the 5th International Symposium on Principles and Practice of Programming in Java (PPPJ 2007), p. 125. ACM Press, New York (2007)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
de Carvalho Junior, F.H., Rezende, C.A., de Carvalho Silva, J., Magalhães, F.J.L., Juaçaba-Neto, R.C. (2013). On the Performance of Multidimensional Array Representations in Programming Languages Based on Virtual Execution Machines. In: Du Bois, A.R., Trinder, P. (eds) Programming Languages. SBLP 2013. Lecture Notes in Computer Science, vol 8129. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-40922-6_3
Download citation
DOI: https://doi.org/10.1007/978-3-642-40922-6_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-40921-9
Online ISBN: 978-3-642-40922-6
eBook Packages: Computer ScienceComputer Science (R0)