CrossPrefetch: Accelerating I/O Prefetching for Modern Storage

被引:1
作者
Garg, Shaleen [1 ]
Zhang, Jian [1 ]
Pitchumani, Rekha [2 ]
Parashar, Manish [3 ]
Xie, Bing [4 ]
Kannan, Sudarsun [1 ]
机构
[1] Rutgers State Univ, Piscataway, NJ 08855 USA
[2] Samsung, Ridgefield Pk, NJ USA
[3] Univ Utah, Salt Lake City, UT USA
[4] Microsoft, Redmond, WA USA
来源
PROCEEDINGS OF THE 29TH ACM INTERNATIONAL CONFERENCE ON ARCHITECTURAL SUPPORT FOR PROGRAMMING LANGUAGES AND OPERATING SYSTEMS, ASPLOS 2024, VOL 1 | 2024年
关键词
D O I
10.1145/3617232.3624872
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
We introduce CrossPrefetch, a novel cross-layered I/O prefetching mechanism that operates across the OS and a user-level runtime to achieve optimal performance. Existing OS prefetching mechanisms suffer from rigid interfaces that do not provide information to applications on the prefetch effectiveness, suffer from high concurrency bottlenecks, and are inefficient in utilizing available system memory. CrossPrefetch addresses these limitations by dividing responsibilities between the OS and runtime, minimizing overhead, and achieving low cache misses, lock contentions, and higher I/O performance. CrossPrefetch tackles the limitations of rigid OS prefetching interfaces by maintaining and exporting cache state and prefetch effectiveness to user-level runtimes. It also addresses scalability and concurrency bottlenecks by distinguishing between regular I/O and prefetch operations paths and introduces fine-grained prefetch indexing for shared files. Finally, CrossPrefetch designs low-interference access pattern prediction combined with support for adaptive and aggressive techniques to exploit memory capacity and storage bandwidth. Our evaluation of CrossPrefetch, encompassing microbenchmarks, macrobenchmarks, and real-world workloads, illustrates performance gains of up to 1.22x-3.7x in I/O throughput. We also evaluate CrossPrefetch across different file systems and local and remote storage configurations.
引用
收藏
页码:102 / 116
页数:15
相关论文
共 50 条
  • [31] I/O Acceleration via Multi-Tiered Data Buffering and Prefetching
    Anthony Kougkas
    Hariharan Devarajan
    Xian-He Sun
    Journal of Computer Science and Technology, 2020, 35 : 92 - 120
  • [32] Tight bounds for prefetching and buffer management algorithms for parallel I/O systems
    Varman, PJ
    Verma, RM
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 1999, 10 (12) : 1262 - 1275
  • [33] Combating I-O bottleneck using prefetching: model, algorithms, and ramifications
    Verma, Akshat
    Sen, Sandeep
    JOURNAL OF SUPERCOMPUTING, 2008, 45 (02) : 205 - 235
  • [34] A Paravirtualized File System for Accelerating File I/O
    Lee, Kihong
    Lee, Dongwoo
    Eom, Young Ik
    2014 INTERNATIONAL CONFERENCE ON BIG DATA AND SMART COMPUTING (BIGCOMP), 2014, : 309 - 313
  • [35] An End-to-end and Adaptive I/O Optimization Tool for Modern HPC Storage Systems
    Yang, Bin
    Zou, Yanliang
    Liu, Weiguo
    Xue, Wei
    2022 IEEE 36TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS 2022), 2022, : 1294 - 1304
  • [36] Designing a modern memory hierarchy with hardware prefetching
    Lin, WF
    Reinhardt, SK
    Burger, D
    IEEE TRANSACTIONS ON COMPUTERS, 2001, 50 (11) : 1202 - 1218
  • [37] Accelerating BFS via Data Structure-Aware Prefetching on GPU
    Guo, Hui
    Huang, Libo
    Lu, Yashuai
    Ma, Jianqiao
    Qian, Cheng
    Ma, Sheng
    Wang, Zhiying
    IEEE ACCESS, 2018, 6 : 60234 - 60248
  • [38] PC-OPT: Optimal offline prefetching and caching for parallel I/O systems
    Kallahalla, M
    Varman, PJ
    IEEE TRANSACTIONS ON COMPUTERS, 2002, 51 (11) : 1333 - 1344
  • [39] Pre-execution Data Prefetching with Inter-thread I/O Scheduling
    Zhao, Yue
    Yoshigoe, Kenji
    Xie, Mengjun
    SUPERCOMPUTING (ISC 2013), 2013, 7905 : 395 - 407
  • [40] Data Prefetching for Large Tiered Storage Systems
    Cherubini, Giovanni
    Kim, Yusik
    Lantz, Mark
    Venkatesan, Vinodh
    2017 17TH IEEE INTERNATIONAL CONFERENCE ON DATA MINING (ICDM), 2017, : 823 - 828