| 研究生: |
林甄羚 Lin, Jhen-Ling |
|---|---|
| 論文名稱: |
基於SPDK之適用於分區命名空間固態硬碟之I/O追蹤工具 An I/O Tracing Tool for Zoned Namespace Solid-State Drive Based on SPDK |
| 指導教授: |
侯廷偉
Hou, Ting-Wei |
| 學位類別: |
碩士 Master |
| 系所名稱: |
工學院 - 工程科學系 Department of Engineering Science |
| 論文出版年: | 2023 |
| 畢業學年度: | 111 |
| 語文別: | 中文 |
| 論文頁數: | 55 |
| 中文關鍵詞: | 追蹤工具 、固態硬碟 、分區命名空間固態硬碟 、SPDK |
| 外文關鍵詞: | tracing tools, SSD, ZNS SSD, SPDK |
| 相關次數: | 點閱:72 下載:13 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
新型的分區命名空間 (Zoned Namespace,ZNS) 固態硬碟 (Solid-State Drive,SSD) 解決了傳統 SSD 因隨機寫入造成 SSD 壽命降低的問題,然而其分區循序寫入限制與主機端分區管理的特色,目前還缺少能完整支援 ZNS SSD 的追蹤工具。本論文提出的 TraceIO 為以 Storage Performance Development Kit (SPDK)作為基礎的追蹤工具,可監測與分析應用程式對於 NVMe 儲存系統 (如傳統 SSD 和 ZNS SSD) 的 I/O 行為,並針對 ZNS SSD 能在主機端管理分區的特色,分析應用程式對區塊和分區的讀寫次數,透過 TraceIO 可在未來對管理資料與分區機制時做更適當的安排。此外 TraceIO具備追蹤重放的功能,其中將寫入操作由 Write 命令改為適合 ZNS SSD 使用的 Zone Append 命令,並支援分區管理,使追蹤重放時能重現應用程式管理分區資源的操作。
The novel storage device, Zoned Namespace Solid-State Drive (ZNS SSD), addresses the issue of reduced SSD lifespan due to random writes encountered in traditional SSDs. However, despite its advantages, the ZNS SSD comes with limitations in sequential writes and zones management from the host, and currently lacks comprehensive tracing tools to fully support its functionalities. This research presents TraceIO, a tracing tool built on the basis of SPDK (Storage Performance Development Kit), enabling the monitoring and analysis of application I/O operations on NVMe storage systems, including traditional SSDs and ZNS SSDs. Furthermore, TraceIO analyzes application read and write operations on both blocks and zones, taking into consideration the distinctive feature of ZNS SSD's zone management on the host. This allows for the development of more appropriate data and zone management strategies in the future. Additionally, TraceIO facilitates tracing replay by converting Write commands into Zone Append commands optimized for ZNS SSD utilization while offering zone management support, thus enabling the reproduction of application-managed zone resources during trace replay.
[1] Y.-H. Xiao and R. Haas, "The fundamental limit of flash random write performance: Understanding, analysis and performance modelling," RZ 37771, # 99781, Computer Science, IBM Research Report, 31 March 2010. [Online]. Available: https://dominoweb.draco.res.ibm.com/reports/rz3771.pdf [Accessed 12 July 2023].
[2] H. Shin, M. Oh, G. Choi and J. Choi, "Exploring performance characteristics of ZNS SSDs: Observation and implication," in 2020 9th Non-Volatile Memory Systems and Applications Symposium (NVMSA), Seoul, Korea (South), pp. 1-5, 2020.
[3] Intel®, "The Storage Performance Development Kit," [Online]. Available: https://spdk.io/. [Accessed 12 July 2023].
[4] J. Xu, Block Trace Analysis and Storage System Optimization, Apress, Singapore, pp. 43-59, 2018.
[5] A. D. Brunelle, "Block i/o layer tracing: blktrace," (presentation) Hewlett-Packard Company, Cupertino, CA, USA, 2006. [Online]. Available: https://www.mimuw.edu.pl/~lichota/09-10/Optymalizacja-open-source/Materialy/10%20-%20Dysk/gelato_ICE06apr_blktrace_brunelle_hp.pdf [Accessed 12 July 2023].
[6] J. Axboe, "Fio-flexible io tester," 2014. [Online]. Available: https://fio.readthedocs.io/. [Accessed 13 July 2023].
[7] B. Li, F. Toussi, C. Anderson, D. J. Lilja and D. H. C. Du, "Tracerar: An i/o performance evaluation tool for replaying, analyzing, and regenerating traces," in 2017 International Conference on Networking, Architecture, and Storage (NAS), Shenzhen, China, pp. 1-10, 2017.
[8] N. Mohammed Islam, F. Trahay, A. Colin, P. Olivier, S. Rubini, F. Singhof and J. Boukhobza, "EZIOTracer: unifying kernel and user space I/O tracing for data-intensive applications," in Proceedings of the Workshop on Challenges and Opportunities of Efficient and Performant Storage Systems, United Kingdom, pp. 1-11, 2021. [Online]. Available: https://dl.acm.org/doi/abs/10.1145/3439839.3458731. [Accessed 13 July 2023].
[9] K. Karas and K. Karas, "Tracing Framework Guide Part 1," SPDK, 26 September 2022. [Online]. Available: https://spdk.io/spdk_trace/2022/09/26/tracing-library-guide-pt1/. [Accessed 13 July 2023].
[10] Z. Yang, J. R. Harris, B. Walker, D. Verkamp, C. Liu, C. Chang, G. Cao, J. Stern, V. Verma and L. E. Paul, "SPDK: A development kit to build high performance storage applications," in 2017 IEEE 9th International Conference on Cloud Computing Technology and Science, Hong Kong, China, pp. 154-161, 2017.
[11] H. Koch and M. Tsirkin, "The Userspace I/O Howto. The Linux Kernel documentation," 11 December 2006. [Online]. Available: https://www.kernel.org/doc/html/latest/driver-api/uio-howto.html. [Accessed 13 July 2023].
[12] A. Williamson, A. Kardashevskiy, L. Torvalds and Z. Lim, "VFIO - “Virtual Function I/O”," 2017. [Online]. Available: https://www.kernel.org/doc/Documentation/vfio.txt. [Accessed 13 July 2023].
[13] J. Harris, "Storage Performance Development Kit State of the Project," SPDK, 15 May 2018. [Online]. Available: https://spdk.io/summit/us/2018/. [Accessed 13 July 2023].
[14] K. Karas, "Tracing Framework," SPDK, 17 January 2022. [Online]. Available: https://spdk.io/spdk_trace/2022/01/17/tracing_library_post/. [Accessed 13 July 2023].
[15] Western Digital Corporation, "Zoned Storage Devices," [Online]. Available: https://zonedstorage.io/docs/introduction/zoned-storage. [Accessed 12 July 2023].
[16] NVM Express®, "NVM Express® Zoned Namespace Command Set Specification, Revision 1.1c," 3 October 2022. [Online]. Available: https://nvmexpress.org/changes-in-nvm-express-revision-2-0/. [Accessed 14 July 2023].
[17] F. Tim and G. Garth, "Shingled magnetic recording: Areal density increase requires new data management," the magazine of USENIX & SAGE, vol. 38, no. 3, pp. 22-30, 2013.
[18] C. Lee, D. Sim, J.-Y. Hwang and S. Cho, "{F2FS}: A new file system for flash storage," in 13th USENIX Conference on File and Storage Technologies (FAST 15), Santa Clara, CA, USA, pp. 273-286, 2015.
[19] Western Digital Corporation, "ZenFS: RocksDB Storage Backend for ZNS SSDs and SMR HDDs," [Online]. Available: https://github.com/westerndigitalcorporation/zenfs. [Accessed 12 July 2023].
[20] Facebook, "RocksDB: A Persistent Key-Value Store for Flash and RAM Storag," 2022. [Online]. Available: https://rocksdb.org/. [Accessed 12 July 2023].
[21] Percona, "Percona Server for MySQL," [Online]. Available: https://www.percona.com/software/mysql-database/percona-server. [Accessed 12 July 2023].
[22] Western Digital Corporation, "libzbd," [Online]. Available: https://github.com/westerndigitalcorporation/libzbd. [Accessed 18 July 2023].
[23] Western Digital Corporation, "NVMe Zoned Namespaces (ZNS) Devices," [Online]. Available: https://zonedstorage.io/docs/introduction/zns. [Accessed 12 July 2023].
[24] K. Eshghi and R. Micheloni, "SSD Architecture and PCI Express Interface," Inside Solid State Drives (SSDs), Springer, Singapore, pp. 19-45, 2013.
[25] S. Kim and J.-S. Yang, "Optimized I/O determinism for emerging NVM-based NVMe SSD in an enterprise system," in Proceedings of the 55th Annual Design Automation Conference, San Francisco, CA, USA, pp. 1-6, 2018.
[26] NVM Express®, "NVM Express® Base Specification Revision 2.0," 4 October 2022. [Online]. Available: https://nvmexpress.org/changes-in-nvm-express-revision-2-0/. [Accessed 13 July 2023].
[27] F. Bellard, "QEMU," Software Freedom Conservancy, [Online]. Available: https://www.qemu.org/. [Accessed 13 July 2023].
[28] C.-H. Wu, Design and implement a face recognition system combining embedded device and mobile phone application, M.S. thesis, Department of Engineering Science, National Cheng Kung University, Tainan, Taiwan, 2022.
[29] W.-S. Huang, An Approach to Buffering I/O in Host Memory for Zoned Namespace Solid-State Drive, M.S. thesis, Department of Engineering Science, National Cheng Kung University, Tainan, Taiwan, 2023.