Abstract
In this paper, we revisit the classical data management problem of page replacement. We propose Write-Aware Timestamp Tracking (WATT), a novel replacement algorithm that is optimized for modern hardware. By explicitly tracking the access history of each cached page, WATT achieves state-of-the-art replacement effectiveness. WATT is also carefully co-designed with modern multi-core CPUs and can be implemented with very low overhead. Finally, WATT allows trading of read versus write I/O operations, which is useful for prolonging flash SSD lifetime.
- Adnan Alhomssi, Michael Haubenschild, and Viktor Leis. 2023. The Evolution of LeanStore. In BTW (LNI), Vol. P-331. 259--281.Google Scholar
- Aaron Blankstein, Siddhartha Sen, and Michael J. Freedman. 2017. Hyperbolic Caching: Flexible Caching for Web Applications. In USENIX ATC. 499--511.Google Scholar
- K. Delaney, B. Beauchemin, C. Cunningham, J. Kehayias, B. Nevarez, and P.S. Randal. 2013. Microsoft SQL Server 2012 Internals. Microsoft Press.Google Scholar
- Gabriel Haas, Michael Haubenschild, and Viktor Leis. 2020. Exploiting Directly-Attached NVMe Arrays in DBMS. In CIDR.Google Scholar
- IBM. 2023. DB2 - Choosing a page-stealing algorithm. Retrieved July 10, 2023 from https://www.ibm.com/docs/en/db2-for-zos/12?topic=pools-choosing-page-stealing-algorithmGoogle Scholar
- Ryan Johnson, Ippokratis Pandis, Nikos Hardavellas, Anastasia Ailamaki, and Babak Falsafi. 2009. Shore-MT: a scalable storage manager for the multicore era. In EDBT, Martin L. Kersten, Boris Novikov, Jens Teubner, Vladimir Polutin, and Stefan Manegold (Eds.), Vol. 360. 24--35.Google Scholar
- Theodore Johnson and Dennis E. Shasha. 1994. 2Q: A Low Overhead High Performance Buffer Management Replacement Algorithm. In VLDB, Jorge B. Bocca, Matthias Jarke, and Carlo Zaniolo (Eds.). 439--450.Google Scholar
- Hoyoung Jung, Hyoki Shim, Sungmin Park, Sooyong Kang, and Jaehyuk Cha. 2008. LRU-WSR: integration of LRU and writes sequence reordering for flash memory. IEEE Transactions on Consumer Electronics 54, 3 (2008), 1215--1223.Google ScholarDigital Library
- Viktor Leis, Michael Haubenschild, Alfons Kemper, and Thomas Neumann. 2018. LeanStore: In-Memory Data Management beyond Main Memory. In ICDE. 185--196.Google Scholar
- Viktor Leis, Florian Scheibner, Alfons Kemper, and Thomas Neumann. 2016. The ART of practical synchronization. In DaMoN.Google Scholar
- MariaDB. 2023. InnoDB Buffer Pool. Retrieved July 10, 2023 from https://mariadb.com/kb/en/innodb-buffer-pool/Google Scholar
- Diego Mazzeo. 2023. Page Replacement Algorithm: Clock Sweep. Retrieved July 10, 2023 from https://www.interdb.jp/pg/pgsql08.html#_8.4.4.Google Scholar
- Nimrod Megiddo and Dharmendra S. Modha. 2003. ARC: A Self-Tuning, Low Overhead Replacement Cache. In FAST.Google Scholar
- MySQL. 2023. Buffer Pool. Retrieved July 10, 2023 from https://dev.mysql.com/doc/refman/8.0/en/innodb-buffer-pool.htmlGoogle Scholar
- Elizabeth J. O'Neil, Patrick E. O'Neil, and Gerhard Weikum. 1993. The LRU-K Page Replacement Algorithm for Database Disk Buffering. In SIGMOD. 297--306.Google Scholar
- Oracle. 2023. Buffer Replacement Algorithms. Retrieved July 10, 2023 from https://docs.oracle.com/en/database/oracle/oracle-database/21/cncpt/memory-architecture.html#GUID-D1429BAA-6543-4B34-93DB-C8F33D497B53Google Scholar
- Tarikul Islam Papon and Manos Athanassoulis. 2023. ACEing the Bufferpool Management Paradigm for Modern Storage Devices. (2023). Retrieved July 10, 2023 from https://cs-people.bu.edu/mathan/publications/icde23-papon.pdfGoogle Scholar
- Seon-yeong Park, Dawoon Jung, Jeong-uk Kang, Jin-soo Kim, and Joonwon Lee. 2006. CFLRU: a replacement algorithm for flash memory. In International conference on Compilers, architecture and synthesis for embedded systems. 234--241.Google Scholar
- PostgreSQL. 2023. Release Notes PostgreSQL 8.0.2. Retrieved July 10, 2023 from https://www.postgresql.org/docs/release/8.0.2/Google Scholar
- Samsung. 2023. Samsung PCIe Gen 4-enabled PM1733 SSD. Retrieved July 10, 2023 from https://semiconductor.samsung.com/ssd/enterprise-ssd/pm1733-pm1735/mzwlj3t8hbls-00007/Google Scholar
- SciPy. 2023. SciPy Documentation for Zipfian. Retrieved July 10, 2023 from https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.zipfian.htmlGoogle Scholar
- Pinar Tözün, Ippokratis Pandis, Cansu Kaynak, Djordje Jevdjic, and Anastasia Ailamaki. 2013. From A to E: analyzing TPC's OLTP benchmarks: the obsolete, the ubiquitous, the unexplored. In EDBT. 17--28.Google Scholar
- WiredTiger. 2023. Eviction in WiredTiger. Retrieved July 10, 2023 from https://source.wiredtiger.com/11.0.0/eviction.htmlGoogle Scholar
Recommendations
A Case for MLP-Aware Cache Replacement
ISCA '06: Proceedings of the 33rd annual international symposium on Computer ArchitecturePerformance loss due to long-latency memory accesses can be reduced by servicing multiple memory accesses concurrently. The notion of generating and servicing long-latency cache misses in parallel is called Memory Level Parallelism (MLP). MLP is not ...
Comments