天天看點

大型資料中心的存儲能耗問題與NVM在資料中心中的應用

        随着大資料、人工智能等新型應用的興起,存儲器件受到了越來越多的重視。在小 到手持嵌入式裝置、大到超級計算機的各類計算系統中,存儲器在降低系統的能耗、提 高系統可靠性和性能等方面扮演着至關重要的角色。另一方面,新型應用不斷朝着資料 密集型的方向發展,要求存儲器件在滿足成本和能耗限制的前提下實作性能的大幅提 升,而這也超出了傳統存儲器件所能提供的性能極限。例如,每分鐘有超過 300 小時的 視訊被上傳至 YouTobe[1],而在 Facebook 中,圖檔數量增長的速度為每分鐘 24.3 萬張[2]。據預測,未來的大規模系統需要處理 EB 量級的資料,若使用硬碟來建構這類系統, 僅執行檢查點和重新開機操作就會造成超過 50% 的性能損失 [3]。

        除了性能,能耗則是存儲系統所面臨的另一個主要挑戰。如圖1所示,根據 Google公司的統計資料,在其資料中心中,記憶體部分的平均能耗占整機能耗的 30%,硬碟的能 耗達到了總能耗的 10%,存儲系統(記憶體 + 硬碟)的總能耗超越了 CPU(33%)。此外,Google 還對其資料中心中計算密集型和服務密集型伺服器的能耗構成分别進行了統計: 在服務密集型伺服器中,雖然 CPU 是能耗最高的部件(60%),記憶體部分的能耗依然達 到了整機能耗的 19%,加上硬碟的能耗(5%),存儲系統的總能耗達到了整機能耗的約1/4(如圖2所示);而在服務密集型伺服器中,記憶體和硬碟的能耗分别達到了整機能 耗的 48% 和 12%,存儲系統的總能耗超越 CPU(30%),成為了能耗最高的子系統(如圖3所示)。根據美國橡樹嶺國家實驗室的測算,未來大型計算系統中對記憶體的需求 将達到至少 100PB,若使用現有的 DDR 記憶體來實作的話,僅記憶體部分的功耗就将達到52MW,這也遠遠超過了整機功耗 20MW 的設計目标 [4–6]。

大型資料中心的存儲能耗問題與NVM在資料中心中的應用
圖1 Google 資料中心伺服器中各部分能耗占比 [7]
大型資料中心的存儲能耗問題與NVM在資料中心中的應用
圖2 Google 資料中心中計算密集型伺服器的能耗構成分析 [8]
大型資料中心的存儲能耗問題與NVM在資料中心中的應用

圖3 Google 資料中心中服務密集型伺服器的能耗構成分析 [8]

        在上述現實需求的驅動下,研究人員開始越來越多地關注新型存儲器件。而新型 非易失存儲器(Non-Volatile Memory, NVM)因其在諸多方面的優良特性,被認為非常适合在未來的大規模系統中建構記憶體和永久性存儲器。現有新型 NVM 存儲器件主要包 括相變存儲器(Phase Change Memory, PCM)、自旋矩傳輸存儲器(Spin Transfer Torque RAM,STT-RAM)和憶阻器(Resistive RAM,ReRAM)等。與傳統存儲器件相比,NVM存儲器件的優勢主要展現在以下三方面:

  • 首先,NVM存儲器可以在消耗極少能量的同時實作非常高的存儲密度。例如,一 個典型的SRAM存儲單元的電路面積約為125−200F2(F為所使用的工藝制程所能實作的最小電路尺寸),而一個PCM存儲單元 的電路面積僅為 4 − 12F2[3,9]。
  • 其次,在傳統的計算機體系結構中,通常采用DRAM作為易失存儲器,同時采用 硬碟或 Flash 作為永久性存儲媒體,由于這些不同存儲媒體的通路延遲存在很大 差異,是以需要為不同的存儲媒體設計種類繁多的接口 [10,11]。而 NVM 存儲器 在存儲容量和寫壽命方面接近或優于 Flash,同時讀通路延遲與 DRAM 相近,因 此在 NVM 存儲器非常适合作為一種統一存儲媒體,進而實作計算機系統結構和 接口的簡化。
  • 第三,與 Flash 和硬碟相比,新型 NVM 存儲器最大的不同之處在于可以支援以 位元組為機關的細粒度尋址。這使得通過細粒度訪存調節優化系統性能成為可能。

        新型 NVM 存儲器與傳統存儲器的詳細對比如表1所示。盡管與 Flash、DRAM 等技術相比,基于 NVM 的存儲技術還不夠成熟,但是近年來研究人員已在如何開發和利用 NVM 材料特性方面進行了大量研究工作 [9]。目前,容 量為 1Gb 的憶阻器原型晶片已經通過了流片驗證 [13],基于該晶片可以建構的記憶體可支援 8-bank 并發,同時通過 DDR 接口實作 1GB/s 的訪存帶寬。另一方面,工業界的努 力也使得 NVM 存儲技術正在朝着大規模應用快速發展。Intel 和鎂光公司于 2016 年底聯合釋出了基于 PCM 的新一代存儲器産品 3D Xpoint[14],同期 HP 和 SanDisk 公司則 聯合推出了名為 SCM(Storage Class Memory)的 NVM 存儲器産品 [15]。此外,在美國能源部宣布,在下一代名為 Summit 的超級計算機中,在總共 3400 個計算節點中,每個 節點都将包含容量為 800GB 的 NVM 存儲器,而這些 NVM 存儲器可根據需要被配置為 緩沖存儲器或擴充記憶體 [16]。

表1 NVM 存儲器與傳統存儲器的量化對比 [3,9,12]

大型資料中心的存儲能耗問題與NVM在資料中心中的應用

        目前,從系統級研究的角度來看,NVM 存儲器在計算系統中的大規模應用還面臨 着很多關鍵性的挑戰。例如,與傳統存儲材料相比,NVM 存儲單元的寫壽命通常要低幾個數量級,但其寫通路延遲和寫通路能耗卻高出很多。此外,為了将 NVM 存儲器應 用于現有體系結構中并充分發揮其優勢,還需在接口、系統軟體等層面進行針對性的設計。

        對于寫延遲過大問題,一種主要的思路是通過提高寫通路的并行度隐藏寫延遲。例 如,文獻 [17] 通過對 PCM 寫通路中的能量配置設定進行細粒度控制,在降低寫操作能耗的 同時為熱點區域提供額外的能量,從能量角度提升了 PCM 存儲器寫操作并發度;文獻[18] 提出了一種名為 OptiPCM 的技術,使記憶體控制器通過光路連接配接大量 PCM 晶片,從 而提升寫訪存的并發度;而文獻 [19] 通過在總線結構上添加 buffer 使單層總線變為多 層總線,進而提升 NVM 存儲器的寫通路并發度。另一種常見思路是通過在 NVM 存儲 器的前端設定一個較大的緩存(如 DRAM Cache),将寫請求存儲在緩存後異步完成對NVM 存儲器的寫通路。例如:Lazy-Write 技術在 PCM 存儲器前端加入 DRAM cache, 當發生缺頁時,Lazy-Write 隻将硬碟中讀取的資料塊寫入 DRAM cache 中,降低了 PCM存儲器寫延遲過長對系統性能的影響 [20];文獻 [21] 提出了一種基于門檻值的 PCM 前置DRAM cache,當 DRAM cache 中的資料量超過門檻值時,會将部分資料寫入後端的 PCM存儲器中,通過這種方式保證了寫訪存請求的資料能夠及時寫入 DRAM cache,進而隐 藏了 PCM 存儲器的寫延遲;Meza 等人提出對 DRAM cache 進行細粒度管理的政策,并 通過将最近通路的資料行存儲在額外小容量 buffer 中提升了 PCM 中 DRAM cache 的訪 問性能 [22]。此外,由于讀訪存請求處于系統關鍵路徑之上,對于系統性能有着顯著影 響,而寫延遲過長會影響同一 Bank 中讀訪存請求的執行。是以,文獻 [23] 提出了一種基于寫暫停/中斷的性能優化方法,即當一個讀訪存請求到達 NVM 存儲器時,若相同Bank 正在執行寫訪存操作,則排程政策會将正在執行的寫訪存操作中斷,優先執行讀訪 存操作,待讀訪存操作完成後再繼續執行寫訪存操作。除了上述優化方法,文獻 [24] 還 提出了一種基于 PCM 寫操作中 SET 操作和 RESET 操作延遲不對稱性的優化方法,在 一個 cacheline 被改寫時立即對其在 PCM 記憶體中的相應資料行執行 SET 操作,待寫訪 存請求到達時再執行 RESET 操作,由于 RESET 操作的延遲小于 SET 操作,是以這種 方法可以縮短 PCM 存儲器的寫延遲。

        對于 NVM 寫操作壽命有限的問題,解決方案主要可以分為減少寫操作和寫分攤兩 種。在通過減少寫操作延長存儲器壽命的工作中,最直接的思路是對存儲單元的改寫進 行細粒度規劃,通過存儲器内置電路識别新寫入資料中發生變化的 bit 位,然後隻擦寫 狀态值發生改變的 bit 位 [25–27]。在此基礎上,一系列改進型方案通過為寫訪存請求選 擇需要改寫 bit 最少的區塊做為實際目标位址,進一步減少了寫操作中需要擦寫的存儲 單元數量 [28,29]。文獻 [20] 還介紹了一種以行為機關寫回政策,通過将目标位址在同 一行的的寫訪存請求進行合并減少對 NVM 存儲單元的擦寫。除了上述工作,一部分優 化工作通過對程式行為進行探測,識别出程式中已失效的資料,并不再将這些資料寫回NVM 存儲器,進而達到減少寫通路的目的 [30,31]。此外,寫分攤技術(Wear Leveling) 也是一類延緩 NVM 老化的有效手段。寫分攤技術是指通過将寫操作分攤至全體 NVM存儲單元,減少由于寫操作熱點造成的部分存儲單元過快老化,進而延長存儲器整體壽 命。其中,Start-Gap 技術通過将寫操作目标進行偏移,僅增加 8 位元組的額外存儲開銷, 可使存儲器壽命達到理論壽命的 95%[32]。與此類似的解決方案還包括将 cache line 在 記憶體頁間進行偏移 [20]、将 bit 在 cache line 内部進行偏移以及将 cache line 在段内進行 偏移 [25]。

        上述傳統體系結構方法雖然能夠對 NVM 存儲器的性能或壽命進行優化,但是其仍 存在諸多不足之處。首先,上述方法中往往需要增加一個或多個控制電路對寫訪存請求 進行分析、重定向等預處理操作,由于預處理操作處于寫訪存請求執行的關鍵路徑上, 是以當系統中寫訪存請求較多時,新增加的控制電路容易成為新的性能瓶頸。其次,上 述優化方法在對 NVM 存儲器的一個名額進行優化的同時,往往會以犧牲其他名額作為 代價。例如,在通過減少改寫 bit 位數量實作減緩存儲器老化速度的技術中,由于存儲 器内置電路需要計算改寫 bit 位的數量并選擇最優的存儲區塊,是以延長了寫通路的延 遲,當系統中寫通路請求較多時,此類方法會嚴重影響系統性能。此外,上述工作中往 往需要增加輔助存儲器,由此産生的資料同步、寫目标選擇操作會使得系統結構和排程 政策更加複雜。

參考文獻

[1] YouTube Company Statistics[C]//. 2018, https://www.statisticbrain.com/youtube-statistics/.

[2] Facebook Statistics[C]//. 2018, https://www.omnicoreagency.com/facebook-statistics/.

[3] DONG X, MURALIMANOHAR N, JOUPPI N P, et al. Leveraging 3D PCRAM technologies to re- duce checkpoint overhead for future exascale systems[C]//Proceedings of the ACM/IEEE Conference on High Performance Computing, SC 2009, November 14-20, 2009, Portland, Oregon, USA. 2009, http://doi.acm.org/10.1145/1654059.1654117.

[4] GIRIDHAR B, CIESLAK M, DUGGAL D, et al. Exploring DRAM organizations for energy-efficient and resilient exascale memories[C]//International Conference for High Performance Computing, Net- working, Storage and Analysis, SC’13, Denver, CO, USA - November 17 - 21, 2013. 2013:23:1–23:12, http://doi.acm.org/10.1145/2503210.2503215.

[5] MITTAL S, VETTER J S. A Survey of Methods for Analyzing and Improving GPU Energy Effi- ciency[J]. ACM Comput. Surv., 2014, 47(2):19:1–19:23. http://doi.acm.org/10.1145/2636342.

[6] VETTER J S, MITTAL S. Opportunities for Nonvolatile Memory Systems in Extreme-Scale High- Performance Computing[J]. Computing in Science and Engineering, 2015, 17(2):73–82. https://doi. org/10.1109/MCSE.2015.4.

[7] BARROSO L A, CLIDARAS J, HÖLZLE U. The Datacenter as a Computer: An Intro- duction to the Design of Warehouse-Scale Machines, Second Edition[M]. Synthesis Lec- tures on Computer Architecture : Morgan & Claypool Publishers, 2013. https://doi.org/10.2200/ S00516ED2V01Y201306CAC024.

[8] MALLADI K T, NOTHAFT F A, PERIYATHAMBI K, et al. Towards energy-proportional dat- acenter memory with mobile DRAM[C]//39th International Symposium on Computer Architecture (ISCA 2012), June 9-13, 2012, Portland, OR, USA. 2012:37–48, https://doi.org/10.1109/ISCA.2012. 6237004.

[9] MITTAL S, VETTER J S, LI D. A Survey Of Architectural Approaches for Managing Embedded DRAM and Non-Volatile On-Chip Caches[J]. IEEE Trans. Parallel Distrib. Syst., 2015, 26(6):1524– 1537. https://doi.org/10.1109/TPDS.2014.2324563.

[10] CAULFIELD A M, COBURN J, MOLLOV T I, et al. Understanding the Impact of Emerging Non- Volatile Memories on High-Performance, IO-Intensive Computing[C]//Conference on High Perfor- mance Computing Networking, Storage and Analysis, SC 2010, New Orleans, LA, USA, November 13-19, 2010. 2010:1–11, https://doi.org/10.1109/SC.2010.56.

[11] MEZA J, LUO Y, KHAN S, et al. A case for efficient hardware/software cooperative management of storage and memory[J]. 2013.

[12] CHEN S, GIBBONS P B, NATH S. Rethinking Database Algorithms for Phase Change Mem- ory[C]//CIDR 2011, Fifth Biennial Conference on Innovative Data Systems Research, Asilomar, CA, USA, January 9-12, 2011, Online Proceedings. 2011:21–31, http://cidrdb.org/cidr2011/Papers/ CIDR11_Paper3.pdf.

[13] FACKENTHAL R, KITAGAWA M, OTSUKA W, et al. 19.7 A 16Gb ReRAM with 200MB/s write and 1GB/s read in 27nm technology[C]//2014 IEEE International Solid-State Circuits Conference Digest of Technical Papers (ISSCC). 2014:338–339.

[14] Intel Introduces the World’s Most Responsive Data Center Solid State Drive[C]//. 2017, https:// newsroom.intel.com/news/intel-introduces-worlds-most-responsive-data-center-solid-state-drive/.

[15] SANDISK AND HP LAUNCH PARTNERSHIP TO CREATE MEMORY-DRIVEN COMPUT- ING SOLUTIONS[C]//. 2016, https://www.sandisk.com/about/media-center/press-releases/2015/ sandisk-and-hp-launch-partnership.

[16] OAK RIDGE TO ACQUIRE NEXT GENERATION SUPERCOMPUTER[C]//. 2014, https://www. olcf.ornl.gov/2014/11/14/oak-ridge-to-acquire-next-generation-supercomputer/.

[17] JIANG L, ZHANG Y, CHILDERS B R, et al. FPB: Fine-grained Power Budgeting to Improve Write Throughput of Multi-level Cell Phase Change Memory[C]//45th Annual IEEE/ACM Interna- tional Symposium on Microarchitecture, MICRO 2012, Vancouver, BC, Canada, December 1-5, 2012. 2012:1–12, https://doi.org/10.1109/MICRO.2012.10.

[18] LI Z, ZHOU R, LI T. Exploring high-performance and energy proportional interface for phase change memory systems[C]//19th IEEE International Symposium on High Performance Computer Architec- ture, HPCA 2013, Shenzhen, China, February 23-27, 2013. 2013:210–221, https://doi.org/10.1109/ HPCA.2013.6522320.

[19] HAM T J, CHELEPALLI B K, XUE N, et al. Disintegrated control for energy-efficient and het- erogeneous memory systems[C]//19th IEEE International Symposium on High Performance Com- puter Architecture, HPCA 2013, Shenzhen, China, February 23-27, 2013. 2013:424–435, https: //doi.org/10.1109/HPCA.2013.6522338.

[20] QURESHI M K, SRINIVASAN V, RIVERS J A. Scalable high performance main memory system using phase-change memory technology[C]//36th International Symposium on Computer Architecture (ISCA 2009), June 20-24, 2009, Austin, TX, USA. 2009:24–33, http://doi.acm.org/10.1145/1555754. 1555760.

[21] LEE H G, BAEK S, NICOPOULOS C, et al. An energy- and performance-aware DRAM cache architecture for hybrid DRAM/PCM main memory systems[C]//IEEE 29th International Conference on Computer Design, ICCD 2011, Amherst, MA, USA, October 9-12, 2011. 2011:381–387, https: //doi.org/10.1109/ICCD.2011.6081427.

[22] MEZA J, CHANG J, YOON H, et al. Enabling Efficient and Scalable Hybrid Memories Using Fine- Granularity DRAM Cache Management[J]. Computer Architecture Letters, 2012, 11(2):61–64. https: //doi.org/10.1109/L-CA.2012.2.

[23] QURESHI M K, FRANCESCHINI M, LASTRAS-MONTAÑO L A. Improving read performance of Phase Change Memories via Write Cancellation and Write Pausing[C]//16th International Conference on High-Performance Computer Architecture (HPCA-16 2010), 9-14 January 2010, Bangalore, India. 2010:1–11, https://doi.org/10.1109/HPCA.2010.5416645.

[24] QURESHI M K, FRANCESCHINI M, JAGMOHAN A, et al. PreSET: Improving performance of phase change memories by exploiting asymmetry in write times[C]//39th International Symposium on Computer Architecture (ISCA 2012), June 9-13, 2012, Portland, OR, USA. 2012:380–391, https: //doi.org/10.1109/ISCA.2012.6237033.

[25] ZHOU P, ZHAO B, YANG J, et al. A durable and energy efficient main memory using phase change memory technology[C]//36th International Symposium on Computer Architecture (ISCA 2009), June 20-24, 2009, Austin, TX, USA. 2009:14–23, http://doi.acm.org/10.1145/1555754.1555759.

[26] YANG B, LEE J, KIM J, et al. A Low Power Phase-Change Random Access Memory using a Data- Comparison Write Scheme[C]//International Symposium on Circuits and Systems (ISCAS 2007), 27- 20 May 2007, New Orleans, Louisiana, USA. 2007:3014–3017, https://doi.org/10.1109/ISCAS.2007. 377981.

[27] LEE B C, IPEK E, MUTLU O, et al. Architecting phase change memory as a scalable dram alter- native[C]//36th International Symposium on Computer Architecture (ISCA 2009), June 20-24, 2009, Austin, TX, USA. 2009:2–13, http://doi.acm.org/10.1145/1555754.1555758.

[28] CHO S, LEE H. Flip-N-Write: a simple deterministic technique to improve PRAM write performance, energy and endurance[C]//42st Annual IEEE/ACM International Symposium on Microarchitecture (MICRO-42 2009), December 12-16, 2009, New York, New York, USA. 2009:347–357, http://doi. acm.org/10.1145/1669112.1669157.

[29] JACOBVITZ A N, CALDERBANK A R, SORIN D J. Coset coding to extend the lifetime of mem- ory[C]//19th IEEE International Symposium on High Performance Computer Architecture, HPCA 2013, Shenzhen, China, February 23-27, 2013. 2013:222–233, https://doi.org/10.1109/HPCA.2013. 6522321.

[30] BOCK S, CHILDERS B R, MELHEM R G, et al. Analyzing the impact of useless write-backs on the endurance and energy consumption of PCM main memory[C]//IEEE International Symposium on Performance Analysis of Systems and Software, ISPASS 2011, 10-12 April, 2011, Austin, TX, USA. 2011:56–65, https://doi.org/10.1109/ISPASS.2011.5762715.

[31] FANG Y, LI H, LI X. SoftPCM: Enhancing Energy Efficiency and Lifetime of Phase Change Mem- ory in Video Applications via Approximate Write[C]//21st IEEE Asian Test Symposium, ATS 2012, Niigata, Japan, November 19-22, 2012. 2012:131–136, https://doi.org/10.1109/ATS.2012.57.

[32] QURESHI M K, KARIDIS J, FRANCESCHINI M, et al. Enhancing lifetime and security of PCM- based main memory with start-gap wear leveling[C]//Microarchitecture, 2009. MICRO-42. 42nd An- nual IEEE/ACM International Symposium on. 2009:14–23.