Exploring Multi-Threaded Java']Java Application Performance on Multicore Hardware

被引:12
|
作者
Sartor, Jennifer B. [1 ]
Eeckhout, Lieven [1 ]
机构
[1] Univ Ghent, Ghent, Belgium
基金
欧洲研究理事会;
关键词
Performance; Measurement; Performance Analysis; Multicore; Managed Languages; !text type='Java']Java[!/text; ENERGY; FREQUENCY; POWER;
D O I
10.1145/2398857.2384638
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
While there have been many studies of how to schedule applications to take advantage of increasing numbers of cores in modern-day multicore processors, few have focused on multi-threaded managed language applications which are prevalent from the embedded to the server domain. Managed languages complicate performance studies because they have additional virtual machine threads that collect garbage and dynamically compile, closely interacting with application threads. Further complexity is introduced as modern multicore machines have multiple sockets and dynamic frequency scaling options, broadening opportunities to reduce both power and running time. In this paper, we explore the performance of Java applications, studying how best to map application and virtual machine (JVM) threads to a multicore, multi-socket environment. We explore both the cost of separating JVM threads from application threads, and the opportunity to speed up or slow down the clock frequency of isolated threads. We perform experiments with the multi-threaded DaCapo benchmarks and pseudojbb2005 running on the Jikes Research Virtual Machine, on a dual-socket, 8-core Intel Nehalem machine to reveal several novel, and sometimes counter-intuitive, findings. We believe these insights are a first but important step towards understanding and optimizing managed language performance on modern hardware.
引用
收藏
页码:281 / 296
页数:16
相关论文
共 50 条
  • [1] On testing multi-threaded Java']Java programs
    Gong, Xufang
    Wang, Yanchen
    Zhou, Ying
    Li, Bixin
    [J]. SNPD 2007: EIGHTH ACIS INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, ARTIFICIAL INTELLIGENCE, NETWORKING, AND PARALLEL/DISTRIBUTED COMPUTING, VOL 1, PROCEEDINGS, 2007, : 702 - +
  • [2] Understanding the Cost of Thread Migration for Multi-Threaded Java']Java Applications Running on a Multicore Platform
    Teng, Qiming
    Sweeney, Peter F.
    Duesterwald, Evelyn
    [J]. ISPASS 2009: IEEE INTERNATIONAL SYMPOSIUM ON PERFORMANCE ANALYSIS OF SYSTEMS AND SOFTWARE, 2009, : 123 - 132
  • [3] MuTT: a Multi-Threaded Tracer for Java']Java Programs
    Liu, Dapeng
    Xu, Shaochun
    [J]. PROCEEDINGS OF THE 8TH IEEE/ACIS INTERNATIONAL CONFERENCE ON COMPUTER AND INFORMATION SCIENCE, 2009, : 949 - +
  • [4] A scalable architecture for multi-threaded JAVA']JAVA applications
    Mrva, M
    Buchenrieder, K
    Kress, R
    [J]. DESIGN, AUTOMATION AND TEST IN EUROPE, PROCEEDINGS, 1998, : 868 - 874
  • [5] Safe locking for multi-threaded Java']Java with exceptions
    Johnsen, Einar Broch
    Thi Mai Thuong Tran
    Owe, Olaf
    Steffen, Martin
    [J]. JOURNAL OF LOGIC AND ALGEBRAIC PROGRAMMING, 2012, 81 (03): : 257 - 283
  • [6] Framework for testing multi-threaded Java']Java programs
    Edelstein, O
    Farchi, E
    Goldin, E
    Nir, Y
    Ratsaby, G
    Ur, S
    [J]. CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2003, 15 (3-5): : 485 - 499
  • [7] Verifying a compiler optimization for multi-threaded Java']Java
    Reus, B
    Knapp, A
    Cenciarelli, P
    Wirsing, M
    [J]. RECENT TRENDS IN ALGEBRAIC DEVELOPMENT TECHNIQUES, 1998, 1376 : 402 - 417
  • [8] Implementation of strong mobility for multi-threaded agents in Java']Java
    Chakravarti, AJ
    Wang, XJ
    Hallstrom, JO
    Baumgartner, G
    [J]. 2003 INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING, PROCEEDINGS, 2003, : 321 - 330
  • [9] MULTI-THREADED DATA COMMUNICATION IN JAVA']JAVA FOR ADVANCED COMPUTING ENVIRONMENTS
    Wang, Jinying
    Yang, Jing
    [J]. SCALABLE COMPUTING-PRACTICE AND EXPERIENCE, 2023, 24 (04): : 1087 - 1096
  • [10] An integrated regression testing framework to multi-threaded Java']Java programs
    Li, Bixin
    Wang, Yancheng
    Yang, LiLi
    [J]. SOFTWARE ENGINEERING TECHNIQUES: DESIGN FOR QUALITY, 2006, 227 : 237 - +