Skip to main content
Top
Published in: International Journal of Parallel Programming 1/2023

05-12-2022

Efficient High-Level Programming in Plain Java

Authors: Rui S. Silva, João L. Sobral

Published in: International Journal of Parallel Programming | Issue 1/2023

Log in

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

This paper introduces the support for developing efficient parallel programs in plain Java in the Gaspar framework. The framework supports a complete set of data locality optimisations that are introduced with Java annotations, keeping the original Java code platform independent and postponing performance tuning tasks. Performance results show that data layout improvements can provide a 2.5-fold speedup, and, when combined with the exploitation of parallelism, can deliver a 50-fold speedup when compared with an unoptimised sequential base Java application running on a 24-core machine.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Literature
1.
go back to reference Bondhugula, U., Hartono, A., Ramanujam, J., Sadayappan, P.: A practical and fully automatic polyhedral program optimization system. In: ACM SIGPLAN PLDI, vol. 10 (2008) Bondhugula, U., Hartono, A., Ramanujam, J., Sadayappan, P.: A practical and fully automatic polyhedral program optimization system. In: ACM SIGPLAN PLDI, vol. 10 (2008)
2.
go back to reference Booch, G., Maksimchuk, R., Engle, M., Young, B., Conallen, J., Houston, K.: Object-Oriented Analysis and Design with Applications, 3rd edn. Addison-Wesley Professional, Boston (2007) Booch, G., Maksimchuk, R., Engle, M., Young, B., Conallen, J., Houston, K.: Object-Oriented Analysis and Design with Applications, 3rd edn. Addison-Wesley Professional, Boston (2007)
3.
go back to reference Bull, M., Smith, L., Westhead, M., Henty, D., Davey, R.: Benchmarking Java Grande applications. In: Proceedings of the Second International Conference on The Practical Applications of Java, Manchester, UK, pp. 63–73 (2000) Bull, M., Smith, L., Westhead, M., Henty, D., Davey, R.: Benchmarking Java Grande applications. In: Proceedings of the Second International Conference on The Practical Applications of Java, Manchester, UK, pp. 63–73 (2000)
4.
go back to reference Costa, D., Andrzejak, A., Seboek, J., Lo, D.: Empirical study of usage and performance of java collections. In: Proceedings of the 8th ACM/SPEC on International Conference on Performance Engineering, pp. 389–400. ACM (2017) Costa, D., Andrzejak, A., Seboek, J., Lo, D.: Empirical study of usage and performance of java collections. In: Proceedings of the 8th ACM/SPEC on International Conference on Performance Engineering, pp. 389–400. ACM (2017)
6.
go back to reference Faria, N., Silva, R., Sobral, J.L.: Impact of data structure layout on performance. In: 2013 21st Euromicro International Conference on Parallel, Distributed, and Network-Based Processing, pp. 116–120. IEEE (2013) Faria, N., Silva, R., Sobral, J.L.: Impact of data structure layout on performance. In: 2013 21st Euromicro International Conference on Parallel, Distributed, and Network-Based Processing, pp. 116–120. IEEE (2013)
7.
go back to reference Grosser, T., Zheng, H., Aloor, R., Simbürger, A., Größlinger, A., Pouchet, L.N.: Polly-polyhedral optimization in llvm. In: Proceedings of the First International Workshop on Polyhedral Compilation Techniques (IMPACT), vol. 2011, p. 1 (2011) Grosser, T., Zheng, H., Aloor, R., Simbürger, A., Größlinger, A., Pouchet, L.N.: Polly-polyhedral optimization in llvm. In: Proceedings of the First International Workshop on Polyhedral Compilation Techniques (IMPACT), vol. 2011, p. 1 (2011)
11.
go back to reference Hasan, S., King, Z., Hafiz, M., Sayagh, M., Adams, B., Hindle, A.: Energy profiles of Java collections classes. In: Proceedings of the 38th International Conference on Software Engineering, pp. 225–236. ACM (2016) Hasan, S., King, Z., Hafiz, M., Sayagh, M., Adams, B., Hindle, A.: Energy profiles of Java collections classes. In: Proceedings of the 38th International Conference on Software Engineering, pp. 225–236. ACM (2016)
12.
go back to reference Hirzel, M.: Data layouts for object-oriented programs. In: Proceedings of the 2007 ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems, SIGMETRICS ’07, pp. 265–276. ACM, New York, NY, USA (2007). https://doi.org/10.1145/1254882.1254915 Hirzel, M.: Data layouts for object-oriented programs. In: Proceedings of the 2007 ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems, SIGMETRICS ’07, pp. 265–276. ACM, New York, NY, USA (2007). https://​doi.​org/​10.​1145/​1254882.​1254915
13.
go back to reference Jeffers, J., Reinders, J., Sodani, A.: Intel Xeon Phi Processor High Performance Programming: Knights Landing Edition. Morgan Kaufmann, Burlington (2016) Jeffers, J., Reinders, J., Sodani, A.: Intel Xeon Phi Processor High Performance Programming: Knights Landing Edition. Morgan Kaufmann, Burlington (2016)
14.
go back to reference Lashgar, A., Baniasadi, A.: Openacc cache directive: opportunities and optimizations. In: 2016 Third Workshop on Accelerator Programming Using Directives (WACCPD), pp. 46–56. IEEE (2016) Lashgar, A., Baniasadi, A.: Openacc cache directive: opportunities and optimizations. In: 2016 Third Workshop on Accelerator Programming Using Directives (WACCPD), pp. 46–56. IEEE (2016)
15.
go back to reference Majeti, D., Barik, R., Zhao, J., Grossman, M., Sarkar, V.: Compiler-driven data layout transformation for heterogeneous platforms. In: European Conference on Parallel Processing, pp. 188–197. Springer (2013) Majeti, D., Barik, R., Zhao, J., Grossman, M., Sarkar, V.: Compiler-driven data layout transformation for heterogeneous platforms. In: European Conference on Parallel Processing, pp. 188–197. Springer (2013)
17.
go back to reference Sharma, K., Karlin, I., Keasler, J., McGraw, J.R., Sarkar, V.: User-specified and automatic data layout selection for portable performance. Rice University, Houston, Texas, USA, technical report, TR13-03 (2013) Sharma, K., Karlin, I., Keasler, J., McGraw, J.R., Sarkar, V.: User-specified and automatic data layout selection for portable performance. Rice University, Houston, Texas, USA, technical report, TR13-03 (2013)
18.
go back to reference Silva, R., Sobral, J.L.: Gaspar data-centric framework. In: International Conference on Vector and Parallel Processing, pp. 234–247. Springer (2016) Silva, R., Sobral, J.L.: Gaspar data-centric framework. In: International Conference on Vector and Parallel Processing, pp. 234–247. Springer (2016)
19.
go back to reference Silva, R., Sobral, J.L.: High performance computing with java streams. In: Euro-Par 2021 International Workshops, Lisbon, Portugal, August 30–31, 2021, Revised Selected Papers, pp. 17–28. Springer (2021) Silva, R., Sobral, J.L.: High performance computing with java streams. In: Euro-Par 2021 International Workshops, Lisbon, Portugal, August 30–31, 2021, Revised Selected Papers, pp. 17–28. Springer (2021)
20.
go back to reference Stratton, J.A., Rodrigues, C., Sung, I.J., Chang, L.W., Anssari, N., Liu, G., Wen-mei, W.H., Obeid, N.: Algorithm and data optimization techniques for scaling to massively threaded systems. Computer 45(8), 26–32 (2012)CrossRef Stratton, J.A., Rodrigues, C., Sung, I.J., Chang, L.W., Anssari, N., Liu, G., Wen-mei, W.H., Obeid, N.: Algorithm and data optimization techniques for scaling to massively threaded systems. Computer 45(8), 26–32 (2012)CrossRef
21.
go back to reference Unat, D., Cai, X., Baden, S.B.: Mint: realizing CUDA performance in 3D stencil methods with annotated C. In: Proceedings of the International Conference on Supercomputing, pp. 214–224. ACM (2011) Unat, D., Cai, X., Baden, S.B.: Mint: realizing CUDA performance in 3D stencil methods with annotated C. In: Proceedings of the International Conference on Supercomputing, pp. 214–224. ACM (2011)
22.
go back to reference Wende, F.: C++ data layout abstractions through proxy types. In: 2019 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW), pp. 758–767. IEEE (2019) Wende, F.: C++ data layout abstractions through proxy types. In: 2019 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW), pp. 758–767. IEEE (2019)
23.
go back to reference Wimmer, C., Mössenböck, H.: Automatic array inlining in Java virtual machines. In: Proceedings of the 6th Annual IEEE/ACM International Symposium on Code Generation and Optimization, CGO ’08, pp. 14–23. ACM, New York, NY, USA (2008). https://doi.org/10.1145/1356058.1356061 Wimmer, C., Mössenböck, H.: Automatic array inlining in Java virtual machines. In: Proceedings of the 6th Annual IEEE/ACM International Symposium on Code Generation and Optimization, CGO ’08, pp. 14–23. ACM, New York, NY, USA (2008). https://​doi.​org/​10.​1145/​1356058.​1356061
Metadata
Title
Efficient High-Level Programming in Plain Java
Authors
Rui S. Silva
João L. Sobral
Publication date
05-12-2022
Publisher
Springer US
Published in
International Journal of Parallel Programming / Issue 1/2023
Print ISSN: 0885-7458
Electronic ISSN: 1573-7640
DOI
https://doi.org/10.1007/s10766-022-00747-0

Other articles of this Issue 1/2023

International Journal of Parallel Programming 1/2023 Go to the issue

Premium Partner