簡易檢索 / 詳目顯示

研究生: 陳彥廷
Chen, Yen-Ting
論文名稱: 鍵值固態硬碟效能提升之高效管理策略
Efficient Management Strategies for Performance Enhancement of Key-Value Solid-State Drives
指導教授: 石維寬
Shih, Wei-Kuan
口試委員: 王廷基
Wang, Ting-Chi
張原豪
Chang, Yuan-Hao
黃柏鈞
Huang, Po-Chun
陳郁方
Chen, Yu-Fang
學位類別: 博士
Doctor
系所名稱: 電機資訊學院 - 資訊工程學系
Computer Science
論文出版年: 2021
畢業學年度: 109
語文別: 英文
論文頁數: 74
中文關鍵詞: 鍵值儲存快閃記憶體固態硬碟快閃記憶體轉換層
外文關鍵詞: Key-Value Store, Flash Memory, Solid-State Drive, Flash Translation Layer
相關次數: 點閱:2下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 近年來鍵值儲存 (Key-Value Store) 因其優秀的效能而盛行於大規模及數據驅動的儲存應用中,為了因應此市場,更有為了鍵值儲存應用而量身打造的儲存硬碟(KVHDD)被商業化,在此趨勢下,亦有部分研究致力於發展一種相容於鍵值儲存應用的新型固態硬碟(KVSSD)。基於KVSSD的架構,有一部分的研究提出將現有且較流行的鍵值管理策略整合進KVSSD並盡量針對SSD的特性做優化的設計,然而這樣的管理策略沒有考慮從架構上針對SSD的特性來重新設計,因而僅能達到有限的KVSSD效能優化。在本研究中,我們基於KVSSD的架構提出了兩種不同的鍵值管理策略,針對不同規格的KVSSD,每一種策略皆有其觀察因而有不同的設計目標與機制。針對單芯片的KVSSD,此研究中的第一種管理策略提出將欲儲存之鍵值用多個較小且不同大小的儲存單位 (Partitions) 來儲存與管理,進而達到空間利用率與效能的最佳化。針對多芯片的KVSSD,此研究中的第二種管理策略提出將鍵值分成兩層來儲存與管理,第一層利用KVSSD的內部平行度來平行寫入鍵值,藉而達到寫入效能之最大化,第二層則將鍵值用較小的儲存單位儲存來減輕內部回收無效資料之負擔,進而提高KVSSD的存取效能。
    iii


    Due to the growing demand for key-value stores in large-scale and data-driven storage applications, hard-disk drives tailored for key-value applications have been commercialized. To further pursue better performance for key-value applications, various researches were conducted by adopting different architectures of flash devices such as solid-state drives (KVSSDs). Furthermore, some researches are devoted to improving the performance by integrating the existing popular key-value management strategies into KVSSDs and then eliminating the occurred internal overheads as possible. However, the true potential of KVSSDs cannot be well exploited without re-designing the key-value management strategies based on the characteristics of SSDs. Thus, this study proposes two different key-value management strategies for KVSSDs, each of which is developed with its own design goal. The first key-value management strategy, called key-value flash translation layer (KVFTL), is designed to co-optimize the storage space utilization and device performance for single-chip KVSSDs. On the other hand, the second key-value management strategy, called Parallel-Log-Single-Compaction-Tree (PLSC-tree), is designed to achieve high device performance for multi-chip KVSSDs. Both of the proposed key-value management strategies were evaluated based on the well-known simulators, and the results are very encouraging.
    v

    Abstract in Chinese iii Abstract v Acknowledgment vii Contents ix List of Figures xii List of Tables xiii 1 Introduction 1 2 Background 6 2.1 Characteristics of Solid-State Drives . . . . . . . . . . . . . . . . . . 6 2.2 Key-Value Hard-Disk Drives . . . . . . . . . . . . . . . . . . . . . . . 8 2.3 LevelDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3 Management Strategy for Single-Chip Key-Value Solid-State Drives 12 3.1 Detailed Observations and Motivation . . . . . . . . . . . . . . . . . 12 3.2 KVFTL: Key-Value Flash Translation Layer . . . . . . . . . . . . . . 14 3.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.2.2 New Storage Units: Various Sizes of Partitions . . . . . . . . 15 3.2.3 Partition-Based Space Manager . . . . . . . . . . . . . . . . . 17 3.3 Co-optimization of Storage Space Utilization and Device Performance 29 3.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.3.2 Restriction on the Smallest Partition Size . . . . . . . . . . . 31 3.3.3 Restriction on the Number of Partitions . . . . . . . . . . . . 32 3.3.4 Restriction on the Wasted Storage Space . . . . . . . . . . . . 33 3.4 Performance Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.4.1 Experimental Setup . . . . . . . . . . . . . . . . . . . . . . . 34 3.4.2 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . 37 4 Management Strategy for Multi-Chip Key-Value Solid-State Drives 48 4.1 Detailed Observations and Motivation . . . . . . . . . . . . . . . . . 48 4.2 PLSC-tree: Parallel-Log-Single-Compaction-Tree . . . . . . . . . . . 49 4.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.2.2 Parallel-Log: Optimization of Write Performance . . . . . . . 51 4.2.3 Single-Compaction: Alleviation of Recycling Overheads . . . . 54 4.3 Performance Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.3.1 Experimental Setup . . . . . . . . . . . . . . . . . . . . . . . 56 4.3.2 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . 58 5 Conclusion 62 References 65 Publication List 73

    [1] A. R. Abdurrab, T. Xie, and W. Wang. Dloop: A flash translation layer exploiting plane-level parallelism. In 2013 IEEE 27th International Symposium on Parallel and Distributed Processing, pages 908–918, May 2013.
    [2] Nitin Agrawal, Vijayan Prabhakaran, Ted Wobber, John D. Davis, Mark Manasse, and Rina Panigrahy. Design tradeoffs for ssd performance. In USENIX 2008 Annual Technical Conference, ATC’08, page 57–70, USA, 2008. USENIX Association.
    [3] B. Atikoglu, Y. Xu, E. Frachtenberg, S. Jiang, and M. Paleczny. Workload analysis of a large-scale key-value store. In SIGMETRICS, pages 53–64, 2012.
    [4] A. Ban. Flash File System. US Patent 5,404,485. In M-Systems, April 1995.
    [5] A. Ban. Flash-memory Translation Layer for NAND flash (NFTL). M-Systems, 1998.
    [6] A. Birrell, M. Isard, C. Thacker, and T. Wobber. A Design for HighPerformance Flash Disks. In SIGOPS Oper. Syst. Rev, pages 88–93, April 2005.
    [7] F. Chang, J. Dean, S. Ghemawat, W. C. Hsieh, D. A. Wallach, M. Burrows, T. Chandra, A. Fikes, and R. E. Gruber. Bigtable: A distributed storage system for structured data. ACM Trans. Comput. Syst., 26(2):4:1–4:26, June 2008.
    [8] B. F. Cooper, A. Silberstein, E. Tam, R. Ramakrishnan, and R. Sears. Benchmarking cloud serving systems with ycsb. In SoCC, pages 143–154, 2010.
    [9] Niv Dayan, Manos Athanassoulis, and Stratos Idreos. Monkey: Optimal navigable key-value store. In Proceedings of the 2017 ACM International Conference on Management of Data, SIGMOD ’17, page 79–94, New York, NY, USA, 2017. Association for Computing Machinery.
    [10] G. DeCandia, D. Hastorun, M. Jampani, G. Kakulapati, A. Lakshman, A. Pilchin, S. Sivasubramanian, P. Vosshall, and W. Vogels. Dynamo: Amazon’s highly available key-value store. In SOSP, pages 205–220, 2007.
    [11] Siying Dong, Mark D. Callaghan, Leonidas Galanis, Dhruba Borthakur, T. Savor, and Michael Strum. Optimizing space amplification in rocksdb. In CIDR, 2017.
    [12] Nima Elyasi, Mohammad Arjomand, Anand Sivasubramaniam, Mahmut T.
    Kandemir, Chita R. Das, and Myoungsoo Jung. Exploiting intra-request slack to improve ssd performance. In Proceedings of the Twenty-Second International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS ’17, page 375–388, New York, NY, USA, 2017. Association for Computing Machinery.
    [13] A. Gupta, Y. Kim, and B. Urgaonkar. DFTL: a flash translation layer employing demand-based selective caching of page-level address mappings. In ASPLOS, 2009.
    [14] Y. Hu, H. Jiang, D. Feng, L. Tian, H. Luo, and C. Ren. Exploring and exploiting the multilevel parallelism inside ssds for improved performance and endurance. IEEE Transactions on Computers, 62(6):1141–1155, June 2013.
    [15] J. Shu J. Zhang, Y. Lu and X. Qin. Flashkv: Accelerating kv performance with open-channel ssds. ACM Trans. Embed. Comput. Syst., 16(5s):139:1–139:19, September 2017.
    [16] Y. Jin, H. W. Tseng, Y. Papakonstantinou, and S. Swanson. Kaml: A flexible, high-performance key-value ssd. In 2017 IEEE International Symposium on High Performance Computer Architecture (HPCA), pages 373–384, Feb 2017.
    [17] Yangwook Kang, Rekha Pitchumani, Pratik Mishra, Yang-suk Kee, Francisco Londono, Sangyoon Oh, Jongyeol Lee, and Daniel D. G. Lee. Towards building a high-performance, scale-in key-value storage system. In Proceedings of the 12th ACM International Conference on Systems and Storage, SYSTOR ’19, page 144–154, New York, NY, USA, 2019. Association for Computing Machinery.
    [18] Sudarsun Kannan, Nitish Bhat, Ada Gavrilovska, Andrea Arpaci-Dusseau, and Remzi Arpaci-Dusseau. Redesigning lsms for nonvolatile memory with novelsm. In 2018 USENIX Annual Technical Conference (USENIX ATC 18), pages 993–1005, Boston, MA, July 2018. USENIX Association.
    [19] J. Kim, J. M. Kim, S. H. Noh, S. L. Min, and Y. Cho. A Space-Efficient Flash Translation Layer For CompactFlash Systems. IEEE Transactions on Consumer Electronics, Nov 2002.
    [20] A. Lakshman and P. Malik. Cassandra: A decentralized structured storage system. SIGOPS Oper. Syst. Rev., 44(2):35–40, April 2010.
    [21] Changman Lee, Dongho Sim, Jooyoung Hwang, and Sangyeun Cho. F2fs: A new file system for flash storage. In 13th USENIX Conference on File and Storage Technologies (FAST 15), pages 273–286, Santa Clara, CA, February 2015. USENIX Association.
    [22] S.-W. Lee, D.-J. Park, T.-S. Chung, D.-H. Lee, S. Park, and H.-J. Song. A log buffer-based flash translation layer using fully-associative sector translation. ACM Transactions on Embedded Computing Systems, 6(3), July 2007.
    [23] H. Lim, B. Fan, D. G. Andersen, and M. Kaminsky. Silt: A memory-efficient, high-performance key-value store. In SOSP, pages 1–13, 2011.
    [24] L. Lu, T. S. Pillai, A. C. Arpaci-Dusseau, and R. H. Arpaci-Dusseau. Wisckey: Separating keys from values in ssd-conscious storage. In FAST, pages 133–148, Santa Clara, CA, February 2016.
    [25] Y. Lu, J. Shu, and W. Zheng. Extending the lifetime of flash-based storage through reducing write amplification from file systems. In FAST, pages 257–270, 2013.
    [26] Umesh Maheshwari. Stripefinder: Erasure coding of small objects over keyvalue storage devices (an uphill battle). In 12th USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage 20). USENIX Association, July 2020.
    [27] Bo Mao, Suzhen Wu, and Lide Duan. Improving the ssd performance by exploiting request characteristics and internal parallelism. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 37(2):472–484, 2018.
    [28] L. Mármol, S. Sundararaman, N. Talagala, R. Rangaswami, S. Devendrappa, B. Ramsundar, and S. Ganesan. Nvmkv: A scalable and lightweight flash aware key-value store. In HotStorage, pages 8–8, 2014.
    [29] Jingpei-Yang. OpenMPDK v0.7.0, 2018 repository.
    https://github.com/openmpdk/kvssd/.
    [30] Samsung. Samsung SSD Datasheets repository.
    https://www.samsung.com/semiconductor/minisite/ssd/download/documents/.
    [31] Sanjay Ghemawat and Jeff Dean. LevelDB repository.
    https://github.com/google/leveldb.
    [32] Seagate. Kinetic HDD repository. http://www.seagate.com/products/enterpriseservers-storage/nearline-storage/kinetic-hdd/.
    [33] The Apache Software Foundation. Apache HBase repository.
    https://hbase.apache.org/.
    [34] Y. Hu, Z. Zhu, S. Zhang, C. Ren, and H. Luo. SSDsim repository.
    https://github.com/huaicheng/ssdsim.
    [35] Robert M. Metcalfe and David R. Boggs. Ethernet: Distributed packet switching for local computer networks. Commun. ACM, 19(7):395–404, July 1976.
    [36] Changwoo Min, Kangnyeon Kim, Hyunjin Cho, S W Lee, Young Ik Eom,
    Sungkyunkwan Abde, Korea, and Samsung Electronics. Sfs: Random write
    considered harmful in solid state drives. 01 2012.
    [37] Patrick O’Neil, Edward Cheng, Dieter Gawlick, and Elizabeth O’Neil. The log-structured merge-tree (lsm-tree). Acta Inf., 33(4):351–385, June 1996.
    [38] Rekha Pitchumani and Yang-Suk Kee. Hybrid data reliability for emerging keyvalue storage devices. In 18th USENIX Conference on File and Storage Technologies (FAST 20), pages 309–322, Santa Clara, CA, February 2020. USENIX Association.
    [39] Mian Qin, A. L. Narasimha Reddy, Paul V. Gratz, Rekha Pitchumani, and Yang Seok Ki. KVRAID: High Performance, Write Efficient, Update Friendly Erasure Coding Scheme for KV-SSDs. Association for Computing Machinery, New York, NY, USA, 2021.
    [40] Z. Qin, Y. Wang, D. Liu, Z. Shao, and Y. Guan. Mnftl: An efficient flash translation layer for mlc nand flash memory storage systems. In DAC, pages 17–22, June 2011.
    [41] Samsung. Samsung Key Value SSD. https://www.samsung.com/
    semiconductor/global.semi.static/Samsung_Key_Value_SSD_enables_
    High_Performance_Scaling-0.pdf, 2019.
    [42] Hitachi Data Systems. Hitachi Accelerated Flash-An Innovative Approach to Solid-State Storage. Technical report, Hitachi, November 2015.
    [43] P. Wang, G. Sun, S. Jiang, J. Ouyang, S. Lin, C. Zhang, and J. Cong. An efficient design and implementation of lsm-tree based key-value store on openchannel ssd. In EuroSys, pages 16:1–16:14, 2014.
    [44] W. Wang, Y. Lu, and J. Shu. p-oftl: An object-based semantic-aware parallel flash translation layer. In DATE, pages 1–6, March 2014.
    [45] S. Wu, K. Lin, and L. Chang. Kvssd: Close integration of lsm trees and flash translation layer for write-efficient kv store. In 2018 Design, Automation Test in Europe Conference Exhibition (DATE), pages 563–568, March 2018.
    [46] J. Hsieh Y. Chang and T. Kuo. Endurance enhancement of flash-memory storage systems: An efficient static wear leveling design. In Proceedings of the 44th Annual Design Automation Conference, DAC ’07, pages 212–217, New
    York, NY, USA, 2007. ACM.
    [47] Ming-Chang Yang, Yu-Ming Chang, Che-Wei Tsao, Po-Chun Huang, Yuan-Hao Chang, and Tei-Wei Kuo. Garbage collection and wear leveling for flash memory: Past and future. In 2014 International Conference on Smart Computing, pages 66–73, 2014.
    [48] K. Y. Yun and D. L. Dill. A High-Performance Asynchronous SCSI Controller. In ICCD, pages 44–49, October 1995.
    [49] Y. Jia Z. Shen, F. Chen and Z. Shao. Didacache: A deep integration of device and application for flash based key-value caching. In 15th USENIX Conference on File and Storage Technologies (FAST 17), pages 391–405, Santa Clara, CA, 2017. USENIX Association.
    [50] Wenshao Zhong, Chen Chen, Xingbo Wu, and Song Jiang. REMIX: Efficient range query for lsm-trees. In 19th USENIX Conference on File and Storage Technologies (FAST 21), pages 51–64. USENIX Association, February 2021.

    QR CODE