| 研究生: |
呂怡欣 Lu, Yi-Hsin |
|---|---|
| 論文名稱: |
固態硬碟為基礎之共享儲存系統上動態效益感知快取分割機制之設計與實作 Design and Implementation of a Runtime Utility-aware Cache Partitioning Scheme for SSD-based Shared Storage |
| 指導教授: |
張大緯
Chang, Da-Wei |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 資訊工程學系 Department of Computer Science and Information Engineering |
| 論文出版年: | 2017 |
| 畢業學年度: | 105 |
| 語文別: | 英文 |
| 論文頁數: | 39 |
| 中文關鍵詞: | 固態硬碟 、虛擬硬碟 、寫入緩衝 、快取分割機制 、效能獨立 |
| 外文關鍵詞: | Cache allocation, Shared Cache, Performance Isolation, Flash memory |
| 相關次數: | 點閱:88 下載:2 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
近年來, 使用者傾向將資料存放在共享儲存系統上以節省成本。傳統上, 共享儲存系統大多使用磁碟當作主要的共享儲存裝置, 由於固態硬碟相比於傳統的磁碟,耗電量較低、面積也比較小,因此固態硬碟在共享系統中越來越常見。但因為固態硬碟的物理特性為在寫入資料前必需先進行抹除的動作,由於抹除單位比寫入單位大很多的緣故,所以寫入動作為固態硬碟中主要的效能瓶頸。因此通常固態硬碟會包含一個寫入快取緩衝, 用以減少實際的硬碟的寫入操作,有效的降低資料處理時間以提升整體效能。
當不同的使用者在共享儲存裝置時, 使用者會指定其所需要的服務目標(Service Level Objectives, SLO)。每個使用者之間都必須達到獨立表現的目標而不受到干擾。因此, 本篇論文提出一個有效的效能隔離方法, 稱為CVSSD , 透過此方法確保每個使用者的效能夠維持不受干擾, 並透過改善快取分配的空間大小, 實際上根據實質從快取獲得效益分析,妥善的分配快取資源給使用利用。
實驗中, 我們的方法能有效達成效能隔離的目標並和對照組相比,效能平均提高了23.6%。此外, 我們的方法也能有效透過分配緩衝空間來降低在固態硬碟中最耗時的GC operation的時間, 平均改善了19%
Shared storage system allows data from multiple sources to be consolidated on the same physical storage, bring advantages such as better utilization, lower hardware and maintenance costs. SSD has characteristics superior to traditional disks and have becoming the mainstream of storage media. SSD usually adopt an internal device DRAM cache. The internal device cache of SSDs has been quite successful to mask inefficiency of random write and is crucial determinant on the performance.
Heterogonous applications that share the same storage system should realize same efficiency as it running alone. The goal of CVSSD is to explicitly manage cache resource to bound the inefficiency arising from inter-service and cache interference in shared environment, allocating caches by their utility benefit. Furthermore, uses cache source as knob to provide performance control for meeting a specific goal.
Evaluation results show that CVSSD can improve by up to 47% (23.6% on average) relative to baseline static partitioning and shows the effectiveness when maximizing average IO throughput. CVSSD also implements per-VM share for GC operation cost with less than 19%, outperformed to conventional based method. Moreover, the area overhead is insignificant (about 0.001%)
[1] D. W. Chang, H. H. Chen, and W. J. Su, “VSSD: Performance Isolation in a Solid-State Drive,” Acm Transactions on Design Automation of Electronic Systems(TODAES), vol. 20, no. 4, Sep, 2015.
[2] 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), 2014, pp. 133-144.
[3] Y. Li, D. Feng, and Z. Shi, "Enhancing both fairness and performance using rate-aware dynamic storage cache partitioning," in Proceedings of the 2013 International Workshop on Data-Intensive Scalable Computing Systems, 2013, pp. 31-36.
[4] H. S. Stone, J. Turek, and J. L. Wolf, "Optimal partitioning of cache memory," IEEE Transactions on computers, vol. 41, pp. 1054-1068, 1992.
[5] M. K. Qureshi and Y. N. Patt, "Utility-based cache partitioning: A low-overhead, high-performance, runtime mechanism to partition shared caches," in Proceedings of the 39th Annual IEEE/ACM International Symposium on Microarchitecture, 2006, pp. 423-432.
[6] A. Samih, A. Krishna, and Y. Solihin, "Understanding the limits of capacity sharing in CMP Private Caches," in 16th IEEE Inter. Symp. on High Performance Comp. Arch, 2009.
[7] G. E. Suh, L. Rudolph, and S. Devadas, "Dynamic partitioning of shared cache memory," The Journal of Supercomputing, vol. 28, pp. 7-26, 2004.
[8] 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, 2013, pp. 103-112.
[9] R. Koller, A. J. Mashtizadeh, and R. Rangaswami, "Centaur: Host-side SSD caching for storage performance control," in Autonomic Computing (ICAC), 2015 IEEE International Conference on, 2015, pp. 51-60.
[10] N. Agrawal, V. Prabhakaran, T. Wobber, J. D. Davis, M. S. Manasse, and R. Panigrahy, "Design Tradeoffs for SSD Performance," in USENIX Annual Technical Conference, 2008, pp. 57-70.
[11] (2014). Micron NAND Flash Memory - MLC+. [Online]. Available: https://www.micron.com/products/nand-flash/mlc-nand/mlc-nand-part-catalog#/
[12] P. Cao, E. W. Felten, A. R. Karlin, and K. Li, "Implementation and performance of integrated application-controlled file caching, prefetching, and disk scheduling," ACM Transactions on Computer Systems (TOCS), vol. 14, pp. 311-343, 1996.
[13] R. Das, O. Mutlu, T. Moscibroda, and C. R. Das, "Application-aware prioritization mechanisms for on-chip networks," in Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture, 2009, pp. 280-291.
[14] J. M. Kim, J. Choi, J. Kim, S. H. Noh, S. L. Min, Y. Cho, et al., "A low-overhead high-performance unified buffer management scheme that exploits sequential and looping references," in Proceedings of the 4th conference on Symposium on Operating System Design & Implementation-Volume 4, 2000, p. 9.
[15] G. Yadgar, M. Factor, and A. Schuster, "Karma: Know-it-All Replacement for a Multilevel cAche," FAST, vol. 7, pp. 25-25, 2007.
[16] D.-W. Chang, H.-H. Chen, D.-J. Yang, and H.-P. Chang, "BLAS: Block-level adaptive striping for solid-state drives," ACM Transactions on Design Automation of Electronic Systems (TODAES), vol. 19, p. 21, 2014.
[17] S. Kang, S. Park, H. Jung, H. Shim, and J. Cha, "Performance trade-offs in using nvram write buffer for flash memory-based storage devices," IEEE Transactions on Computers, vol. 58, pp. 744-758, 2009.
[18] G. Wu, B. Eckart, and X. He, "BPAC: An adaptive write buffer management scheme for flash-based Solid State Drives," in 2010 IEEE 26th Symposium on Mass Storage Systems and Technologies (MSST), 2010, pp. 1-6.
[19] A. Jaleel, W. Hasenplaugh, M. Qureshi, J. Sebot, S. Steely Jr, and J. Emer, "Adaptive insertion policies for managing shared caches," in Proceedings of the 17th international conference on Parallel architectures and compilation techniques, 2008, pp. 208-219.
[20] D. Thiébaut, H. S. Stone, and J. L. Wolf, "Improving disk cache hit-ratios through cache partitioning," IEEE Transactions on Computers, vol. 41, pp. 665-676, 1992.
[21] M. Wachs, M. Abd-El-Malek, E. Thereska, and G. R. Ganger, "Argon: Performance Insulation for Shared Storage Servers," in FAST, 2007, pp. 5-5.
[22] C. R. Lumb, A. Merchant, and G. A. Alvarez, "Façade: Virtual Storage Devices with Performance Guarantees," in FAST, 2003, pp. 131-144.
[23] R. L. Mattson, J. Gecsei, D. R. Slutz, and I. L. Traiger, "Evaluation techniques for storage hierarchies," IBM Systems journal, vol. 9, pp. 78-117, 1970.
[24] P. J. Denning, "The locality principle," Communications of the ACM, vol. 48, pp. 19-24, 2005.
[25] (2009). SSD extension for DiskSim simulation environment. [Online]. Available: http://research.microsoft.com/en-us/downloads/b41019e2-1d2b-44d8-b512-ba35ab814cd4/
[26] (2015). Storage Networking Industry Association. [Online]. Available: http://iotta.snia.org/
[27] (2015). UMass Trace Repository. [Online]. Available: http://traces.cs.umass.edu/
[28] S. Microsystems. Solaris internals: Filebench.
[29] T. Austin, E. Larson, and D. Ernst, “SimpleScalar: an infrastructure for computer system modeling,” IEEE Trans. Comput., vol. 35, pp. 59-67, 2002.