Hosting OpenMP Programs on Java']Java Virtual Machines

被引:1
|
作者
Gaikwad, Swapnil [1 ]
Nisbet, Andy [1 ]
Lujan, Mikel [1 ]
机构
[1] Univ Manchester, Manchester, Lancs, England
基金
欧盟地平线“2020”;
关键词
!text type='Java']Java[!/text] Virtual Machine; OpenMP; Sulong; GraalVM;
D O I
10.1145/3357390.3361031
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
To leverage existing virtual machine infrastructures is attractive for programming language implementors because competitive runtime performance may be achieved with a reduced effort. For example, the Truffle framework has enabled Ruby (TruffleRuby), and C (Sulong) guest language implementations to be hosted on a Java Virtual Machine (JVM). In this paper, we present Sulong-OpenMP, the first Truffle-based implementation to support parallel programs written in C/C++ and OpenMP. Our implementation adds OpenMP support to Sulong that executes LLVM Intermediate Representation (LLVM IR) for C/C++ programs on a JVM. We outline the challenges faced in supporting OpenMP execution semantics, and the current limitations of Sulong-OpenMP. The geometric mean overhead of 1 thread Sulong-OpenMP compared to sequential Sulong execution was 2.6% for the NAS Parallel Benchmark suite, at peak runtime performance. Although this paper focuses on the correctness of our implementation concerning the OpenMP memory model, we also highlight the diminishing performance gap between the native execution with clang -O2 and our Sulong-OpenMP as only 1.2x in the best case using 4 OpenMP threads.
引用
收藏
页码:63 / 71
页数:9
相关论文
共 50 条
  • [1] How Java']Java programs interact with virtual machines at the microarchitectural level
    Eeckhout, L
    Georges, A
    De Bosschere, K
    [J]. ACM SIGPLAN NOTICES, 2003, 38 (11) : 169 - 186
  • [2] THE TRANSITIVE TRUST IN JAVA']JAVA VIRTUAL MACHINES
    Shi, Yong
    Han, Zhen
    Shen, Chang-Xiang
    [J]. PROCEEDINGS OF 2009 INTERNATIONAL CONFERENCE ON MACHINE LEARNING AND CYBERNETICS, VOLS 1-6, 2009, : 2802 - +
  • [3] The new crop of Java']Java™ virtual machines
    Bak, L
    Duimovich, J
    Fang, J
    Meyer, S
    Ungar, D
    [J]. ACM SIGPLAN NOTICES, 1998, 33 (10) : 179 - 182
  • [4] A proposal for OpenMP for Java']Java
    Klemm, Michael
    Veldema, Ronald
    Bezold, Matthias
    Philippsen, Michael
    [J]. OPENMP SHARED MEMORY PARALLEL PROGRAMMING, PROCEEDINGS, 2008, 4315 : 409 - +
  • [5] An OpenMP Library for Java']Java
    Cook, Robert P.
    [J]. 2013 PROCEEDINGS OF IEEE SOUTHEASTCON, 2013,
  • [6] Automatic Array Inlining in Java']Java Virtual Machines
    Wimmer, Christian
    Moessenboeck, Hanspeter
    [J]. CGO 2008: SIXTH INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION, PROCEEDINGS, 2008, : 14 - 23
  • [7] Automated Conformance Testing of Java']Java Virtual Machines
    Calvagna, Andrea
    Tramontana, Emiliano
    [J]. 2013 SEVENTH INTERNATIONAL CONFERENCE ON COMPLEX, INTELLIGENT, AND SOFTWARE INTENSIVE SYSTEMS (CISIS), 2013, : 547 - 552
  • [8] Securing Sensitive Data in Java']Java Virtual Machines
    Deng, Lin
    Wei, Bingyang
    Guo, Jin
    Benke, Matt
    Howard, Tyler
    Krause, Matt
    Patel, Aman
    [J]. 2022 IEEE/ACIS 20TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING RESEARCH, MANAGEMENT AND APPLICATIONS (SERA), 2022, : 128 - 131
  • [9] Java']Java virtual machines behavior on embedded systems
    Ammous, Karim
    Benameur, Nasser
    Niar, Smail
    [J]. PROCEEDINGS OF THE IASTED INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 2007, : 302 - +
  • [10] Managing the life cycle of Java']Java Card applets in other Java']Java virtual machines
    Roland, Michael
    Langer, Josef
    Mayrhofer, Rene
    [J]. INTERNATIONAL JOURNAL OF PERVASIVE COMPUTING AND COMMUNICATIONS, 2014, 10 (03) : 291 - +