Data Correlation Aware Buffer Cache Management for Improved I/O Performance on Log-Structured File System-based NAND Flash Storage Devices
DOI:
https://doi.org/10.54097/7r19rt93Keywords:
Buffer cache; Data correlation; Log-structured File System; I/O Performance; Flash Storage.Abstract
Buffer cache was critical in bridging the access speed gap between main memory and disks. Conventional buffer cache management approaches focus on improving the cache hit ratio by exploiting the locality of I/O workloads. However, conventional buffer caching strategies do not take the write characteristics of log-structured file systems into consideration, and thus they would suffer from a poor cache hit ratio as well as the degraded I/O performance. This study proposes a novel buffer cache management strategy at SSD controllers to improve the data caching performance. It takes advantages of the I/O pattern of log-structured file systems, e.g., F2FS, by correlating the current block I/O address with its previous I/O address such that the I/O requests issued to the same file location can be efficiently managed by the buffer cache. Experimental results demonstrate that the proposed approach substantially improve the read I/O performance by 14.5%, write I/O performance by 92.4%, and enhance the flash lifetime by 92.0%.
Downloads
References
[1] Rosenblum Mendel, Ousterhout K. John, et al. The Design and Implementation of a Log-Structured File System. ACM Transactions on Computer Systems. 1992, Vol. 10 (No. 1), p. 26-52.
[2] Lee Changman, Sim Dongho, Hwang Joo-Young, Cho Sangyeun, et al. F2FS: A New File System for Flash Storage. Proceedings of the USENIX Conference on File and Storage Technologies. Santa Clara, CA, USA, 2015, p. 273-286.
[3] Wu Chao, Li Qiao, Ji Cheng, Kuo Teiwei, Xue Chun Jason, et al. Boosting User Experience via Foreground-Aware Cache Management in UFS Mobile Devices. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 2020, Vol. 39 (No. 11), p. 3263-3275.
[4] Jiang Song, Zhang Xiaodong, et al. LIRS: An Efficient Low Inter-Reference Recency Set-Replacement Policy to Improve Buffer Cache Performance. ACM SIGMETRICS Performance Evaluation Review. 2002, Vol. 30 (No. 1), p. 31-42.
[5] Megiddo Nimrod, Modha Devesh, et al. Arc: A Self-tuning, Low Overhead Replacement Cache. Proceedings of the USENIX Conference on File and Storage Technologies. San Francisco, USA, 2003, p. 115-130.
[6] Park Sejin, Park Chanik, et al. Frd: A Filtering Based Buffer Cache Algorithm That Considers Both Frequency and Reuse Distance. Proceedings of the International Conference on Massive Storage Systems and Technology. Santa Clara, CA, USA, 2017, p. 1-12.
[7] Products With F2FS on: https://f2fs.wiki.kernel.org/, 2016
[8] Liang Yu, Ji Cheng, Fu Chenchen, Ausavarungnirun Rachata, Li Qiao, Pan Riwei, Chen Siyu, Shi Liang, Kuo Tei-Wei, Xue Chun Jason, et al. iTrim: I/O-Aware Trim for Improving User Experience on Mobile Devices. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 2020 (early access).
[9] Li Fei, Lu Youyou, Wu Zhongjie, Shu Jiwu, et al. ASCache: An Approximate SSD Cache for Error-Tolerant Applications. Proceedings of Design Automation Conference. Las Vegas, NV, USA, 2019, p. 1-6.
[10] Liu Jiahao, Wang Fang, Feng Dan, et al. CostPI: Cost-Effective Performance Isolation for Shared NVMe SSDs. Proceedings of the International Conference on Parallel Processing. Kyoto, Japan, 2019, p. 1-10.
[11] Zhou Bo, Ding Chuanming, Lv Yina, Xue Chun Jason, Zhuge Qingfeng, Sha H.-M. Edwin, Shi Liang, et al. SAC: A Stream Aware Cache Scheme for Multi-Streamed Solid State Drives. Proceedings of Asia and South Pacific Design Automation Conference. Tokyo, Japan, 2021, p. 645-650.
[12] Gao Congming, Di Yejia, Deng Aosong, Liu Duo, Ji Cheng, Xue Chun Jason, Shi Liang, et al. F2FS Aware Mapping Cache Design on Solid State Drives. Proceedings of Non-Volatile Memory Systems and Applications Symposium. Hakodate, Japan, 2018, p. 31-36.
[13] Gao Congming, Shi Liang, Li Qiao, Liu Kai, Xue Chun Jason, Yang Jun, Zhang Youtao, et al. Aging Capacitor Supported Cache Management Scheme for Solid-State Drives. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 2020, Vol. 39 (No. 10), p. 2230-2239.
[14] Liu Weiguang, Cui Jinhua, Liu Junwei, Yang T, et al. Laurence. MLCache: A Space-Efficient Cache Scheme based on Reuse Distance and Machine Learning for NVMe SSDs. Proceedings of IEEE/ACM International Conference on Computer Aided Design. New York, USA, 2020, p. 1-9.
[15] Sun Hui, Dai Shangshang, Huang Jianzhong, Qin Xiao, et al. Co-Active: A Workload-Aware Collaborative Cache Management Scheme for NVMe SSDs. IEEE Transactions on Parallel and Distributed Systems. 2021, Vol. 32 (No. 6), p. 1437-1451.
[16] Yoo Sangjin, Shin Dongkun, et al. Reinforcement Learning-based SLC Cache Technique for Enhancing SSD Write Performance. Proceedings of USENIX Workshop on Hot Topics in Storage and File Systems. Boston, USA, 2020, p. 1-6.
[17] Tan Yujuan, Xie Jing, Xu Congcong, Yan Zhichao, Jiang Hong, Zhao Yajun, Fu Min, Chen Xianzhang, Liu Duo, Xia Wen, et al. CDAC: Content-Driven Deduplication-Aware Storage Cache. Proceedings of Symposium on Mass Storage Systems and Technologies. Santa Clara, CA, USA, 2019, p. 282-291.
[18] Wang Qiuping, Li Jinghong, Xia Wen, Kruus Erik, Debnath Biplob, Patrick P.C. Lee, et al. Austere Flash Caching with Deduplication and Compression. Proceedings of USENIX Annual Technical Conference. Virtual Conference, 2020, p. 713-726.
[19] Li Wenji, Baptise Jean Gregory, Riveros Juan, Narasimhan Giri, Zhang Tony, Zhao Ming, et al. CacheDedup: In-Line Deduplication for Flash Caching. Proceedings of USENIX Conference on File and Storage Technologies. Santa Clara, CA, USA, 2016, p. 301-314.
[20] Megiddo Nimrod, Modha S. Dharmendra, et al. ARC: A Self-Tuning, Low Overhead Replacement Cache. Proceedings of USENIX Conference on File and Storage Technologies. San Francisco, CA, USA, 2003, p. 115-130.
[21] Narayanan Dushyanth, Theresha Eno, Donnelly Austin, Elnikety Sameh, Rowstron I.T. Antony, et al. Migrating Server Storage to SSDs: Analysis of Tradeoffs. Proceedings of the European Conference on Computer Systems. Nuremberg, Germany, 2009, p. 145-158.
[22] Micron flash memory chip MLC specification on: https://www.micron.com/-/media/client/global/documents/products/data-sheet/nand-flash/20-series/2gb_nand_m29b.pdf 2004
[23] Hu Yang, Jiang Hong, Feng Dan, Tian Lei, Luo Hao, Zhang Shuping, et al. Performance Impact and Interplay of SSD Parallelism through Advanced Commands, Allocation Strategy and Data Granularity. Proceedings of the International Conference on Supercomputing. Tucson, Arizona, USA, 2011, p. 96-107.
[24] Wu Chao, Ji Cheng, Li Qiao, Gao Congming, Pan Riwei, Fu Chenchen, Shi Liang, Xue Chun Jason, et al. Maximizing I/O Throughput and Minimizing Performance Variation via Reinforcement Learning. IEEE Transactions on Computers. 2020, Vol. 69 (No. 1), p. 72-86.
[25] Wu Chao, Cui Yufei, Ji Cheng, Kuo Teiwei, Xue Chun Jason, et al. Pruning Deep Reinforcement Learning for Dual User Experience and Storage Lifetime. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 2020, Vol. 39 (No. 11), p. 3993-4005.
[26] Liu Chun Yi, Kotra B. Jagadish, Jung Myoungsoo, Kandemir T. Mahmut, Das R. Chita, et al. SOML Read: Rethinking the Read Operation Granularity of 3D NAND SSDs. Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems. RI, USA, 2019, p. 955-969.
[27] Kwon Miryeong, Zhang Jie, Park Gyuyoung, Choi Wonil, Donofrio David, Shalf John, Kandemir T. Mahmut, Jung Myoungsoo, et al. TraceTracker: Hardware/Software Co-Evaluation for Large-Scale I/O Workload Reconstruction. Proceedings of the IEEE International Symposium on Workload Characterization. Seattle, WA, USA, 2017, p. 87-96.
[28] Jeong Sooman, Lee Kisung, Hwang Jungwoo, Lee Seongjin, Won Youjip, et al. Framework for analyzing Android I/O stack behavior: from generating the workload to analyzing the trace. Future Internet. 2013, Vol. 5 (No. 4), p. 591-610.
[29] Katcher Jefferey, et al. Postmark: A New File System Benchmark. NetAPP Inc, Technical Report: TR3022.California.1997.
[30] Kim Youngjae, Tauras Brendan, Gupta Aayush, Urgaonkar Bhuvan, et al. Flashsim: A Simulator for NAND Flash-Based Solid State Drives. In Proceedings of First International Conference on Advances in System Simulation. Porto, Portugal, 2009: 125–131.Kim Youngjae, Tauras Brendan, Gupta Aayush, Urgaonkar Bhuvan, et al. Flashsim: A Simulator for NAND Flash-Based Solid State Drives. Proceedings of First International Conference on Advances in System Simulation. Porto Portugal, 2009, p. 125-131.
[31] Min Changwoo, Lee Sang-Won, Eom Young Ik, et al. Design and Implementation of a Log-structured File System for Flash-based Solid State Drives. IEEE Transactions on Computers. 2014, Vol. 63 (No. 9), p. 2215-2227.
[32] Block-I/O Layer Tracing: Blktrace[J] on: https://www.mimuw.edu.pl/~lichota/09-10/Optymalizacja-open-source/Materialy/10%20-%2-Dysk/gelato_ICE06apr_blktrace_brunelle_hp.pdf 2006,4
Downloads
Published
Issue
Section
License
Copyright (c) 2024 Academic Journal of Science and Technology

This work is licensed under a Creative Commons Attribution 4.0 International License.








