skip to main content
research-article
Artifacts Available / v1.1

Write-Aware Timestamp Tracking: Effective and Efficient Page Replacement for Modern Hardware

Published:01 July 2023Publication History
Skip Abstract Section

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.

References

  1. Adnan Alhomssi, Michael Haubenschild, and Viktor Leis. 2023. The Evolution of LeanStore. In BTW (LNI), Vol. P-331. 259--281.Google ScholarGoogle Scholar
  2. Aaron Blankstein, Siddhartha Sen, and Michael J. Freedman. 2017. Hyperbolic Caching: Flexible Caching for Web Applications. In USENIX ATC. 499--511.Google ScholarGoogle Scholar
  3. K. Delaney, B. Beauchemin, C. Cunningham, J. Kehayias, B. Nevarez, and P.S. Randal. 2013. Microsoft SQL Server 2012 Internals. Microsoft Press.Google ScholarGoogle Scholar
  4. Gabriel Haas, Michael Haubenschild, and Viktor Leis. 2020. Exploiting Directly-Attached NVMe Arrays in DBMS. In CIDR.Google ScholarGoogle Scholar
  5. 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 ScholarGoogle Scholar
  6. 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 ScholarGoogle Scholar
  7. 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 ScholarGoogle Scholar
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. Viktor Leis, Michael Haubenschild, Alfons Kemper, and Thomas Neumann. 2018. LeanStore: In-Memory Data Management beyond Main Memory. In ICDE. 185--196.Google ScholarGoogle Scholar
  10. Viktor Leis, Florian Scheibner, Alfons Kemper, and Thomas Neumann. 2016. The ART of practical synchronization. In DaMoN.Google ScholarGoogle Scholar
  11. MariaDB. 2023. InnoDB Buffer Pool. Retrieved July 10, 2023 from https://mariadb.com/kb/en/innodb-buffer-pool/Google ScholarGoogle Scholar
  12. Diego Mazzeo. 2023. Page Replacement Algorithm: Clock Sweep. Retrieved July 10, 2023 from https://www.interdb.jp/pg/pgsql08.html#_8.4.4.Google ScholarGoogle Scholar
  13. Nimrod Megiddo and Dharmendra S. Modha. 2003. ARC: A Self-Tuning, Low Overhead Replacement Cache. In FAST.Google ScholarGoogle Scholar
  14. MySQL. 2023. Buffer Pool. Retrieved July 10, 2023 from https://dev.mysql.com/doc/refman/8.0/en/innodb-buffer-pool.htmlGoogle ScholarGoogle Scholar
  15. 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 ScholarGoogle Scholar
  16. 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 ScholarGoogle Scholar
  17. 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 ScholarGoogle Scholar
  18. 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 ScholarGoogle Scholar
  19. PostgreSQL. 2023. Release Notes PostgreSQL 8.0.2. Retrieved July 10, 2023 from https://www.postgresql.org/docs/release/8.0.2/Google ScholarGoogle Scholar
  20. 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 ScholarGoogle Scholar
  21. SciPy. 2023. SciPy Documentation for Zipfian. Retrieved July 10, 2023 from https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.zipfian.htmlGoogle ScholarGoogle Scholar
  22. 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 ScholarGoogle Scholar
  23. WiredTiger. 2023. Eviction in WiredTiger. Retrieved July 10, 2023 from https://source.wiredtiger.com/11.0.0/eviction.htmlGoogle ScholarGoogle Scholar

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in

Full Access

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader