Compiler-based I/O prefetching for out-of-core applications

被引:35
|
作者
Brown, AD
Mowry, TC
Krieger, O
机构
[1] Carnegie Mellon Univ, Dept Comp Sci, Pittsburgh, PA 15213 USA
[2] IBM Corp, Thomas J Watson Res Ctr, Yorktown Hts, NY 10598 USA
来源
ACM TRANSACTIONS ON COMPUTER SYSTEMS | 2001年 / 19卷 / 02期
关键词
performance; design; experimentation; virtual memory; compiler optimization; prefetching;
D O I
10.1145/377769.377774
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Current operating systems offer poor performance when a numeric application's working set does not fit in main memory. As a result, programmers who wish to solve "out-of-core" problems efficiently are typically faced with the onerous task of rewriting an application to use explicit I/O operations (e.g., read/write). In this paper, we propose and evaluate a fully automatic technique which liberates the programmer from this task, provides high performance, and requires only minimal changes to current operating systems. In our scheme the compiler provides the crucial information on future access patterns without burdening the programmer; the operating system supports nonbinding prefetch and release hints for managing I/O; and the operating system cooperates with a run-time layer to accelerate performance by adapting to dynamic behavior and minimizing prefetch overhead. This approach maintains the abstraction of unlimited virtual memory for the programmer, gives the compiler the flexibility to aggressively insert prefetches ahead of references, and gives the operating system the flexibility to arbitrate between the competing resource demands of multiple applications. We implemented our compiler analysis within the SUIF compiler, and used it to target implementations of our run-time and OS support on both research and commercial systems (Hurricane and IRIX 6.5, respectively). Our experimental results show large performance gains for out-of-core scientific applications on both systems: more than 50% of the I/O stall time has been eliminated in most cases, thus translating into overall speedups of roughly twofold in many cases.
引用
收藏
页码:111 / 170
页数:60
相关论文
共 50 条
  • [1] Automatic compiler-inserted I/O prefetching for out-of-core applications
    Mowry, TC
    Demke, AK
    Krieger, O
    [J]. PROCEEDINGS OF THE SECOND SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION (OSDI '96), 1996, : 3 - 17
  • [2] Compiler-based prefetching for recursive data structures
    Luk, CK
    Mowry, TC
    [J]. ACM SIGPLAN NOTICES, 1996, 31 (09) : 222 - 233
  • [3] Visibility-based prefetching for interactive out-of-core rendering
    Corrêa, WT
    Klosowski, JT
    Silva, CT
    [J]. PVG 2003 PROCEEDINGS, 2003, : 1 - 8
  • [4] Out-of-core streamline visualisation based on adaptive partitioning and data prefetching
    Guo, Yumeng
    Wang, Wenke
    Li, Sikun
    [J]. INTERNATIONAL JOURNAL OF COMPUTATIONAL SCIENCE AND ENGINEERING, 2019, 20 (02) : 200 - 208
  • [5] Spatial prefetching for out-of-core visualization of multidimensional data
    Lipsa, Dan R.
    Rhodes, Philip J.
    Bergeron, R. Daniel
    Sparr, Ted M.
    [J]. VISUALIZATION AND DATA ANALYSIS 2007, 2007, 6495
  • [6] Global I/O optimizations for out-of-core computations
    Kandemir, M
    Kandaswamy, M
    Choudhary, A
    [J]. FOURTH INTERNATIONAL CONFERENCE ON HIGH-PERFORMANCE COMPUTING, PROCEEDINGS, 1997, : 401 - 406
  • [7] The practice of I/O optimizations for out-of-core computation
    Tang, JQ
    Fang, BX
    Hu, MZ
    Zhang, HL
    [J]. PARALLEL AND DISTRIBUTED COMPUTING: APPLICATIONS AND TECHNOLOGIES, PROCEEDINGS, 2004, 3320 : 81 - 85
  • [8] Transforming the adaptive irregular out-of-core applications for hiding communication and disk I/O
    Hu, Changjun
    Yao, Guangli
    Wang, Jue
    Li, Jianjiang
    [J]. ON THE MOVE TO MEANINGFUL INTERNET SYSTEMS 2007: COOPIS, DOA, ODBASE, GADA, AND IS, PT 2, PROCEEDINGS, 2007, 4804 : 1200 - 1213
  • [9] ArmorAll: Compiler-based Resilience Targeting GPU Applications
    Kalra, Charu
    Previlon, Fritz
    Rubin, Norm
    Kaeli, David
    [J]. ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 2020, 17 (02)
  • [10] REDUCING THE I/O VOLUME IN SPARSE OUT-OF-CORE MULTIFRONTAL METHODS
    Agullo, Emmanuel
    Guermouche, Abdou
    L'Excellent, Jean-Yves
    [J]. SIAM JOURNAL ON SCIENTIFIC COMPUTING, 2010, 31 (06): : 4774 - 4794