| 研究生: |
柯宗銘 Ke, Zong-Ming |
|---|---|
| 論文名稱: |
改善鍵值快取系統於非揮發式記憶體之效能 Improving Performance of Key-value Caching Systems on Non-volatile Memory |
| 指導教授: |
張大緯
Chang, Da-Wei |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 資訊工程學系 Department of Computer Science and Information Engineering |
| 論文出版年: | 2020 |
| 畢業學年度: | 109 |
| 語文別: | 英文 |
| 論文頁數: | 43 |
| 中文關鍵詞: | 非揮發式記憶體 、相變化記憶體 、鍵值系統 、效能 |
| 外文關鍵詞: | Non-volatile memory, Phase change memory, Key-value system, Performance |
| 相關次數: | 點閱:225 下載:0 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
新興非揮發式記憶體被認為有可能在未來取代 DRAM 或與DRAM並存於計算機系統中。然而,多階層非揮發式記憶體上的資料保留時間和寫入效能之間需要取捨。因此,為資料選擇合適的保留時間成為一個重要的議題。現今,鍵值快取系統已被網路應用程式廣泛使用來減少從資料庫查詢特定資料所需的延遲。在非揮發式記憶體上開發鍵值快取系統可以降低儲存設備的成本,並使鍵值快取系統能夠將數據持久儲存在非揮發式記憶體上。然而,由於非揮發式記憶體的寫入和讀取之間的性能不對稱,因此在沒有軟體最佳化的情況下,在非揮發式記憶體上開發鍵值快取系統可能會導致性能下降。先前的研究主要集中在改善鍵值系統的索引結構以減少對非揮發式記憶體的寫入。本研究提出一個稱為 Dual-KV 的架構,可以使鍵值快取系統能夠利用兩種資料保留時間來寫入資料且不需要大幅度的軟體重構。Dual-KV 提供介面讓鍵值快取系統能夠預測熱門資料,並針對熱門資料使用較快的寫入方式來提升系統效能。根據實驗結果,在單一客戶端的工作負載下 Dual-KV 可以提升 43% 的吞吐量,並將請求延遲降低 30%。在多客戶端的工作負載下 Dual-KV 可以提升 83% 的吞吐量,並將請求延遲降低 45%。
Emerging non-volatile memories (NVM) are considered to potentially replace or be equipped with DRAM in the near future. However, there exists a tradeoff between data retention time and write performance on multi-level cell (MLC) NVM. Therefore, choosing appropriate retention time for data has become a critical issue. Nowadays, key-value cache systems are widely used by web applications to reduce the latency when querying specific data from the databases. Building key-value cache systems on NVM can reduce the cost of memory devices and make these systems capable of persisting data on NVM. However, due to the performance asymmetry between the write operations and read operations of NVM, building key-value cache systems on NVM without software optimization may lead to declines in performance. Previous studies have mainly focused on improving the indexing structures of key-value systems to reduce write requests to NVM. In this paper, we propose Dual-KV, a mechanism which enables key-value cache systems to take advantage of dual retention write schemes without significant software refactoring. Dual-KV provides interfaces for key-value cache systems to predict hot items and adopt dual retention write schemes intended to improve system performance. The experimental results show that under single client workloads, Dual-KV improves throughput by as high as 43% and reduces request latency by as much as 30% compared to the unmodified Memcached. Under multiclient workloads, Dual-KV improves throughput by as high as 83% and reduce request latency by as much as 45% compared to the unmodified Memcached.
[1] Memcached. https://memcached.org/.
[2] R.-S. Liu, D.-Y. Shen, C.-L. Yang, S.-C. Yu, and C.-Y. M. Wang, ‘‘NVM duet: Unified working memory and persistent store architecture,’’ ACM SIGARCH Comput. Archit. News, vol. 42, no. 1, pp. 455–470, 2014.
[3] M. Zhang, L. Zhang, L. Jiang, Z. Liu, and F. T. Chong, “Balancing performance and lifetime of MLC PCM by using a region retention monitor,” in Symp. on High-Performance Computer Architecture (HPCA), 2017, pp. 385–396.
[4] B. F. Cooper, A. Silberstein, E. Tam, R. Ramakrishnan, and R. Sears. “Benchmarking Cloud Serving Systems with YCSB,” in Proc. 1st ACM Symp. on Cloud Computing (SoCC), New York, NY, USA, 2020, pp. 143–154.
[5] B. Atikoglu et al., “Workload Analysis of a LargeScale Key-Value Store,” Proc. 12th ACM SIGMETRICS/Performance Joint Int’l Conf. Measurement and Modeling of Computer Systems (SIGMETRICS), London, United Kingdom, 2012, pp. 53–64.
[6] Q. Huang, H. Gudmundsdottir, Y. Vigfusson, D. A. Freedman, K. Birman, and R. van Renesse, “Characterizing load imbalance in real-world networked caches,” in Proc. 13th ACM Workshop on Hot Topics in Networks (HotNets), New York, NY, USA, 2014, pp. 8:1–8:7
[7] J. Chen, L. Chen, S. Wang et al., “HotRing: A Hotspot-Aware In-Memory Key-Value Store,” in Proc. 18th USENIX Conference on File and Storage Technologies (FAST), Santa Clara, CA, USA, 2020, pp. 239–252
[8] L. Tang, Q. Huang, W. Lloyd, S. Kumar, and K. Li, “RIPQ: Advanced photo caching on flash for Facebook,” in Proc. 13th USENIX Conference on File and Storage Technologies (FAST), Santa Clara, CA, USA 2015, pp. 373–386.
[9] A. Eisenman, A. Cidon, and et al., “Flashield: a hybrid key-value cache that controls flash write amplification,” in Proc. 16th USENIX Symp. Networked Systems Design and Implementation (NSDI), Boston, MA, USA, 2019, pp. 65–78.
[10] A. Blankstein, S. Sen, and M. J. Freedman, “Hyperbolic Caching: Flexible Caching for Web Applications,” in Proc. USENIX Annual Technical Conf. (USENIXATC), Santa Clara, CA, USA, 2017, pp.499–511
[11] S. Raoux, G. W. Burr, M. J. Breitwisch, C. T. Rettner, Y.-C. Chen, R. M. Shelby, M. Salinga, D. Krebs, S.-H. Chen, H.-L. Lung, and C. H. Lam, “Phase-Change Random Access Memory: A Scalable Technology” IBM Journal of Research and Development, vol. 52, no. 4.5, pp. 465-479, Jul. 2008, DOI: 10.1147/rd.524.0465.
[12] D. B. Strukov, G. S. Snider, D. R. Stewart, and R. S. Williams, “The Missing Memristor Found,” Nature, vol. 453, pp. 80-83, May 2008.
[13] T. Kawahara, “Scalable Spin-Transfer Torque RAM Technology for Normally-Off Computing,” Design & Test of Computers, vol. 28, no. 1, pp. 52-63, Jan.-Feb. 2011.
[14] K. Vättö, I. Cutress, and R. Smith, “Analyzing Intel-Micron 3D XPoint: The Next Generation Non-Volatile Memory,” Jul. 2015. [Online]. Available: https://www.anandtech.com/show/9470/intel-and-micron-announce-3d-xpoint-nonvolatile-memory-technology-1000x-higher-performance-endurance-than-nand
[15] “DDR4 SDRAM NVRDIMM MTA36ASS4G72XF1Z,” Micron Technology Inc., 2020. Micron Inc.
[16] J. Coburn, A. M. Caulfield, A. Akel, L. M. Grupp, R. K. Gupta, R. Jhala, and S. Swanson, “NV-Heaps: Making persistent objects fast and safe with next-generation, non-volatile memories,” in Proc. 16th Int. Conf. Architectural Support, for Programming Languages and Operating Systems (ASPLOS), 2011, pp. 105–118
[17] H. Volos, A. J. Tack, and M. M. Swift. “Mnemosyne: Lightweight persistent memory,” in Proc. 16th Int. Conf. Architectural Support, for Programming Languages and Operating Systems (ASPLOS), 2011, pp. 91–104
[18] Y. Chen, Y. Lu, F. Yang et al., “FlatStore: An Efficient Log-Structured Key-Value Storage Engine for Persistent Memory,” in Proc. 25th Int. Conf. Architectural Support, for Programming Languages and Operating Systems (ASPLOS), 2020, pp. 1077–1091.
[19] F, Xia, D. Jiang, J. Xiong, and N. Sun, “HiKV: A Hybrid Index Key-Value Store for DRAM-NVM Memory Systems,” in Proc. USENIX Annual Technical Conf. (USENIXATC), Santa Clara, CA, USA, 2017, pp. 349–362.
[20] A. Cidon, A. Eisenman, M. Alizadeh, and S. Katti, “Cliffhanger: Scaling performance cliffs in web memory caches,” in Proc. 13th USENIX Symp. Networked Systems Design and Implementation (NSDI), Santa Clara, CA, March 2016, pp. 379–392.
[21] A. Cidon, D. Rushton, S. M. Rumble et al., “Memshare: a Dynamic Multi-tenant Key-value Cache,” in Proc. USENIX Annual Technical Conf. (USENIXATC), Santa Clara, CA, USA, 2017, pp. 321–334.
[22] X. Wu, F. Ni, L. Zhang, Y. Wang, Y. Ren, M. Hack, Z. Shao, and S. Jiang, “Nvmcached: An nvm-based key-value cache,” in Proc. 7th ACM SIGOPS Asia-Pacific Workshop on Systems, 2016, Art. no. 18.
[23] B. Debnath, A. Haghdoost, A. Kadav, M. G. Khatib, and C. Ungureanu, “Revisiting hash table design for phase change memory,” in Proc. 3rd Workshop Interactions NVM/FLASH Operating Syst. Workloads, 2015, Art. no. 1.
[24] X. Zhang, D. Feng, Y. Hua et al., “A Write-efficient and Consistent Hashing Scheme for Non-Volatile Memory”, in Proc. 47th Int’l Conf. Parallel Processing (ICPP), 2018, Art. no. 87.
[25] P. Zuo and Y. Hua, “A write-friendly hashing scheme for non-volatile memory systems,” in Proc. MSST, 2017.
[26] P. Zuo, Y. Hua, and J. Wu, “Write-optimized and high-performance hashing index scheme for persistent memory,” in Proc. 13th USENIX Symposium on Operating Systems Design and Implementation (OSDI), 2018, pp. 461–476
[27] M. Nam, H. Cha et al., “Write-Optimized Dynamic Hashing for Persistent Memory,” in Proc. 17th USENIX Conference on File and Storage Technologies (FAST), 2019, pp. 31–44.
[28] A. van Renen, V. Leis et al., “Managing Non-Volatile Memory in Database Systems,” in Proc. Int’l. Conf. Management of Data (SIGMOD), 2018, pp. 1541–1555.
[29] D. Bittman, D. Long, P. Alvaro, and E. Miller, “Optimizing systems for byte-addressable NVM by reducing bit flipping,” in Proc. 17th USENIX Conf. File Storage Technol. (FAST), 2019, pp. 17–30.
[30] R. Pagh and F. Rodler, “Cuckoo hashing,” in Algorithms – ESA, 2001, ser. Lecture Notes in Computer Science. Springer Berlin Heidelberg, 2001, vol. 2161, pp. 121–133
[31] R. Karedla, J. S. Love and B. G. Wherry, "Caching strategies to improve disk system performance," in Computer, vol. 27, no. 3, pp. 38-46, March 1994, doi: 10.1109/2.268884.
[32] L. Cherkasova and G. Ciardo, "Role of Aging, Frequency, and Size in Web Cache Replacement Policies", in HPCN Europe 2001, LNCS 2110, pp.114-123, 2001
[33] M. K. Qureshi, V. Srinivasan, and J. A. Rivers, “Scalable High Performance Main Memory System Using Phase-Change Memory Technology,” in Proc. 36th International Symposium on Computer Architecture (ISCA), 2009, pp. 24–33
[34] D. Narayanan and O. Hodson, “Whole-system persistence,” in Proc. ACM SIGARCH Comput. Archit. News, vol. 40, no. 1, pp. 401–410, 2012
[35] FAGIN, R., NIEVERGELT, J., PIPPENGER, N., AND STRONG, H. R. “Extendible hashing - a fast access method for dynamic files,” in ACM Trans. Database Syst. 4, 3 (Sept. 1979)
[36] M. K. Qureshi, M. M. Franchescini, V. Srinivasan, L. A. Lastras, B. Abali, and J. Karidis, “Enhancing lifetime and security of pcmbased main memory with start-gap wear leveling,” in Proc. International Symposium on Microarchitecture, 2009
[37] M. K. Qureshi, A. Seznec, L. A. Lastras, and M. M. Franchescini, “Practical and secure pcm systems by online detection of malicious write streams,” in Proc. 17th International Symposium on High Performance Computer Architecture (HPCA), 2011
校內:2025-11-25公開