Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
41 tokens/sec
GPT-4o
59 tokens/sec
Gemini 2.5 Pro Pro
41 tokens/sec
o3 Pro
7 tokens/sec
GPT-4.1 Pro
50 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

AdaCache: A Disaggregated Cache System with Adaptive Block Size for Cloud Block Storage (2306.17254v1)

Published 29 Jun 2023 in cs.DC

Abstract: NVMe SSD caching has demonstrated impressive capabilities in solving cloud block storage's I/O bottleneck and enhancing application performance in public, private, and hybrid cloud environments. However, traditional host-side caching solutions have several serious limitations. First, the cache cannot be shared across hosts, leading to low cache utilization. Second, the commonly-used fix-sized cache block allocation mechanism is unable to provide good cache performance with low memory overhead for diverse cloud workloads with vastly different I/O patterns. This paper presents AdaCache, a novel userspace disaggregated cache system that utilizes adaptive cache block allocation for cloud block storage. First, AdaCache proposes an innovative adaptive cache block allocation scheme that allocates cache blocks based on the request size to achieve both good cache performance and low memory overhead. Second, AdaCache proposes a group-based cache organization that stores cache blocks into groups to solve the fragmentation problem brought by variable-sized cache blocks. Third, AdaCache designs a two-level cache replacement policy that replaces cache blocks in both single blocks and groups to improve the hit ratio. Experimental results with real-world traces show that AdaCache can substantially improve I/O performance and reduce storage access caused by cache miss with a much lower memory usage compared to traditional fix-sized cache systems.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (66)
  1. “Amazon elastic block store (ebs),” 2023. https://aws.amazon.com/ebs/.
  2. “Persistent disk,” 2023. https://cloud.google.com/persistent-disk.
  3. “Ibm cloud block storage,” 2023. https://www.ibm.com/cloud/block-storage.
  4. “Ceph block device,” 2023. https://docs.ceph.com/en/quincy/rbd/index.html.
  5. “What is block storage,” 2021. https://aws.amazon.com/what-is/block-storage/.
  6. “Ebs pricing and performance: A comparison with amazon efs and amazon s3,” 2018. https://bluexp.netapp.com/blog/ebs-efs-amazons3-best-cloud-storage-system.
  7. Q. Yang, R. Jin, B. Davis, D. Inupakutika, and M. Zhao, “Performance evaluation on cxl-enabled hybrid memory pool,” in 2022 IEEE International Conference on Networking, Architecture and Storage (NAS), pp. 1–5, 2022.
  8. Y. Zhang, P. Huang, K. Zhou, H. Wang, J. Hu, Y. Ji, and B. Cheng, “Osca: An online-model based cache allocation scheme in cloud block storage systems,” in Proceedings of the 2020 USENIX Conference on Usenix Annual Technical Conference, pp. 785–798, 2020.
  9. K. Zhou, Y. Zhang, P. Huang, H. Wang, Y. Ji, B. Cheng, and Y. Liu, “Efficient ssd cache for cloud block storage via leveraging block reuse distances,” IEEE Transactions on Parallel and Distributed Systems, vol. 31, no. 11, pp. 2496–2509, 2020.
  10. D. Arteaga, I. Ahmad, J. Cabrera, S. Jun, J. Xu, S. Xu, S. Sundararaman, M. Zhao, S. Zhen, V. Tarasov, et al., “Cloudcache: On-demand flash cache management for cloud computing,” in 14th {normal-{\{{USENIX}normal-}\}} Conference on File and Storage Technologies ({normal-{\{{FAST}normal-}\}} 16), pp. 355–369, 2016.
  11. W. Li, G. Jean-Baptise, J. Riveros, G. Narasimhan, T. Zhang, and M. Zhao, “Cachededup: In-line deduplication for flash caching,” in 14th {normal-{\{{USENIX}normal-}\}} Conference on File and Storage Technologies ({normal-{\{{FAST}normal-}\}} 16), pp. 301–314, 2016.
  12. S. Legtchenko, H. Williams, K. Razavi, A. Donnelly, R. Black, A. Douglas, N. Cheriere, D. Fryer, K. Mast, A. D. Brown, et al., “Understanding rack-scale disaggregated storage.,” HotStorage, vol. 17, p. 2, 2017.
  13. “Nvm express moves into the future,” 2023. https://nvmexpress.org/wp-content/uploads/NVMe\_Over\_Fabrics.pdf.
  14. “Making a case for a disaggregated storage architecture,” 2021. https://www.kalrayinc.com/blog/making-case-disaggregated-storage-architecture/.
  15. S. Prybylski, M. Horowitz, and J. Hennessy, “Performance tradeoffs in cache design,” SIGARCH Comput. Archit. News, vol. 16, p. 290–298, may 1988.
  16. J. L. Hennessy and D. A. Patterson, Computer architecture: a quantitative approach. Elsevier, 2011.
  17. I. Corporation, “SPDK: Storage Performance Development Kit.” https://spdk.io/, Accessed 2023.
  18. Y. Liu, H. Li, Y. Lu, Z. Chen, and M. Zhao, “An efficient and flexible metadata management layer for local file systems,” in 2019 IEEE 37th International Conference on Computer Design (ICCD), pp. 208–216, 2019.
  19. Y. Liu, H. Li, Y. Lu, Z. Chen, N. Xiao, and M. Zhao, “Hasfs: optimizing file system consistency mechanism on nvm-based hybrid storage architecture,” Cluster Computing, vol. 23, pp. 2501–2515, 2020.
  20. S. Afzal and G. Kavitha, “Load balancing in cloud computing–a hierarchical taxonomical classification,” Journal of Cloud Computing, vol. 8, no. 1, p. 22, 2019.
  21. “Nvm express moves into the future,” 2021. https://nvmexpress.org/wp-content/uploads/NVMe\_Over\_Fabrics.pdf.
  22. “Spdk nvme-of rdma (target & initiator) performance report release 22.09,” 2023. https://ci.spdk.io/download/performancereports/SPDK\_rdma\_mlx\_perf\_report\_2209.pdf.
  23. “Samsung’s poseidon v2 e3.x reference system,” 2021. https://www.inspursystems.com/product/open-storage/.
  24. “Fio,” 2021. https://github.com/axboe/fio.
  25. C. A. Waldspurger, N. Park, A. T. Garthwaite, and I. Ahmad, “Efficient mrc construction with shards.,” in FAST, vol. 15, pp. 95–110, 2015.
  26. J. Fu, D. Arteaga, and M. Zhao, “Locality-driven mrc construction and cache allocation,” in Proceedings of the 27th International Symposium on High-Performance Parallel and Distributed Computing, pp. 19–20, 2018.
  27. “Memcached,” 2023. https://memcached.org.
  28. “The density, cost, and marketing of semiconductor memory,” 2021. https://news.skhynix.com/the-density-cost-and-marketing-of-semiconductor-memory/.
  29. J. Li, Q. Wang, P. P. Lee, and C. Shi, “An in-depth analysis of cloud block storage workloads in large-scale production,” in 2020 IEEE International Symposium on Workload Characterization (IISWC), pp. 37–47, IEEE, 2020.
  30. D. Narayanan, A. Donnelly, and A. Rowstron, “Write off-loading: Practical power management for enterprise storage,” ACM Transactions on Storage (TOS), vol. 4, no. 3, pp. 1–23, 2008.
  31. C. Lee, T. Kumano, T. Matsuki, H. Endo, N. Fukumoto, and M. Sugawara, “Understanding storage traffic characteristics on enterprise virtual desktop infrastructure,” in Proceedings of the 10th ACM International Systems and Storage Conference, pp. 1–11, 2017.
  32. “Poseidonos,” 2023. https://github.com/poseidonos/poseidonos.
  33. “Block device user guide.” https://spdk.io/doc/bdev.html.
  34. The GNOME Project, “GLib – C Utility Library.” https://developer.gnome.org/glib/, 2023.
  35. J. Bonwick et al., “The slab allocator: An object-caching kernel memory allocator.,” in USENIX summer, vol. 16, Boston, MA, USA, 1994.
  36. R. Koller, L. Marmol, R. Rangaswami, S. Sundararaman, N. Talagala, and M. Zhao, “Write policies for host-side flash caches,” in Presented as part of the 11th {normal-{\{{USENIX}normal-}\}} Conference on File and Storage Technologies ({normal-{\{{FAST}normal-}\}} 13), pp. 45–58, 2013.
  37. T. Luo, S. Ma, R. Lee, X. Zhang, D. Liu, and L. Zhou, “S-cave: Effective ssd caching to improve virtual machine storage performance,” in Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques, pp. 103–112, 2013.
  38. R. Koller, A. J. Mashtizadeh, and R. Rangaswami, “Centaur: Host-side ssd caching for storage performance control,” in 2015 IEEE International Conference on Autonomic Computing, pp. 51–60, IEEE, 2015.
  39. J. Fu, Y. Lu, J. Shu, G. Liu, and M. Zhao, “Cowcache: effective flash caching for copy-on-write virtual disks,” Cluster Computing, vol. 23, pp. 623–639, 2020.
  40. J. Fu, Y. Liu, and G. Liu, “Jcache: Journaling-aware flash caching,” IEEE Access, vol. 8, pp. 61289–61298, 2020.
  41. C. Li, P. Shilane, F. Douglis, H. Shim, S. Smaldone, and G. Wallace, “Nitro: A Capacity-Optimized SSD cache for primary storage,” in 2014 USENIX Annual Technical Conference (USENIX ATC 14), (Philadelphia, PA), pp. 501–512, USENIX Association, June 2014.
  42. F. Meng, L. Zhou, X. Ma, S. Uttamchandani, and D. Liu, “vCacheShare: Automated server flash cache space management in a virtualization environment,” in 2014 USENIX Annual Technical Conference (USENIX ATC 14), (Philadelphia, PA), pp. 133–144, USENIX Association, June 2014.
  43. G. Yadgar, M. Factor, and A. Schuster, “Karma: Know-it-All replacement for a multilevel cache,” in 5th USENIX Conference on File and Storage Technologies (FAST 07), (San Jose, CA), USENIX Association, Feb. 2007.
  44. L. Ou, X. He, M. Kosa, and S. Scott, “A unified multiple-level cache for high performance storage systems,” in 13th IEEE International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems, pp. 143–150, 2005.
  45. X. Li, A. Aboulnaga, K. Salem, A. Sachedina, and S. Gao, “Second-Tier cache management using write hints,” in 4th USENIX Conference on File and Storage Technologies (FAST 05), (San Francisco, CA), USENIX Association, Dec. 2005.
  46. A. Amar, A. Raja, and V. Sundararajan, “Glusterfs: a scalable network filesystem,” in Proceedings of the 6th USENIX Symposium on Operating Systems Design and Implementation, USENIX Association, 2004.
  47. R. Sandberg, D. Goldberg, S. Kleiman, D. Walsh, and B. Lyon, “The design and implementation of a distributed file system,” in Proceedings of the 1985 Summer USENIX Conference, USENIX Association, 1985.
  48. M. contributors, “MinIO - object storage for the next generation.” https://min.io/, 2021. Accessed: March 3, 2023.
  49. Amazon Web Services, “Amazon S3 - simple storage service.” https://aws.amazon.com/s3/, 2021. Accessed: March 3, 2023.
  50. Z. Guz, H. Li, A. Shayesteh, and V. Balakrishnan, “Nvme-over-fabrics performance characterization and the path to low-overhead flash disaggregation,” in Proceedings of the 10th ACM International Systems and Storage Conference, pp. 1–9, 2017.
  51. M. Nanavati, J. Wires, and A. Warfield, “Decibel: Isolation and sharing in disaggregated rack-scale storage.,” in NSDI, vol. 17, pp. 17–33, 2017.
  52. S. Sanfilippo, “Redis.” https://redis.io/, 2009. Accessed: March 4, 2023.
  53. B. Bulkowski and S. Srinivasan, “Aerospike: Architecture of a real-time operational dbms,” IEEE Data Eng. Bull., vol. 36, no. 1, pp. 3–9, 2013.
  54. D. Byrne, N. Onder, and Z. Wang, “Faster slab reassignment in memcached,” in Proceedings of the International Symposium on Memory Systems, pp. 353–362, 2019.
  55. D. S. Berger, B. Berg, T. Zhu, S. Sen, and M. Harchol-Balter, “RobinHood: Tail latency aware caching – dynamic reallocation from Cache-Rich to Cache-Poor,” in 13th USENIX Symposium on Operating Systems Design and Implementation (OSDI 18), (Carlsbad, CA), pp. 195–212, USENIX Association, Oct. 2018.
  56. X. Hu, X. Wang, Y. Li, L. Zhou, Y. Luo, C. Ding, S. Jiang, and Z. Wang, “LAMA: Optimized locality-aware memory allocation for key-value cache,” in 2015 USENIX Annual Technical Conference (USENIX ATC 15), (Santa Clara, CA), pp. 57–69, USENIX Association, July 2015.
  57. B. Fan, D. G. Andersen, and M. Kaminsky, “MemC3: Compact and concurrent MemCache with dumber caching and smarter hashing,” in 10th USENIX Symposium on Networked Systems Design and Implementation (NSDI 13), (Lombard, IL), pp. 371–384, USENIX Association, Apr. 2013.
  58. X. Li, D. G. Andersen, M. Kaminsky, and M. J. Freedman, “Algorithmic improvements for fast concurrent cuckoo hashing,” in Proceedings of the Ninth European Conference on Computer Systems, EuroSys ’14, (New York, NY, USA), Association for Computing Machinery, 2014.
  59. H. Chen, H. Zhang, M. Dong, Z. Wang, Y. Xia, H. Guan, and B. Zang, “Efficient and available in-memory kv-store with hybrid erasure coding and replication,” ACM Trans. Storage, vol. 13, sep 2017.
  60. C. Dubnicki and T. J. LeBlanc, “Adjustable block size coherent caches,” SIGARCH Comput. Archit. News, vol. 20, p. 170–180, apr 1992.
  61. A. J. Smith, “Line (block) size choice for cpu cache memories,” IEEE Transactions on Computers, vol. C-36, no. 9, pp. 1063–1075, 1987.
  62. S. Przybylski, “The performance impact of block sizes and fetch strategies,” SIGARCH Comput. Archit. News, vol. 18, p. 160–169, may 1990.
  63. G. H. Loh and M. D. Hill, “Efficiently enabling conventional block sizes for very large die-stacked dram caches,” in Proceedings of the 44th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO-44, (New York, NY, USA), p. 454–464, Association for Computing Machinery, 2011.
  64. S. Prybylski, M. Horowitz, and J. Hennessy, “Performance tradeoffs in cache design,” in Proceedings of the 15th Annual International Symposium on Computer Architecture, ISCA ’88, (Washington, DC, USA), p. 290–298, IEEE Computer Society Press, 1988.
  65. A. Agarwal, J. Hennessy, and M. Horowitz, “An analytical cache model,” ACM Trans. Comput. Syst., vol. 7, p. 184–215, may 1989.
  66. N. Jeremic, H. Parzyjegla, and G. Muhl, “On adapting the cache block size in ssd caches,” in 2021 IEEE International Conference on Networking, Architecture and Storage (NAS), pp. 1–8, 2021.
User Edit Pencil Streamline Icon: https://streamlinehq.com
Authors (6)
  1. Qirui Yang (17 papers)
  2. Runyu Jin (4 papers)
  3. Ni Fan (1 paper)
  4. Devasena Inupakutika (1 paper)
  5. Bridget Davis (1 paper)
  6. Ming Zhao (106 papers)