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%.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
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)
Bouganim, L., Jónsson, B., Bonnet, P.: uFLIP: understanding ash IO patterns. In: arXiv preprint arXiv:0909.1780 (2009)
Cheng, W., et al.: NVMM-oriented hierarchical persistent client caching for lustre. In: ACM Trans. Storage (TOS) 17(1), 1–22 (2021)
Desnoyers, P.: Analytic models of SSD write performance. ACM Trans. Storage (TOS) 10(2), 1–25 (2014)
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)
Eshel, M., et al.: Panache: a parallel file system cache for global file access. In: FAST, vol. 10, pp. 1–14 (2010)
Esmet, J., et al.: The TokuFS streaming file system. In: HotStorage (2012)
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)
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)
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)
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)
Howard, J.H., et al.: Scale and performance in a distributed file system. ACM Trans. Comput. Syst. (TOCS) 6(1), 51–81 (1988)
Howells, D., et al.: Fs-cache: a network filesystem caching facility. In: Proceedings of the Linux Symposium, vol. 1, pp. 427–440. Citeseer (2006)
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)
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)
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)
Koopman, P., DeVale, J.: The exception handling effectiveness of POSIX operating systems. IEEE Trans. Softw. Eng. 26(9), 837–848 (2000)
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)
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
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)
Megiddo, N., Modha, D.S.: ARC: a self-tuning, low overhead replacement cache. Fast 3, 115–130 (2003)
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)
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)
Šenolt, J.: Advanced File Systems, ZFS (2021)
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)
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)
Sim, H., et al.: An integrated indexing and search service for distributed file systems. IEEE Trans. Parallel Distrib. Syst. 31(10), 2375–2391 (2020)
Srinivasan, M., Saab, P., Tkachenko, V.: Flashcache. In: Facebook (2010)
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)
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)
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)
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
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)
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)
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)
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)
Zhang, J., et al.: Storage performance virtualization via throughput and latency control. In: ACM Trans. Storage (TOS) 2(3), 283–308 (2006)
Zhang, Y., et al.: Smart contract-based access control for the internet of things. IEEE Internet Things J. 6(2), 1594–1605 (2018)
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
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 Springer Nature Switzerland AG
About this paper
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)