Skip to main content
Log in

Efficient Buffer Management for Tree Indexes on Solid State Drives

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

Recently, with the widely use of flash memory based solid state drives (SSDs), a lot of studies have been conducted on SSD-based data management, such as index structures, query processing, and buffer management schemes. This paper focuses on buffer schemes for SSD-based database systems. However, differing from previous studies, we concentrate on buffer schemes for tree indexes on SSDs. This work is motivated by the observation that access patterns on index pages are much different from those on data pages. Generally, in a typical tree index, e.g., B+-tree, the root and internal nodes have higher read frequencies than leaf nodes have. However, traditional SSD-oriented buffering methods do not consider this special feature of indexes, and thus is not efficient when used as index buffer management schemes. In this paper, we present a new buffering scheme for tree indexes on SSDs that is named Clean-First and Dirty-Redundant-Write (CFDRW) scheme. The contributions of CFDRW are manifold. First, it assigns priorities to index pages to reflect the differences of access patterns of the nodes in a tree index. Second, it uses priority and recency to detect the hotness of index pages and proposes a new replacement algorithm based on priority and recency of the buffered index pages. Third, it exploits the internal parallelism of SSDs and proposes to write out buffer pages in a coarse granularity, i.e., to write out several pages using one physical I/O operation. We compare our proposal on two commodity SSDs with many previous methods including LRU, LIRS, and six flash-memory-based buffering schemes, by using synthetic and real workloads. The results show that our proposal outperforms the competitors under all workloads and SSDs in terms of various metrics including hit ratio, read count, write count, and elapsed time.

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

Similar content being viewed by others

References

  1. IBM information center for DB2. http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp

  2. Iometer project. http://www.iometer.org/

  3. MyISAM. http://dev.mysql.com/doc/refman/5.1/en/myisam-storage-engine.html

  4. Agrawal, N., Prabhakaran, V., Wobber, T., Davis, J.D., Manasse, M.S., Panigrahy, R.: Design Tradeoffs for SSD Performance. In: USENIX Annual Technical Conference, pp. 57–70 (2008)

  5. Graefe, G.: Write-optimized b-trees. In: Proceedings of the Thirtieth international conference on Very large data bases, vol. 30, pp. 672–683. VLDB Endowment (2004)

  6. Jiang, S., Zhang, X.: LIRS: an efficient low inter-reference recency set replacement policy to improve buffer cache performance. ACM SIGMETRICS Perform. Eval. Rev. 30(1), 31–42 (2002)

    Article  Google Scholar 

  7. Jin, P., Ou, Y., Härder, T., Li, Z.: AD-LRU: an efficient buffer replacement algorithm for flash-based databases. Data Knowl. Eng. 72, 83–102 (2012)

    Article  Google Scholar 

  8. Jung, H., Shim, H., Park, S., Kang, S., Cha, J.: LRU-WSR: integration of LRU and writes sequence reordering for flash memory. IEEE Trans. Consum. Electron. 54(3), 1215–1223 (2008)

    Article  Google Scholar 

  9. Jung, H., Yoon, K., Shim, H., Park, S., Kang, S., Cha, J.: LIRS-WSR: Integration of LIRS and writes sequence reordering for flash memory. In: Computational Science and Its Applications-ICCSA 2007, pp. 224–237. Springer, Berlin (2007)

  10. Lee, H.S., Lee, D.H.: An efficient index buffer management scheme for implementing a B-tree on NAND flash memory. Data Knowl. Eng. 69(9), 901–916 (2010)

    Article  Google Scholar 

  11. Li, Z., Jin, P., Su, X., Cui, K., Yue, L.: CCF-LRU: a new buffer replacement algorithm for flash memory. IEEE Trans. Consum. Electron. 55(3), 1351–1359 (2009)

    Article  Google Scholar 

  12. Lv, Y., Cui, B., He, B., Chen, X.: Operation-aware buffer management in flash-based systems. In: Proceedings of the 2011 ACM SIGMOD International Conference on Management of data, pp. 13–24. ACM, New York (2011)

  13. Nath, S., Kansal, A.: FlashDB: dynamic self-tuning database for NAND flash. In: Proceedings of the 6th International Conference on Information Processing in Sensor Networks. pp. 410–419. ACM, New York (2007)

  14. On, S.T., Hu, H., Li, Y., Xu, J.: Lazy-update b+-tree for flash devices. In: Proceeding of MDM, pp. 323–328 (2009)

  15. Ou, Y., Härder, T.: Clean first or dirty first? A cost-aware self-adaptive buffer replacement policy. In: Proceedings of the Fourteenth International Database Engineering and Applications Symposium, pp. 7–14. ACM, New York (2010)

  16. Ou, Y., Härder, T., Jin, P.: CFDC: a flash-aware replacement policy for database buffer management. In: Proceedings of the Fifth International Workshop on Data Management on New Hardware, pp. 15–20. ACM, New York (2009)

  17. Park, S.Y., Jung, D., Kang, J.U., Kim, J.S., Lee, J.: CFLRU: a replacement algorithm for flash memory. In: Proceedings of the 2006 International Conference on Compilers, Architecture and Synthesis for Embedded Systems, pp. 234–241. ACM, New York (2006)

  18. Roh, H., Kim, W.C., Kim, S., Park, S.: A B-tree index extension to enhance response time and the life cycle of flash memory. Inf. Sci. 179(18), 3136–3161 (2009)

    Article  MathSciNet  Google Scholar 

  19. Roh, H., Park, S., Kim, S., Shin, M., Lee, S.W.: B+-tree index optimization by exploiting internal parallelism of flash-based solid state drives. Proc. VLDB Endow. 5(4), 286–297 (2011)

    Article  Google Scholar 

  20. Wu, C.H., Chang, L.P., Kuo, T.W.: An efficient R-tree implementation over flash-memory storage systems. In: Proceedings of the 11th ACM International Symposium on Advances in Geographic Information Systems, pp. 17–24. ACM, New York (2003)

  21. Wu, C.H., Kuo, T.W., Chang, L.P.: An efficient B-tree layer implementation for flash-memory storage systems. ACM Trans. Embed. Comput. Syst. (TECS) 6(3), 19 (2007)

    Article  Google Scholar 

Download references

Acknowledgments

This paper is supported by the National Science Foundation of China (Nos. 61472376, 61379037, and 61272317) and the OATF project funded by University of Science and Technology of China.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Chengcheng Yang.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Yang, C., Jin, P., Yue, L. et al. Efficient Buffer Management for Tree Indexes on Solid State Drives. Int J Parallel Prog 44, 5–25 (2016). https://doi.org/10.1007/s10766-014-0340-7

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10766-014-0340-7

Keywords

Navigation