skip to main content
10.1145/3599691.3603408acmconferencesArticle/Chapter ViewAbstractPublication PageshotstorageConference Proceedingsconference-collections
research-article

P2Cache: An Application-Directed Page Cache for Improving Performance of Data-Intensive Applications

Published: 10 July 2023 Publication History

Abstract

We propose P2Cache, an application-directed kernel-level page cache that allows an application developer to build a custom kernel-level page cache that matches the I/O characteristics of a target application. P2Cache extends a Linux kernel page cache by adding new probe points that are used to support application-programmable kernel page caches by eBPF programs. Our experimental results show that custom page caches implemented with our P2Cache achieve up to 32% performance improvement in data-intensive graph applications with little effort.

References

[1]
Xiaowei Zhu, Wentao Han, and Wenguang Chen. GridGraph: Large-Scale Graph Processing on a Single Machine Using 2-Level Hierarchical Partitioning. In Proceedings of the USENIX Annual Technical Conference (ATC), 2015.
[2]
Keval Vora. LUMOS: Dependency-Driven Disk-based Graph Processing. In Proceeindgs of the USENIX Annual Technical Conference (ATC), 2019.
[3]
Zhiyuan Shao, Jian He, Huiming Lv, and Hai Jin. FOG: A Fast Out-of-Core Graph Processing Framework. International Journal of Parallel Programming, 45(6):1259--1272, 2017.
[4]
Rui Wang, Yongkun Li, Yinlong Xu Hong Xie and, and John C. S. Lui. GraphWalker: An I/O-Efficient and Resource-Friendly Graph Analytic System for Fast and Scalable Random Walks. In Proceedings of the USENIX Annual Technical Conference (ATC), 2020.
[5]
MyRocks. MyRocks | A RocksDB Storage Engine with MySQL. http://myrocks.io/, 2020.
[6]
PostgreSQL. PostgreSQL: The World's Most Advanced Open Source Relational Database. https://www.postgresql.org/, 2023.
[7]
SQLite. About SQLite. https://sqlite.org/index.html, 2023.
[8]
Stephen Macke - GitHub. smacke/jaydio: A Java Library to Perform Direct I/O in Linux, Bypassing File Page Cache. https://github.com/smacke/jaydio, 2021.
[9]
EighteenZi - GitHub. Direct-IO.md. https://github.com/EighteenZi/rocksdb_wiki/blob/master/Direct-IO.md, 2017.
[10]
eBPF. eBPF Documentation. https://ebpf.io/what-is-ebpf/, 2022.
[11]
Viacheslav Fedorov, Jinchun Kim, Mian Qin, Paul V Gratz, and AL Narasimha Reddy. Speculative Paging for Future NVM Storage. In Proceedings of the International Symposium on Memory Systems (MEMSYS), 2017.
[12]
The kernel development community. Memory Management. https://www.kernel.org/doc/html/latest/admin-guide/mm/index.html, 2023.
[13]
Jonathan Corbet. The future of the page cache. https://lwn.net/Articles/712467/, 2017.
[14]
Hao Luo, Pengcheng Li, and Chen Ding. Thread Data Sharing in Cache: Theory and Measurement. In Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP), 2017.
[15]
Wikipedia. PageRank. https://en.wikipedia.org/wiki/PageRank, 2023.
[16]
Linux. fadvise(1) --- Linux manual page. https://man7.org/linux/man-pages/man1/fadvise.1.html, 2022.
[17]
Linux. madvise(2) --- Linux manual page. https://man7.org/linux/man-pages/man2/madvise.2.html, 2021.
[18]
RocksDB. RocksDB | A persistent key-value store. https://rocksdb.org/, 2022.
[19]
Glen Jeh and Jennifer Widom. SimRank: A Measure of Structural-Context Similarity. In Proceedings of the ACM SIGKDD International Conference on Knowledge Discovery & Data Mining (KDD), 2002.
[20]
Stanford University. LiveJournal social network. https://snap.stanford.edu/data/soc-LiveJournal1.html, 2006.
[21]
Stanford University. Twitter follower network. https://snap.stanford.edu/data/twitter-2010.html, 2010.
[22]
Linux. cgroups - Linux control groups. https://man7.org/linux/man-pages/man7/cgroups.7.html, 2021.

Cited By

View all
  • (2024)FetchBPFProceedings of the 2024 USENIX Conference on Usenix Annual Technical Conference10.5555/3691992.3692014(369-378)Online publication date: 10-Jul-2024
  • (2024)SafeBPF: Hardware-assisted Defense-in-depth for eBPF Kernel ExtensionsProceedings of the 2024 on Cloud Computing Security Workshop10.1145/3689938.3694781(80-94)Online publication date: 19-Nov-2024

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
HotStorage '23: Proceedings of the 15th ACM Workshop on Hot Topics in Storage and File Systems
July 2023
131 pages
ISBN:9798400702242
DOI:10.1145/3599691
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

In-Cooperation

  • USENIX

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 10 July 2023

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Conference

HotStorage '23
Sponsor:

Acceptance Rates

Overall Acceptance Rate 34 of 87 submissions, 39%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)166
  • Downloads (Last 6 weeks)15
Reflects downloads up to 13 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)FetchBPFProceedings of the 2024 USENIX Conference on Usenix Annual Technical Conference10.5555/3691992.3692014(369-378)Online publication date: 10-Jul-2024
  • (2024)SafeBPF: Hardware-assisted Defense-in-depth for eBPF Kernel ExtensionsProceedings of the 2024 on Cloud Computing Security Workshop10.1145/3689938.3694781(80-94)Online publication date: 19-Nov-2024

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media