Performance of an 00 Compute Kernel on the JVM Revisiting Java']Java as a Language for Scientific Computing Applications

被引:1
|
作者
Kallen, Malin [1 ]
Wrigstad, Tobias [1 ]
机构
[1] Uppsala Univ, Uppsala, Sweden
来源
PROCEEDINGS OF THE 16TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON MANAGED PROGRAMMING LANGUAGES AND RUNTIMES (MPLR '19) | 2019年
关键词
!text type='Java']Java[!/text; C plus; Performance; Scientific Computing; FORTRAN; C++;
D O I
10.1145/3357390.3361026
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The study of Java as a programming language for scientific computing is warranted by simpler, more extensible and more easily maintainable code. Previous work on refactoring a C++ scientific computing code base to follow best practises of object-oriented software development revealed a coupling of such practises and considerable slowdowns due to indirections introduced by abstractions. In this paper, we explore how Java's JIT compiler handle such abstraction-induced indirection using a typical scientific computing compute kernel extracted from a linear solver written in C++. We find that the computation times for large workloads on one machine can be on -pair for C++ and Java. However, for distributed computations, a better parallelisation strategy needs to be found for non-blocking communication. We also report on the impact on performance for common "gripes": garbage collection, array bounds checking, and dynamic binding.
引用
收藏
页码:144 / 156
页数:13
相关论文
共 16 条
  • [1] Scientific Computing With Java']Java
    Knoll, P.
    Mirzaei, S.
    COMPUTER APPLICATIONS IN ENGINEERING EDUCATION, 2010, 18 (03) : 495 - 501
  • [2] Benchmarking Java']Java against C and Fortran for scientific applications
    Bull, JM
    Smith, LA
    Ball, C
    Pottage, L
    Freeman, R
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2003, 15 (3-5) : 417 - 430
  • [3] Parallel Colt: A High-Performance Java']Java Library for Scientific Computing and Image Processing
    Wendykier, Piotr
    Nagy, James G.
    ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE, 2010, 37 (03):
  • [4] OpenMPI plus Java']Java as a High Performance Language
    Adams, Joel C.
    2022 IEEE/ACM INTERNATIONAL WORKSHOP ON EDUCATION FOR HIGH PERFORMANCE COMPUTING (EDUHPC), 2022, : 11 - 17
  • [5] Scientific computing with Java']Java and C++: a case study using functional magnetic resonance neuroimages
    Vivanco, RA
    Pizzi, NJ
    SOFTWARE-PRACTICE & EXPERIENCE, 2005, 35 (03) : 237 - 254
  • [6] Early Observations on Performance of Google Compute Engine for Scientific Computing
    Li, Zheng
    O'Brien, Liam
    Ranjan, Rajiv
    Zhang, Miranda
    2013 IEEE FIFTH INTERNATIONAL CONFERENCE ON CLOUD COMPUTING TECHNOLOGY AND SCIENCE (CLOUDCOM), VOL 1, 2013, : 1 - 8
  • [7] Performance assessment of open source Java']Java based CORBA ORBs: Middleware for Internet applications
    Ahuja, SP
    Clark, R
    Eggen, R
    Elfayoumy, S
    IC'04: PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON INTERNET COMPUTING, VOLS 1 AND 2, 2004, : 410 - 415
  • [8] Understanding the Performance and Potential of Cloud Computing for Scientific Applications
    Sadooghi, Iman
    Martin, Jesus Hernandez
    Li, Tonglin
    Brandstatter, Kevin
    Maheshwari, Ketan
    Ruivo, Tiago Pais Pitta De lacerda
    Garzoglio, Gabriele
    Timm, Steven
    Zhao, Yong
    Raicu, Ioan
    IEEE TRANSACTIONS ON CLOUD COMPUTING, 2017, 5 (02) : 358 - 371
  • [9] Reducing Trace Selection Footprint for Large-scale Java']Java Applications without Performance Loss
    Wu, Peng
    Hayashizaki, Hiroshige
    Inoue, Hiroshi
    Nakatani, Toshio
    ACM SIGPLAN NOTICES, 2011, 46 (10) : 789 - 804
  • [10] High-Performance Cloud Computing: A View of Scientific Applications
    Vecchiola, Christian
    Pandey, Suraj
    Buyya, Rajkumar
    2009 10TH INTERNATIONAL SYMPOSIUM ON PERVASIVE SYSTEMS, ALGORITHMS, AND NETWORKS (ISPAN 2009), 2009, : 4 - 16