Skip to main content

FastCache: A Client-Side Cache with Variable-Position Merging Schema in Network Storage System

  • Conference paper
  • First Online:
Algorithms and Architectures for Parallel Processing (ICA3PP 2021)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 13156))

  • 1810 Accesses

Abstract

Cache plays an important role in providing high throughput and low latency network storage service for I/O intensive applications. One major challenge is that performance of storage degrades significantly even with cache at backend while facing microwrite workload. A straightforward approach is to use cache at client to merge microwrites into sequential write. However, we notice that direct merging within block causes severe fragments problem. Specifically, simple cache update policy pollutes cache which leads to I/O performance degradation. In this paper, we introduce FastCache, a two level of cache based on hash table and linked list to store data slice and variable-position merging schema to convert random microwrites into sequential write. To avoid cache pollution, we design a new cache update policy based on measurable threshold to control flushing and Poisson distribution sampling to find the most suitable entries to be evicted. We implement FastCache in FastCFS and conduct extensive evaluations under benchmark FIO and real workload. We show that FastCache outperforms LRU and HCCache in terms of IOPS and access latency. The experimental results demonstrate that IOPS can be improved by up to 10\(\times \), and the access latency with FastCache decreases by 50%–90%.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 89.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 119.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. https://gitee.com/fastdfs100/FastCFS

  2. www.solarisinternals.com/wiki/index.php/FileBench

  3. Atzori, L., Iera, A., Morabito, G.: From “smart objects’’ to “social objects": the next evolutionary step of the internet of things. IEEE Commun. Mag. 52(1), 97–105 (2014)

    Article  Google Scholar 

  4. Bouganim, L., Jónsson, B., Bonnet, P.: uFLIP: understanding ash IO patterns. In: arXiv preprint arXiv:0909.1780 (2009)

  5. Cheng, W., et al.: NVMM-oriented hierarchical persistent client caching for lustre. In: ACM Trans. Storage (TOS) 17(1), 1–22 (2021)

    Google Scholar 

  6. Desnoyers, P.: Analytic models of SSD write performance. ACM Trans. Storage (TOS) 10(2), 1–25 (2014)

    Google Scholar 

  7. Eisenman, A., et al.: Flashield: a hybrid key-value cache that controls ash write amplification. In: 16th USENIX Symposium on Networked Systems Design and Implementation, pp. 65–78 (2019)

    Google Scholar 

  8. Eshel, M., et al.: Panache: a parallel file system cache for global file access. In: FAST, vol. 10, pp. 1–14 (2010)

    Google Scholar 

  9. Esmet, J., et al.: The TokuFS streaming file system. In: HotStorage (2012)

    Google Scholar 

  10. Fareed, I., et al.: Leveraging intra-page update diversity for mitigating write amplification in SSDs. In: Proceedings of the 34th ACM International Conference on Supercomputing, pp. 1–12 (2020)

    Google Scholar 

  11. fio. http://freecode.com/projects/fio

  12. Harter, T., et al.: Analysis of HDFS under HBase: a Facebook messages case study. In: 12th Conference on File and Storage Technologies, pp. 199–212 (2014)

    Google Scholar 

  13. Hatzieleftheriou, A., Anastasiadis, S.: Host-side filesystem journaling for durable shared storage. In: 13th USENIX Conference on File and Storage Technologies, pp. 59–66 (2015)

    Google Scholar 

  14. Hou, B., Chen, F.: GDS-LC: a latency-and cost-aware client caching scheme for cloud storage. ACM Trans. Storage (TOS) 13(4), 1–33 (2017)

    Google Scholar 

  15. Howard, J.H., et al.: Scale and performance in a distributed file system. ACM Trans. Comput. Syst. (TOCS) 6(1), 51–81 (1988)

    Google Scholar 

  16. Howells, D., et al.: Fs-cache: a network filesystem caching facility. In: Proceedings of the Linux Symposium, vol. 1, pp. 427–440. Citeseer (2006)

    Google Scholar 

  17. Jannen, W., et al.: BetrFS: a right-optimized write-optimized file system. In: 13th USENIX Conference on File and Storage Technologies, pp. 301–315 (2015)

    Google Scholar 

  18. Joukar, A., Ramezani, M., MirMostafaee, S.M.T.K.: Parameter estimation for the exponential-Poisson distribution based on ranked set samples. In: Commun. Stat.-Theory Methods 50(3), 560–581 (2021)

    Google Scholar 

  19. Kang, S., et al.: Performance trade-offs in using NVRAM write buffer for ash memory-based storage devices. IEEE Trans. Comput. 58(6), 744–758 (2008)

    Article  Google Scholar 

  20. Koopman, P., DeVale, J.: The exception handling effectiveness of POSIX operating systems. IEEE Trans. Softw. Eng. 26(9), 837–848 (2000)

    Google Scholar 

  21. Li, X., et al.: HCCache: a hybrid client-side cache management scheme for I/O-intensive workloads in network-based file systems. In: 2012 13th International Conference on Parallel and Distributed Computing, Applications and Technologies (PDCAT) (2013)

    Google Scholar 

  22. Li, X., Qian, L.: A hybrid disaster-tolerant model with DDF technology for MooseFS open-source distributed file system. J. Supercomput. 73(5), 2052–2068 (2016). https://doi.org/10.1007/s11227-016-1902-9

    Article  Google Scholar 

  23. Luo, L., et al.: Envirostore: a cooperative storage system for disconnected operation in sensor networks. In: IEEE INFOCOM 2007–26th IEEE International Conference on Computer Communications, pp. 1802–1810. IEEE (2007)

    Google Scholar 

  24. Megiddo, N., Modha, D.S.: ARC: a self-tuning, low overhead replacement cache. Fast 3, 115–130 (2003)

    Google Scholar 

  25. Peng, B., et al.: MDev-NVMe: a NVMe storage virtualization solution with mediated pass-through. In: 2018 USENIX Annual Technical Conference, pp. 665–676 (2018)

    Google Scholar 

  26. Qian, L., et al.: Stabilizing and boosting I/O performance for file systems with journaling on NVMe SSD. Sci. China Inf. Sci. 65(3), 1–15 (2022)

    Google Scholar 

  27. Šenolt, J.: Advanced File Systems, ZFS (2021)

    Google Scholar 

  28. Shen, Z., et al.: Didacache: an integration of device and application for ash-based key-value caching. ACM Trans. Storage (TOS) 14(3), 1–32 (2018)

    Google Scholar 

  29. Shi, L., Liu, Z., Xu, L.: Bwcc: a fs-cache based cooperative caching system for network storage system. In: 2012 IEEE International Conference on Cluster Computing, pp. 546–550. IEEE (2012)

    Google Scholar 

  30. Sim, H., et al.: An integrated indexing and search service for distributed file systems. IEEE Trans. Parallel Distrib. Syst. 31(10), 2375–2391 (2020)

    Google Scholar 

  31. Srinivasan, M., Saab, P., Tkachenko, V.: Flashcache. In: Facebook (2010)

    Google Scholar 

  32. Sung, H.: BBOS: efficient HPC storage management via burst buffer over-subscription. In: et al.: 20th IEEE/ACM International Symposium on Cluster, Cloud and Internet Computing (CCGRID), pp. 142–151. IEEE (2020)

    Google Scholar 

  33. Thompson, L., Clarke, J., Sheehan, R.: eduFUSE a visualizer for user-space file systems. In: Proceedings of the 2020 ACM Conference on Innovation and Technology in Computer Science Education, pp. 549–550 (2020)

    Google Scholar 

  34. Vangoor, B.K.R., Tarasov, V., Zadok, E.: To FUSE or not to FUSE: performance of user-space file systems. In: 15th USENIX Conference on File and Storage Technologies, pp. 59–72 (2017)

    Google Scholar 

  35. Sage A Weil et al. "Ceph: A scalable, high-performance distributed file system". In: Proceedings of the 7th symposium on Operating systems design and implementation. 2006, pp. 307–320

    Google Scholar 

  36. Wu, K., et al.: The storage hierarchy is not a hierarchy: optimizing caching on modern storage devices with orthus. In: 19th USENIX Conference on File and Storage Technologies, pp. 307–323 (2021)

    Google Scholar 

  37. Wu, X., et al.: LSM-trie: an LSM-tree-based ultra-large key-value store for small data items. In: 2015 USENIX Annual Technical Conference, pp. 71–82 (2015)

    Google Scholar 

  38. Yang, J., Yue, Y., Rashmi, K.V.: A large scale analysis of hundreds of in-memory cache clusters at Twitter. In: 14th USENIX Symposium on Operating Systems Design and Implementation, pp. 191–208 (2020)

    Google Scholar 

  39. Yang, Z., et al.: Cache placement in two-tier HetNets with limited storage capacity: cache or buffer? IEEE Trans. Commun. 66(11), 5415–5429 (2018)

    Google Scholar 

  40. Zhang, J., et al.: Storage performance virtualization via throughput and latency control. In: ACM Trans. Storage (TOS) 2(3), 283–308 (2006)

    Google Scholar 

  41. Zhang, Y., et al.: Smart contract-based access control for the internet of things. IEEE Internet Things J. 6(2), 1594–1605 (2018)

    Google Scholar 

Download references

Acknowledgement

This research was supported by Jiangsu Provincial Key Research and Development Program under Grant BE2020001-3, the National Natural Science Foundation of China under Grant 61832005 and 6217220, China Southern Power Grid Shenzhen Digital Power Grid Research Institute CGY21001.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to BaoLiu Ye .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Qian, L., Ye, B., Wang, X., Qu, Z., Duan, W., Zhao, M. (2022). FastCache: A Client-Side Cache with Variable-Position Merging Schema in Network Storage System. In: Lai, Y., Wang, T., Jiang, M., Xu, G., Liang, W., Castiglione, A. (eds) Algorithms and Architectures for Parallel Processing. ICA3PP 2021. Lecture Notes in Computer Science(), vol 13156. Springer, Cham. https://doi.org/10.1007/978-3-030-95388-1_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-95388-1_10

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-95387-4

  • Online ISBN: 978-3-030-95388-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics