Online Optimizations Driven by Hardware Performance Monitoring

被引:9
|
作者
Schneider, Florian T. [1 ]
Payer, Mathias [1 ]
Gross, Thomas R. [1 ]
机构
[1] ETH, Dept Comp Sci, Zurich, Switzerland
关键词
!text type='Java']Java[!/text; Just-in-time Compilation; Dynamic Optimization; Hardware Performance Monitors;
D O I
10.1145/1250734.1250777
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Hardware performance monitors provide detailed direct feedback about application behavior and are an additional Source of information that a compiler may use for optimization. A JIT compiler is in a good position to make use Of Such information because it is running oil the same platform as the user applications. As hardware platforms become more and more complex, it becomes more and more difficult to model their behavior. Profile information that captures general program properties (like execution frequency of methods or basic blocks) may be useful, but does not capture sufficient information about the execution platform. Machine-level performance data obtained front it hardware performance monitor can not only direct the compiler to those parts of the program that deserve its attention but also determine if ail optimization step actually improved the performance of the application. This paper presents an infrastructure based on a dynamic compiler+runtime environment for Java that incorporates machine-level information as an additional kind of feedback for the compiler and runtime environment. The low-overhead monitoring system provides fine-grained performance data that call be tracked back to individual Java bytecode instructions. As an example, the paper presents results For object co-allocation in a generational garbage collector that optimizes spatial locality of objects on-line using measurements about cache misses. In the best case, the execution time is reduced by 14% and L1 cache misses by 28%.
引用
收藏
页码:373 / 382
页数:10
相关论文
共 50 条
  • [1] Online optimizations driven by hardware performance monitoring
    Schneider, Florian T.
    Payer, Mathias
    Gross, Thomas R.
    ACM SIGPLAN NOTICES, 2007, 42 (06) : 373 - 382
  • [2] A Practical Approach to Hardware Performance Monitoring based Dynamic Optimizations in a Production JVM
    Cuthbertson, John
    Viswanathan, Sandhya
    Bobrovsky, Konstantin
    Astapchuk, Alexander
    Kaczmarek, Eric
    Srinivasan, Uma
    CGO 2009: INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION, PROCEEDINGS, 2009, : 190 - +
  • [3] A Heterogeneous Full-stack AI Platform for Performance Monitoring and Hardware-specific Optimizations
    Zhou, Zikang
    Fu, Chao
    Xie, Ruiqi
    Han, Jun
    2021 IEEE 14TH INTERNATIONAL SYMPOSIUM ON EMBEDDED MULTICORE/MANY-CORE SYSTEMS-ON-CHIP (MCSOC 2021), 2021, : 164 - 170
  • [4] Energy-driven integrated hardware-software optimizations using SimplePower
    Vijaykrishnan, N
    Kandemir, M
    Irwin, MJ
    Kim, HS
    Ye, W
    PROCEEDING OF THE 27TH INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE, 2000, : 95 - 106
  • [5] Database optimizations for modern hardware
    Cieslewicz, John
    Ross, Kenneth A.
    PROCEEDINGS OF THE IEEE, 2008, 96 (05) : 863 - 878
  • [6] Search speed and power driven integrated software and hardware optimizations for motion estimation algorithms
    Yang, SQ
    Wolf, W
    Vijaykrishnan, N
    2004 IEEE INTERNATIONAL CONFERENCE ON MULTIMEDIA AND EXP (ICME), VOLS 1-3, 2004, : 707 - 710
  • [7] Online performance monitoring
    De Maria, Bob
    Tangen, Ron
    Gresh, Ted
    Turbomachinery International, 2005, 46 (07) : 27 - 28
  • [8] Verifying Hardware Optimizations for Efficient Acceleration
    Wang, Qianzhou
    Wong, Yat
    Que, Zhiqiang
    Luk, Wayne
    PROCEEDINGS OF THE 12TH INTERNATIONAL SYMPOSIUM ON HIGHLY EFFICIENT ACCELERATORS AND RECONFIGURABLE TECHNOLOGIES, HEART 2022, 2022, : 17 - 23
  • [9] Hardware and software optimizations for multimedia databases
    Goossens, B
    Essafi, H
    Pic, M
    PARALLEL COMPUTING TECHNOLOGIES, 1999, 1662 : 365 - 370
  • [10] The basics of performance-monitoring hardware
    Sprunt, B
    IEEE MICRO, 2002, 22 (04) : 64 - 71