Institute of Computing Technology, Chinese Academy IR
Runtime engine for dynamic profile guided stride prefetching | |
Zou, Qiong1,3; Li, Xiao-Feng2; Zhang, Long-Bing3 | |
2008-07-01 | |
发表期刊 | JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY |
ISSN | 1000-9000 |
卷号 | 23期号:4页码:633-643 |
摘要 | Stride prefetching is recognized as an important technique to improve memory access performance. The prior work usually profiles and/or analyzes the program behavior offline, and uses the identified stride patterns to guide the compilation process by injecting the prefetch instructions at appropriate places. There are some researches trying to enable stride prefetching in runtime systems with online profiling, but they either cannot discover cross-procedural prefetch opportunity, or require special supports in hardware or garbage collection. In this paper, we present a prefetch engine for JVM (Java Virtual Machine). It firstly identifies the candidate load operations during just-in-time (JIT) compilation, and then instruments the compiled code to profile the addresses of those loads. The runtime profile is collected in a trace buffer, which triggers a prefetch controller upon a protection fault. The prefetch controller analyzes the trace to discover any stride patterns, then modifies the compiled code to inject the prefetch instructions in place of the instrumentations. One of the major advantages of this engine is that, it can detect striding loads in any virtual code places for both regular and irregular code, not being limited with plain loop or procedure scopes. Actually we found the cross-procedural patterns take about 30% of all the prefetchings in the representative Java benchmarks. Another major advantage of the engine is that it has runtime overhead much smaller (the maximal is less than 4.0%) than the benefits it brings. Our evaluation with Apache Harmony JVM shows that the engine can achieve an average 6.2% speed-up with SPECJVM98 and DaCapo on Intel Pentium 4 platform, in spite of the runtime overhead. |
关键词 | stride prefetching dynamic profiling runtime system |
收录类别 | SCI |
语种 | 英语 |
WOS研究方向 | Computer Science |
WOS类目 | Computer Science, Hardware & Architecture ; Computer Science, Software Engineering |
WOS记录号 | WOS:000257809900012 |
出版者 | SCIENCE PRESS |
引用统计 | |
文献类型 | 期刊论文 |
条目标识符 | http://119.78.100.204/handle/2XEOYT63/11091 |
专题 | 中国科学院计算技术研究所期刊论文_英文 |
通讯作者 | Zou, Qiong |
作者单位 | 1.Univ Sci & Technol China, Dept Comp Sci, Hefei 230027, Peoples R China 2.Intel China Res Ctr, Beijing 100190, Peoples R China 3.Chinese Acad Sci, Inst Comp Technol, Key Lab Comp Syst & Architecture, Beijing 100190, Peoples R China |
推荐引用方式 GB/T 7714 | Zou, Qiong,Li, Xiao-Feng,Zhang, Long-Bing. Runtime engine for dynamic profile guided stride prefetching[J]. JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY,2008,23(4):633-643. |
APA | Zou, Qiong,Li, Xiao-Feng,&Zhang, Long-Bing.(2008).Runtime engine for dynamic profile guided stride prefetching.JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY,23(4),633-643. |
MLA | Zou, Qiong,et al."Runtime engine for dynamic profile guided stride prefetching".JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY 23.4(2008):633-643. |
条目包含的文件 | 条目无相关文件。 |
除非特别说明,本系统中所有内容都受版权保护,并保留所有权利。
修改评论