Prefetch injection based on hardware monitoring and object metadata

被引:14
作者
Adl-Tabatabai, AR [1 ]
Hudson, RL [1 ]
Serrano, MJ [1 ]
Subramoney, S [1 ]
机构
[1] Intel Corp, Microprocessor Technol Lab, Programming Syst Lab, Santa Clara, CA USA
关键词
prefetching; compiler optimization; garbage collection; cache misses; profile-guided optimization; virtual machines;
D O I
10.1145/996893.996873
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Cache miss stalls hurt performance because of the large gap between memory and processor speeds - for example, the popular server benchmark SPEC JBB2000 spends 45% of its cycles stalled waiting for memory requests on the Itanium(R) 2 processor. Traversing linked data structures causes a large portion of these stalls. Prefetching for linked data structures remains a major challenge because serial data dependencies between elements in a linked data structure preclude the timely materialization of prefetch addresses. This paper presents Mississippi Delta (MS Delta), a novel technique for prefetching linked data structures that closely integrates the hardware performance monitor (HPM), the garbage collector's global view of heap and object layout, the type-level metadata inherent in type-safe programs, and JIT compiler analysis. The garbage collector uses the HPM's data cache miss information to identify cache miss intensive traversal paths through linked data structures, and then discovers regular distances (deltas) between these linked objects. JIT compiler analysis injects prefetch instructions using deltas to materialize prefetch addresses. We have implemented MS Delta in a fully dynamic profile-guided optimization system: the StarJIT dynamic compiler [1] and the ORP Java virtual machine [9]. We demonstrate a 28-29% reduction in stall cycles attributable to the high-latency cache misses targeted by MS Delta and a speedup of 11-14% on the cache miss intensive SPEC JBB2000 benchmark.
引用
收藏
页码:267 / 276
页数:10
相关论文
共 34 条
[21]   Puppeteer: A Random Forest Based Manager for Hardware Prefetchers Across the Memory Hierarchy [J].
Eris, Furkan ;
Louis, Marcia ;
Eris, Kubra ;
Abellan, Jose ;
Joshi, Ajay .
ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 2022, 20 (01)
[22]   Hardware-based profiling: An effective technique for profile-driven optimization [J].
Conte, TM ;
Patel, BA ;
Menezes, KN ;
Cox, JS .
INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 1996, 24 (02) :187-206
[23]   Web object-based storage management in proxy caches [J].
Abhari, A ;
Dandamudi, SP ;
Majumdar, S .
FUTURE GENERATION COMPUTER SYSTEMS-THE INTERNATIONAL JOURNAL OF ESCIENCE, 2006, 22 (1-2) :16-31
[24]   A meta-predictor framework for prefetching in object-based DSMs [J].
Beyler, Jean Christophe ;
Klemm, Michael ;
Clauss, Philippe ;
Philippsen, Michael .
CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2009, 21 (14) :1789-1803
[25]   A Co-Optimization of Software and Hardware for PCIe-Based Small Packet DMA Transfer [J].
Gu, Xiaotian ;
Shao, Lisong ;
Bai, Ningfeng ;
Zhang, Guosheng ;
Zhang, Xinyi .
IEEE EMBEDDED SYSTEMS LETTERS, 2025, 17 (01) :6-9
[26]   A Correlation-Aware Prefetching Strategy for Object-Based File System [J].
Sui, Julei ;
Tong, Jiancong ;
Wang, Gang ;
Liu, Xiaoguang .
ALGORITHMS AND ARCHITECTURES FOR PARALLEL PROCESSING, PT 1, PROCEEDINGS, 2010, 6081 :236-245
[27]   Class-Based Garbage Collection in Object-Oriented Programming Environments [J].
张武生 ;
黄启峰 ;
沈美明 ;
郑纬民 .
Tsinghua Science and Technology, 2003, (06) :658-666
[28]   sFlow-Based Resource Utilization Monitoring in Clouds [J].
Afaq, Muhammad ;
Song, Wang-Cheol .
2016 18TH ASIA-PACIFIC NETWORK OPERATIONS AND MANAGEMENT SYMPOSIUM (APNOMS), 2016,
[29]   Agent based Resource Monitoring system in IaaS Cloud Environment [J].
Meera, A. ;
Swamynathan, S. .
FIRST INTERNATIONAL CONFERENCE ON COMPUTATIONAL INTELLIGENCE: MODELING TECHNIQUES AND APPLICATIONS (CIMTA) 2013, 2013, 10 :200-207
[30]   Hardware Software Co-Design for Multi-Threaded Computation on RISC-V-Based Multicore System [J].
Kieu-do-Nguyen, Binh ;
Nguyen, Khai-Duy ;
The Binh, Nguyen ;
Ma, Khai-Minh ;
Ta, Tri-Duc ;
Le, Duc-Hung ;
Pham, Cong-Kha ;
Hoang, Trong-Thuc .
IEEE ACCESS, 2024, 12 :177312-177326