Skip to main content
Log in

Flash as cache extension for online transactional workloads

  • Special Issue Paper
  • Published:
The VLDB Journal Aims and scope Submit manuscript

Abstract

Considering the current price gap between hard disk and flash memory SSD storages, for applications dealing with large-scale data, it will be economically more sensible to use flash memory drives to supplement disk drives rather than to replace them. This paper presents FaCE, which is a new low-overhead caching strategy that uses flash memory as an extension to the RAM buffer of database systems. FaCE aims at improving the transaction throughput as well as shortening the recovery time from a system failure. To achieve the goals, we propose two novel algorithms for flash cache management, namely multi-version FIFO replacement and group second chance. This was possible due to flash write optimization as well as disk access reduction obtained by the FaCE caching methods. In addition, FaCE takes advantage of the nonvolatility of flash memory to fully support database recovery by extending the scope of a persistent database to include the data pages stored in the flash cache. We have implemented FaCE in the PostgreSQL open-source database server and demonstrated its effectiveness for TPC-C benchmarks in comparison with existing caching methods such as Lazy Cleaning and Linux Bcache.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14

Similar content being viewed by others

Notes

  1. The write-around policy and its variants are suggested for streaming and OLAP workloads to avoid polluting the cache [2]. We do not discuss them further in this paper, because our focus is on OLTP workloads.

  2. Each segment contains 64,000 meta-data entries of 32 bytes each. Among the 40 segments required for a 10 GB flash cache, 38 of them are fetched directly from flash memory and the rest are rebuilt when the checksum of the data page and stored checksum in the meta-data directory are the same.

References

  1. Ashdown, L., Kyte, T.: Oracle Database Concepts 11g Release 2. Oracle Corporation. https://docs.oracle.com/cd/E11882_01/server.112/e40540.pdf (2015)

  2. Athanassoulis, M., Chen, S., Ailamaki, A., Gibbons, P.B., Stoica, R.: MaSM: efficient online updates in data warehouses. In: Proceedings of the 2011 ACM SIGMOD International Conference on Management of Data, SIGMOD ’11, pp. 865–876 (2011)

  3. Axboe, J.: blktrace: Block Layer IO Tracing Tool. http://git.kernel.org/cgit/linux/kernel/git/axboe/blktrace.git

  4. Axboe, J.: FIO (Flexible IO Tester). https://github.com/axboe/fio.git

  5. Balakrishnan, M., Malkhi, D., Wobber, T., Wu, M., Prabhakaran, V., Wei, M., Davis, J.D., Rao, S., Zou, T., Zuck, A.: Tango: distributed data structures over a shared log. In: Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles, SOSP ’13, pp. 325–340 (2013)

  6. Belady, L.A., Nelson, R.A., Shedler, G.S.: An anomaly in space–time characteristics of certain programs running in a paging machine. Commun. ACM 12(6), 349–353 (1969)

    Article  Google Scholar 

  7. Bernstein, P.A., Das, S., Ding, B., Pilman, M.: Optimizing optimistic concurrency control for tree-structured, log-structured databases. In: Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data, SIGMOD ’15, pp. 1295–1309 (2015)

  8. Bernstein, P.A., Reid, C.W., Das, S.: Hyder—a transactional record manager for shared flash. In: CIDR 2011, Fifth Biennial Conference on Innovative Data Systems Research, Asilomar, CA, USA, January 9–12, Online Proceedings, pp. 9–20 (2011)

  9. Bhattacharjee, B., Ross, K.A., Lang, C., Mihaila, G.A., Banikazemi, M.: Enhancing recovery using an SSD buffer pool extension. In: Proceedings of the Seventh International Workshop on Data Management on New Hardware, DaMoN ’11, pp. 10–16 (2011)

  10. Canim, M., Mihaila, G.A., Bhattacharjee, B., Ross, K.A., Lang, C.A.: An object placement advisor for DB2 using solid state storage. Proc. VLDB Endow. 2(2), 1318–1329 (2009)

    Article  Google Scholar 

  11. Canim, M., Mihaila, G.A., Bhattacharjee, B., Ross, K.A., Lang, C.A.: SSD bufferpool extensions for database systems. Proc. VLDB Endow. 3(1–2), 1435–1446 (2010)

    Article  Google Scholar 

  12. Chen, F., Lee, R., Zhang, X.: Essential roles of exploiting internal parallelism of flash memory based solid state drives in high-speed data processing. In: Proceedings of the 2011 IEEE 17th International Symposium on High Performance Computer Architecture, HPCA ’11, pp. 266–277 (2011)

  13. Do, J., Zhang, D., Patel, J.M., DeWitt, D.J.: Fast peak-to-peak behavior with SSD buffer pool. In: 29th IEEE International Conference on Data Engineering, ICDE 2013, Brisbane, Australia, April 8–12, pp. 1129–1140 (2013)

  14. Do, J., Zhang, D., Patel, J.M., DeWitt, D.J., Naughton, J.F., Halverson, A.: Turbocharging DBMS buffer pool using SSDs. In: Proceedings of the 2011 ACM SIGMOD International Conference on Management of Data, SIGMOD ’11, pp. 1113–1124 (2011)

  15. DramExchange: Price Quites. http://www.dram-exchange.com/Price/NationalDramDetail.aspx

  16. Fusion-IO: IOTurbine. http://www.fusionio.com/products/ioturbine

  17. Gray, J., Fitzgerald, B.: Flash disk opportunity for server applications. Queue 6(4), 18–23 (2008)

    Article  Google Scholar 

  18. Gray, J., Reuter, A.: Transaction Processing: Concepts and Technique. Morgan Kaufmann, Burlington (1993)

    MATH  Google Scholar 

  19. Hsu, W.W., Smith, A.J., Young, H.C.: Characteristics of production database workloads and the TPC benchmarks. IBM Syst. J. 40(3), 781–802 (2001)

    Article  Google Scholar 

  20. Intel: Intel Cache Acceleration Software. http://www.intel.com/content/www/us/en/software/intel-cache-acceleration-software-performance.html

  21. Intel: Solid-State Drives in Server Storage Applications. http://www.intel.com/content/dam/www/public/us/en/documents/white-papers/ssd-server-storage-applications-paper.pdf

  22. Johnson, R., Pandis, I., Hardavellas, N., Ailamaki, A., Falsafi, B.: Shore-MT: a scalable storage manager for the multicore era. In: Proceedings of the 12th International Conference on Extending Database Technology: Advances in Database Technology, EDBT ’09, pp. 24–35 (2009)

  23. Kang, W.H., Lee, S.W., Moon, B.: Flash-based extended cache for higher throughput and faster recovery. Proc. VLDB Endow. 5(11), 1615–1626 (2012)

    Article  Google Scholar 

  24. Kang, W.H., Lee, S.W., Moon, B., Kee, Y.S., Oh, M.: Durable write cache in flash memory SSD for relational and NoSQL databases. In: Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data, SIGMOD ’14, pp. 529–540 (2014)

  25. Koltsidas, I., Viglas, S.D.: Flashing up the storage layer. Proc. VLDB Endow. 1(1), 514–525 (2008)

    Article  Google Scholar 

  26. Lee, S.W., Moon, B., Park, C.: Advances in flash memory SSD technology for enterprise database applications. In: Proceedings of the 2009 ACM SIGMOD International Conference on Management of Data, SIGMOD ’09, pp. 863–870 (2009)

  27. Lee, S.W., Moon, B., Park, C., Kim, J.M., Kim, S.W.: A case for flash memory SSD in enterprise database applications. In: Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data, SIGMOD ’08, pp. 1075–1086 (2008)

  28. Liu, X., Salem, K.: Hybrid storage management for database systems. Proc. VLDB Endow. 6(8), 541–552 (2013)

    Article  Google Scholar 

  29. Lussier, D., Martin, S.: The BenchmarkSQL Project. http://benchmarksql.sourceforge.net

  30. Oracle Corporation: Oracle TPC Benchmark C Full Disclosure Report. http://c970058.r58.cf2.rackcdn.com/fdr/tpcc/Oracle_SPARC_SuperCluster_with_T3-4s_TPCC_FDR_120210.pdf (2010)

  31. Overstreet, K.: bcache. http://bcache.evilpiepirate.org

  32. Samsung: Samsung Solid State Drive White Paper. http://www.samsung.com/global/business/semiconductor/minisite/SSD/us/html/whitepaper/whitepaper.html

  33. SanDisk: FlashSoft. http://www.sandisk.com/enterprise/flashsoft

  34. Sears, R., Ramakrishnan, R.: bLSM: a general purpose log structured merge tree. In: Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data, SIGMOD ’12, pp. 217–228 (2012)

  35. Srinivasan, M., Saab, P.: FlashCache. https://github.com/facebook/flashcache

  36. STEC: EnhanceIO SSD Caching Software. https://github.com/stec-inc/EnhanceIO

  37. Subramaniam, M.: Exadata Smart Flash Cache Features and the Oracle Exadata Database Machine. Oracle Corporation. http://www.oracle.com/technetwork/database/exadata/exadatasmart-flash-cache-366203.pdf (2013)

  38. Tsuei, T.F., Packer, A.N., Ko, K.T.: Database buffer size investigation for OLTP workloads. In: Proceedings of the 1997 ACM SIGMOD International Conference on Management of Data, SIGMOD ’97, pp. 112–122 (1997)

  39. Willick, D., Eager, D., Bunt, R.: Disk cache replacement policies for network fileservers. In: Proceedings of the 13th International Conference on Distributed Computing Systems, pp. 2–11 (1993)

  40. Zhao, M.: DM-cache cache target for device-mapper. https://github.com/mingzhao/dm-cache

  41. Zhou, Y., Philbin, J., Li, K.: The multi-queue replacement algorithm for second level buffer caches. In: Proceedings of the General Track: 2001 USENIX Annual Technical Conference, pp. 91–104 (2001)

Download references

Acknowledgments

Sang-Won Lee and Bongki Moon are the corresponding authors of this paper. This research was supported in part by Institute for Information & communications Technology Promotion (IITP) (R0126-15-1088) and the IT R&D program of MKE/KEIT [10041244, SmartTV 2.0 Software Platform]. This work was also partly supported by the National Research Foundation of Korea (NRF) Grant (No. 2015R1A5A7037372) funded by the Korean Government (MSIP).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sang-Won Lee.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Kang, WH., Lee, SW. & Moon, B. Flash as cache extension for online transactional workloads. The VLDB Journal 25, 673–694 (2016). https://doi.org/10.1007/s00778-015-0414-1

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00778-015-0414-1

Keywords

Navigation