High Performance Computing with Java']Java Streams

被引:0
|
作者
Silva, Rui [1 ]
Sobral, Joao L. [1 ]
机构
[1] Univ Minho, Ctr Algoritmi, Braga, Portugal
关键词
!text type='Java']Java[!/text] parallel streams; Data layout; Data locality;
D O I
10.1007/978-3-031-06156-1_2
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Java streams enable an easy-to-use functional-like programming style that transparently supports parallel execution. This paper presents an approach that improves the performance of stream-based Java applications. The approach enables the effective usage of Java for HPC applications, due to data locality improvements (i.e., support for efficient data layouts), without losing the object-oriented view of data in the code. The approach extends the Java collections API to hide additional details concerning the data layout, enabling the transparent use of more memory-friendly data layouts. The enhanced Java Collection API enables an easy adaptation of existing Java codes making those Java codes suitable for HPC. Performance results show that improving the data locality can provide a two-fold performance gain in sequential stream applications, which translated into a similar gain over parallel stream implementations. Moreover, the performance is comparable to similar C implementations using OpenMP.
引用
收藏
页码:17 / 28
页数:12
相关论文
共 50 条
  • [1] Java']JavaGrande - High performance computing with Java']Java
    Philippsen, M
    Boisvert, RF
    Getov, VS
    Pozo, R
    Moreira, J
    Gannon, D
    Fox, GC
    APPLIED PARALLEL COMPUTING, PROCEEDINGS: NEW PARADIGMS FOR HPC IN INDUSTRY AND ACADEMIA, 2001, 1947 : 20 - 36
  • [2] Java']Java in high-performance computing
    Getov, V
    FUTURE GENERATION COMPUTER SYSTEMS, 2001, 18 (02) : V - VI
  • [3] OpusJava']Java: A Java']Java framework for distributed high performance computing
    Laure, E
    FUTURE GENERATION COMPUTER SYSTEMS-THE INTERNATIONAL JOURNAL OF ESCIENCE, 2001, 18 (02): : 235 - 251
  • [4] Distributed High Performance Computing using JAVA']JAVA
    Shakya, Subarna
    Chaulagain, Ram Sharan
    Pandey, Santosh
    Gyawali, Prakash
    2017 IEEE INTERNATIONAL CONFERENCE ON COMPUTING, COMMUNICATION AND AUTOMATION (ICCCA), 2017, : 742 - 747
  • [5] Java']Java for high-performance network computing
    Fox, G
    CONCURRENCY-PRACTICE AND EXPERIENCE, 1998, 10 (11-13): : 821 - 824
  • [6] JCL: A High Performance Computing Java']Java Middleware
    Barroso Almeida, Andre Luis
    Delabrida Silva, Saul Emanuel
    Nazare, Antonio C., Jr.
    Lima, Joubert de Castro
    PROCEEDINGS OF THE 18TH INTERNATIONAL CONFERENCE ON ENTERPRISE INFORMATION SYSTEMS, VOL 1 (ICEIS), 2016, : 379 - 390
  • [7] Enabling Java']Java for high-performance computing
    Kielmann, T
    Hatcher, P
    Bougé, L
    Bal, HE
    COMMUNICATIONS OF THE ACM, 2001, 44 (10) : 110 - 117
  • [8] A comparison of high performance, parallel computing Java']Java packages
    Schaller, NC
    Marshall, SW
    Cho, YF
    COMMUNICATING PROCESS ARCHITECTURES 2003, 2003, 61 : 1 - 16
  • [9] Java']Java programming for high-performance numerical computing
    Moreira, JE
    Midkiff, SP
    Gupta, M
    Artigas, PV
    Snir, M
    Lawrence, RD
    IBM SYSTEMS JOURNAL, 2000, 39 (01) : 21 - 56
  • [10] Java in high-performance computing
    Getov, V.
    Future Generation Computer Systems, 2001, 18 (02)