• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      松耦合數(shù)據(jù)中心體系架構(gòu)研究綜述①

      2020-02-14 10:28:04趙博彥張乾龍包云崗張立新
      高技術(shù)通訊 2020年1期
      關(guān)鍵詞:內(nèi)存數(shù)據(jù)中心架構(gòu)

      趙博彥 侯 銳 張乾龍 包云崗 張立新 孟 丹

      (*中國科學(xué)院信息工程研究所 北京 100093) (**中國科學(xué)院計算技術(shù)研究所 北京 100190) (***中國科學(xué)院大學(xué) 北京 100049)

      0 引 言

      大數(shù)據(jù)時代的到來帶動了數(shù)據(jù)中心的飛速發(fā)展,近年來谷歌、微軟、亞馬遜、阿里巴巴等企業(yè)在全球范圍內(nèi)掀起了建立大規(guī)模數(shù)據(jù)中心的熱潮。相關(guān)數(shù)據(jù)表明,2016年全球數(shù)據(jù)中心市場規(guī)模已達到451.9億美元[1]。

      現(xiàn)在的主流數(shù)據(jù)中心配置構(gòu)建方案通常選擇主流中高端處理器平臺,并采用集群架構(gòu)作為整體架構(gòu)。數(shù)據(jù)中心服務(wù)器系統(tǒng)的設(shè)計要在追求性能的同時控制成本和能耗。然而,大數(shù)據(jù)的興起為數(shù)據(jù)中心設(shè)計提出了新的挑戰(zhàn)。傳統(tǒng)數(shù)據(jù)中心面臨的挑戰(zhàn)集中在4個方面:(1)傳統(tǒng)數(shù)據(jù)中心日益嚴重的過分定制導(dǎo)致成本居高不下;(2)新興的數(shù)據(jù)中心應(yīng)用需求與傳統(tǒng)數(shù)據(jù)中心平衡設(shè)計不匹配;(3)數(shù)據(jù)中心普遍面臨資源利用率較低的問題;(4)現(xiàn)有數(shù)據(jù)中心架構(gòu)很難動態(tài)使用空閑資源。

      傳統(tǒng)高端處理器的設(shè)計主要側(cè)重于如何改善單節(jié)點處理器芯片的計算性能和效率?,F(xiàn)有的數(shù)據(jù)中心大多采用商用X86處理器搭建,如Intel的Xeon系列處理器。人們針對桌面應(yīng)用和高性能應(yīng)用對這些通用處理器的訪存性能做了大量的優(yōu)化,例如增加訪存總線的位寬、提高前端總線的頻率、優(yōu)化訪存調(diào)度算法等。這些優(yōu)化技術(shù)極大地提高了傳統(tǒng)應(yīng)用的訪存性能。然而,相關(guān)研究表明,新興的數(shù)據(jù)中心應(yīng)用與傳統(tǒng)的桌面應(yīng)用和高性能應(yīng)用有著截然不同的特征[2]。數(shù)據(jù)中心的典型應(yīng)用往往需要多個計算節(jié)點之間的大規(guī)模協(xié)同工作,并且表現(xiàn)出不同的資源需求,與現(xiàn)有服務(wù)器中的系統(tǒng)平衡設(shè)計并不匹配。上述應(yīng)用包括網(wǎng)絡(luò)搜索、MapReduce的數(shù)據(jù)分析、社交媒體的分布式內(nèi)存緩存和桌面云應(yīng)用等[3]。這些應(yīng)用強調(diào)的是內(nèi)存的容量,而非帶寬。它們的內(nèi)存占用量(footprint)很大,但是內(nèi)存帶寬的利用率卻比較低,而且發(fā)往內(nèi)存控制器的請求序列呈現(xiàn)出稀疏和不規(guī)則訪問特性[3-8]。這類型的應(yīng)用運行在傳統(tǒng)的X86處理器上,浪費了大量的訪存帶寬和功耗。因此,設(shè)計數(shù)據(jù)中心服務(wù)器的處理器芯片,需要充分從系統(tǒng)的角度去考慮單節(jié)點處理器芯片結(jié)構(gòu)的優(yōu)化,增加對多節(jié)點協(xié)同工作的支持,從而實現(xiàn)一個更加高效、低成本的數(shù)據(jù)中心系統(tǒng)。

      數(shù)據(jù)中心不同于傳統(tǒng)的企業(yè)機房,只需要提供單一或幾項應(yīng)用,如郵件系統(tǒng)、辦公系統(tǒng)等。數(shù)據(jù)中心承載著多種應(yīng)用,且應(yīng)用種類越來越多樣化,并且集約化的大型數(shù)據(jù)中心會越來越多。為應(yīng)對多樣化負載以及出于可擴展性的考慮,數(shù)據(jù)中心管理員通常傾向于依據(jù)峰值需求簡單地為每臺機器配置資源,日益嚴重的過分定制(over-provision)導(dǎo)致數(shù)據(jù)中心成本始終居高不下,并且這種趨勢愈演愈烈。研究人員針對數(shù)據(jù)中心大數(shù)據(jù)應(yīng)用進行了大量的評估,發(fā)現(xiàn)Hadoop應(yīng)用的內(nèi)存總線帶寬利用率平均只能達到15%,Spark應(yīng)用的內(nèi)存總線帶寬利用率平均為40%[9]。Ren等人[10]對淘寶的Yunti數(shù)據(jù)中心進行了評估,發(fā)現(xiàn)其內(nèi)存容量利用率平均在30%左右。如此高的資源閑置比例,導(dǎo)致了大量的成本和功耗的浪費。如何從數(shù)據(jù)中心整體的角度,根據(jù)資源平均利用率來配置每臺機器的資源,是一個值得深入研究的問題。

      目前數(shù)據(jù)中心的服務(wù)器節(jié)點都配備了獨立的內(nèi)存、處理器、磁盤及其他資源。即便數(shù)據(jù)中心服務(wù)器每個節(jié)點的利用率都不盡相同(甚至相差很遠),當前架構(gòu)很難支持管理員能夠動態(tài)使用遠程空閑資源。對于遠程內(nèi)存的借用,前人基于以太網(wǎng)和Infiniband[11]做過一些嘗試[12-15],也獲得了一些性能上的提升。然而,這些研究都沒有從本質(zhì)上解決遠程資源的高效動態(tài)借用?;谝蕴W(wǎng)和Infiniband的遠程內(nèi)存借用只能通過遠程直接數(shù)據(jù)存儲(remote direct memory access, RDMA)方式,不能通過Load/Store指令直接訪問。而且以太網(wǎng)和Infiniband需要額外的交換機、適配器,以及協(xié)議棧到PCI-e協(xié)議棧之間的轉(zhuǎn)換(例如以太網(wǎng)需要TCP/IP到PCI-e協(xié)議的轉(zhuǎn)換),訪問路徑長,效率較低。因此,設(shè)計一套專門針對數(shù)據(jù)中心節(jié)點間資源借用的定制網(wǎng)絡(luò)協(xié)議具有非常重要而現(xiàn)實的意義。

      將數(shù)據(jù)中心的資源進行松耦合化是一個行之有效的方法,代表了數(shù)據(jù)中心未來的重要發(fā)展趨勢。該架構(gòu)突破了傳統(tǒng)服務(wù)器的物理界限,允許任意節(jié)點能夠根據(jù)負載需要動態(tài)地以“借用”的形式訪問遠程節(jié)點的空閑處理器、內(nèi)存以及各種外設(shè)資源。這種資源共享能夠有效避免目前普遍存在的過分定制的問題,從而實現(xiàn)成本有效的數(shù)據(jù)中心服務(wù)器架構(gòu)。

      本文從松耦合數(shù)據(jù)中心的工業(yè)界和學(xué)術(shù)界研究現(xiàn)狀出發(fā),分析總結(jié)松耦合數(shù)據(jù)中心的主要特征,希望對松耦合數(shù)據(jù)中心的研究有所幫助。

      本文的結(jié)構(gòu)如下:第1節(jié)對工業(yè)界松耦合數(shù)據(jù)中心研究現(xiàn)狀進行概述;第2節(jié)詳細介紹當前學(xué)術(shù)界對松耦合數(shù)據(jù)中心的研究現(xiàn)狀;第3節(jié)對松耦合數(shù)據(jù)中心架構(gòu)特點進行總結(jié),討論設(shè)計松耦合數(shù)據(jù)中心架構(gòu)時的關(guān)鍵技術(shù);根據(jù)第3節(jié)的分析,第4節(jié)探討了松耦合數(shù)據(jù)中心架構(gòu)的研究方向并進行了總結(jié)。

      1 工業(yè)界研究現(xiàn)狀

      工業(yè)界對松耦合數(shù)據(jù)中心的研究基于不斷的產(chǎn)品迭代,針對企業(yè)自身面臨的特殊問題,在追求穩(wěn)定的同時積極提高資源利用率以達到控制成本的目的。一些互聯(lián)網(wǎng)企業(yè)如Google和Yahoo等數(shù)據(jù)中心紛紛棄用高端商用高性能處理器,選擇廉價機器機群加上大規(guī)模數(shù)據(jù)處理軟件(如hadoop)來運行自己的業(yè)務(wù)。工業(yè)界對松耦合數(shù)據(jù)中心架構(gòu)的研究往往考慮了很多兼容性和自適應(yīng)的問題,無法涵蓋數(shù)據(jù)中心復(fù)雜的應(yīng)用場景。

      1.1 Intel公司的Rack Scale Architecture

      Intel公司在2013年10月正式公布了數(shù)據(jù)中心新一代機柜式架構(gòu)設(shè)計理念(rack scale architecture,RSA),該架構(gòu)基于片上光互聯(lián)技術(shù)將機柜內(nèi)的服務(wù)器、網(wǎng)絡(luò)、存儲等部件整合,變成一個計算池、網(wǎng)絡(luò)池、存儲池的概念[16]。整個機柜可以根據(jù)應(yīng)用的需求動態(tài)地為每個節(jié)點分配不同的資源。從而,降低數(shù)據(jù)中心的總體持有成本(total cost of ownership, TCO)、提高服務(wù)器平臺的靈活性、提高數(shù)據(jù)中心的數(shù)據(jù)處理能力和硬件資源利用率。 RSA架構(gòu)[17]如圖1所示,RSA包含如下5個關(guān)鍵技術(shù):(1)參考體系結(jié)構(gòu)(reference architecture)和軟件調(diào)度層(orchestration software);(2)Intel開放網(wǎng)絡(luò)平臺(ONP:open network platform);(3)PCIe固態(tài)硬盤(solid state disk,SSD)和caching等存儲技術(shù);(4)光纖交換結(jié)構(gòu)(photonics and switch fabrics);(5)支持多種類型的處理器和加速器(例如Atom、Xeon和Quark等)。在將RSA中的這些技術(shù)應(yīng)用到云服務(wù)中后,Intel公司評估的結(jié)果是:在使用了硅光技術(shù)后,電纜線的需求量降低了3倍;網(wǎng)絡(luò)上行和下行速度都提高了2.5倍;服務(wù)器密度(服務(wù)器/機柜的比例)增加了1.5倍;能耗降低了6倍。采用了RSA的服務(wù)器將為公共云、私有云、大數(shù)據(jù)處理提供更加便捷高效的服務(wù)。

      圖1 RSA架構(gòu)示意圖

      1.2 微軟公司的Catapult項目

      為了提高現(xiàn)有商用數(shù)據(jù)中心的處理能力,微軟設(shè)計并構(gòu)建了一種可組合、可重配置的網(wǎng)絡(luò)互連技術(shù)——Catapult[18],來加速大規(guī)模軟件服務(wù)的部分功能。該設(shè)計把現(xiàn)場可編程門陣列(field-programmable gate array,F(xiàn)PGA)作為一種細粒度的加速器,將部分軟件的工作交由FPGA來處理,從而減輕了處理器的負載,可以加速數(shù)據(jù)中心里的大規(guī)模服務(wù)應(yīng)用。Catapult的網(wǎng)絡(luò)架構(gòu)是一個6×8的2維torus網(wǎng)絡(luò),每個網(wǎng)絡(luò)節(jié)點是一個由中等尺寸FPGA和本地DRAM組成的擴展板。該互連模塊被嵌入到48個服務(wù)器中,每個服務(wù)器上插有一個擴展板。該設(shè)計允許將FPGA分成多個組,從而將任務(wù)按組分配到FPGA來完成。微軟構(gòu)建了一個中等規(guī)模的Catapult互連網(wǎng)絡(luò),包含1 632臺服務(wù)器,測試了它在加速必應(yīng)搜索(Bing)引擎的效果。具體加速方案是,將必應(yīng)搜索引擎的排名系統(tǒng)(ranking stack)中的部分軟件功能(打分功能)交由一個FPGA組來實現(xiàn)。Catapult項目FPGA工作流程如圖2所示。該FPGA組由8個FPGA構(gòu)成。當一臺服務(wù)器為一個文檔進行打分的時候,該服務(wù)器首先對文檔進行格式轉(zhuǎn)換,進而將轉(zhuǎn)換后的文檔注入到本地的FPGA。然后,該文檔通過FPGA網(wǎng)絡(luò)路由到負責(zé)打分的FPGA組,經(jīng)過8級的FPGA流水線得到最終打分結(jié)果。該打分結(jié)果再經(jīng)由FPGA網(wǎng)絡(luò)路由回請求節(jié)點。評估結(jié)果表明,與純軟件實現(xiàn)方案相比,Catapult互連技術(shù)在維持同等延遲分布的情況下,每個ranking服務(wù)器的吞吐量提高了95%,或者在維持同等吞吐量的情況下,延遲減少了29%。

      圖2 Catapult項目FPGA工作流程[18]

      Catapult項目成功實現(xiàn)了加速器資源的松耦合化,證明了松耦合數(shù)據(jù)中心架構(gòu)的可行性和前瞻性。服務(wù)器的計算壓力由FPGA加速器分擔(dān)后,可以減輕服務(wù)器的過分定制問題,降低成本的同時也提高了數(shù)據(jù)中心的整體利用率。

      微軟Catapult項目組成功實現(xiàn)加速器資源松耦合架構(gòu)后,繼續(xù)深入開發(fā)。在2015年先后在FPGA上實現(xiàn)了高帶寬的無損數(shù)據(jù)壓縮[19]和深度卷積神經(jīng)網(wǎng)絡(luò)加速[20]。相比于使用圖形處理器(graphics processing unit, GPU)的加速方案,使用FPGA加速方案的功耗只需要11%,整體吞吐量可以達到63%。Catapult項目組在2016年提出了一種云計算規(guī)模的加速架構(gòu),該架構(gòu)在網(wǎng)絡(luò)交換機和服務(wù)器之間部署了由FPGA組成的可重構(gòu)邏輯層,使用可重構(gòu)邏輯加速網(wǎng)絡(luò)平面功能和應(yīng)用性能[21]。在2018年先后發(fā)表2篇關(guān)于深度神經(jīng)網(wǎng)絡(luò)(deep neural network, DNN)的加速工作,一篇使用FPGA加速DNN推理運算[22],一篇使用專用的神經(jīng)處理單元(neural processing unit, NPU)加速DNN運算[23]。針對微軟云計算平臺Azure的網(wǎng)絡(luò)協(xié)議棧提出了加速網(wǎng)絡(luò)AcceINet,使用基于FPGA的自定義智能網(wǎng)卡(Azure SmartNIC)網(wǎng)絡(luò)協(xié)議棧從服務(wù)器卸載到網(wǎng)卡上,可以提供小于15 μs的虛擬機端到虛擬機端的TCP訪問延遲和32 Gbps的吞吐量[24]。

      1.3 Open Compute Project

      Open Compute Project(開放計算項目)最早由Facebook 公司聯(lián)合Intel公司、Rackspace公司、Goldman Sachs集團(高盛集團)和Andy Bechtolsheim在2011年發(fā)起[25]。最初只是公開分析Facebook公司數(shù)據(jù)中心產(chǎn)品設(shè)計,現(xiàn)在已經(jīng)有IBM、英特爾、谷歌、微軟、戴爾、思科、諾基亞、聯(lián)想、阿里巴巴等眾多企業(yè)加入該計劃中,共同參與數(shù)據(jù)中心的設(shè)計和分享。該項目旨在設(shè)計、使用和實現(xiàn)高效的可擴展計算,追求更佳的技術(shù)創(chuàng)新和更低的技術(shù)復(fù)雜性。加入該項目的個人和組織都可以與他人共享知識產(chǎn)權(quán),共同推動數(shù)據(jù)中心領(lǐng)域的不斷發(fā)展。

      整個項目包含了數(shù)據(jù)中心建設(shè)的全部內(nèi)容,從基礎(chǔ)建設(shè)到上層架構(gòu),拆分為10個子項目以及5個區(qū)域項目。這10個子項目為數(shù)據(jù)中心設(shè)施、硬件管理、高性能計算、數(shù)據(jù)中心網(wǎng)絡(luò)、機柜和電源、服務(wù)器、存儲、電信產(chǎn)業(yè)、系統(tǒng)固件(籌備中)、安全(籌備中)。5個區(qū)域項目包括中國、歐洲和日本等5個國家和地區(qū)的數(shù)據(jù)中心工程[25]。

      開放計算項目也在進行數(shù)據(jù)中心松耦合化的探索工作,例如對軟件定義SSD的研究項目可以實現(xiàn)2種存儲松耦合的實現(xiàn)方式。

      1.4 華為HTC-DC

      華為公司在2014年提出了高通量計算數(shù)據(jù)中心(high throughput computing data center architecture, HTC-DC)的概念,并作為下一代數(shù)據(jù)中心(DC 3.0)的研究方向。HTC-DC架構(gòu)(見圖3)在以虛擬化為主體的第2代數(shù)據(jù)中心的基礎(chǔ)上,通過資源松耦合化和統(tǒng)一的互聯(lián)方式,達到PB級的數(shù)據(jù)處理能力,同時還具備了更好的可擴展性和能耗效率[26]。

      圖3 華為HTC-DC架構(gòu)[26]

      高通量計算數(shù)據(jù)中心架構(gòu)將計算資源、內(nèi)存資源和I/O資源劃分為不同的資源池,每個池內(nèi)是對應(yīng)的服務(wù)器節(jié)點。資源池內(nèi)以及資源池之間通過專用的互聯(lián)協(xié)議連接,資源的分配和管理由專用的數(shù)據(jù)中心操作系統(tǒng)完成。數(shù)據(jù)中心操作系統(tǒng)根據(jù)不同應(yīng)用的資源需求從資源池中劃分相應(yīng)的資源,還可以根據(jù)應(yīng)用的需求變化動態(tài)調(diào)整可供使用的資源數(shù)量。

      在2018年德國漢諾威國際信息及通信技術(shù)博覽會(CEBIT)上,華為公司發(fā)布了基于人工智能的數(shù)據(jù)中心技術(shù)方案[27]。采用人工智能優(yōu)化運行算法,實現(xiàn)數(shù)據(jù)中心基礎(chǔ)設(shè)施整體功能的智能化融合,為數(shù)據(jù)中心的松耦合化打下堅實的硬件基礎(chǔ)。

      1.5 Gen-Z

      Gen-Z標準發(fā)布于2016年,現(xiàn)已有超過60余家公司和機構(gòu)加入該標準,包括AMD、谷歌、戴爾、ARM和華為等眾多知名企業(yè)[28]。

      Gen-Z標準是一種新的數(shù)據(jù)訪問技術(shù),可以在直連或者互聯(lián)等網(wǎng)絡(luò)拓撲結(jié)構(gòu)上提供低延遲的、內(nèi)存語義級的數(shù)據(jù)和設(shè)備訪問。Gen-Z結(jié)構(gòu)組件利用內(nèi)存語義通信以最小的開銷在不同組件上的存儲器之間移動數(shù)據(jù)。該技術(shù)可以實現(xiàn)低延遲的數(shù)據(jù)直接讀寫操作,并且保證應(yīng)用程序和操作系統(tǒng)盡可能少地參與其中,可以在不犧牲靈活性的前提下提供最高的性能。更關(guān)鍵的一點是,這些操作可以無需修改操作系統(tǒng)和應(yīng)用程序中間件。該技術(shù)還支持緩存一致性、原子操作、PCI以及PCI-e總線技術(shù)。

      在該技術(shù)的支持下,內(nèi)存的松耦合化可以以更靈活更兼容的方式實現(xiàn)。兼容PCI和PCI-e總線技術(shù)的Gen-Z技術(shù)也可以有效地支持遠程輸入輸出(input/output,I/O)設(shè)備的訪問,實現(xiàn)I/O設(shè)備的松耦合化。

      1.6 遠程GPU訪問架構(gòu)rCUDA

      rCUDA是Remote CUDA的縮寫,是一種遠程GPU虛擬化軟件架構(gòu),可以為GPU集群提供全虛擬化支持,進而提高整體性能[29]。當一個沒有配置GPU的物理節(jié)點需要使用GPU資源加速計算時,一個或者多個遠程GPU會被分配給該節(jié)點使用。存儲在本地內(nèi)存中的數(shù)據(jù)和程序會遷移到遠程GPU的顯存上,程序執(zhí)行內(nèi)核也會在相應(yīng)的遠程GPU上啟動運行。rCUDA架構(gòu)是一種Client/Server結(jié)構(gòu)。Server端需要監(jiān)聽TCP端口,接收服務(wù)請求。Client端在CUDA架構(gòu)應(yīng)用程序編程接口(application programming interface,API)的基礎(chǔ)上封裝服務(wù)請求并發(fā)送給Server端,由Server端將服務(wù)請求解析并在GPU設(shè)備上執(zhí)行。rCUDA架構(gòu)可以通過GPU虛擬化,減少GPU集群內(nèi)的設(shè)備數(shù)量,達到降低成本、節(jié)約能源和維護費用的目的。rCUDA架構(gòu)可以和CUDA的編程接口完全兼容。

      1.7 分布式共享內(nèi)存系統(tǒng)DSM

      分布式共享內(nèi)存系統(tǒng)(distributed shared memory system,DSM)對系統(tǒng)內(nèi)所有節(jié)點的內(nèi)存進行全局統(tǒng)一編址,系統(tǒng)內(nèi)的所有內(nèi)存都可以被全局共享。DSM可以分為軟件DSM和硬件DSM兩類,DSM架構(gòu)如圖4所示。

      軟件DSM系統(tǒng)的第一個原型是李凱教授于20世紀80年代提出的IVY系統(tǒng)[30],發(fā)展至今已經(jīng)實現(xiàn)了各種軟件DSM系統(tǒng),包括美國萊斯大學(xué)的TreadMarks[31]、DEC公司的Shasta系統(tǒng)[32]、卡內(nèi)基梅隆大學(xué)的Midway系統(tǒng)[33]、馬里蘭大學(xué)的CVM[34]和中國科學(xué)院計算所的JIAJIA[35]等。軟件DSM系統(tǒng)通過軟件維護整體的內(nèi)存一致性,內(nèi)存共享在消息傳遞系統(tǒng)上實現(xiàn)。軟件DSM系統(tǒng)相比硬件DSM系統(tǒng)硬件實現(xiàn)簡單,且支持共享內(nèi)存系統(tǒng)編程接口。但是通過軟件維護一致性協(xié)議也帶來了較大的開銷,且很難做到用戶透明和軟件兼容。

      圖4 分布式共享內(nèi)存架構(gòu)示意圖

      硬件DSM主要包括麻省理工學(xué)院的Alewife Machine[36],SGI公司的Origin系統(tǒng)[37],ScaleMP公司的vSMP[38]以及斯坦福大學(xué)的DASH系統(tǒng)[39]。硬件DSM系統(tǒng)相比于軟件DSM系統(tǒng),具有低延遲和可擴展性高的特點。硬件DSM系統(tǒng)主要面向高性能計算領(lǐng)域,較高的成本是難以普及的重要原因,也不符合數(shù)據(jù)中心成本有效的要求。

      2 學(xué)術(shù)界研究現(xiàn)狀

      2.1 松耦合內(nèi)存

      密歇根大學(xué)的Lim等人[40]提出了松耦合內(nèi)存(disaggregated memory)的概念。為了解決單節(jié)點內(nèi)存容量不足以及內(nèi)存利用率低導(dǎo)致的節(jié)點內(nèi)存過度配置的問題,實現(xiàn)靈活以及低成本的內(nèi)存資源池,他們設(shè)計了一個單獨的大容量內(nèi)存節(jié)點作為可供靈活分配的內(nèi)存資源池。該節(jié)點集成了大量的內(nèi)存控制器,可以支持大容量的內(nèi)存。內(nèi)存節(jié)點與計算節(jié)點通過PCI-e或者超傳輸總線(hypertransport,HT)等互連,內(nèi)存節(jié)點的內(nèi)存可以被計算節(jié)點共享,不支持

      計算節(jié)點間共享內(nèi)存的一致性。他們基于虛擬機管理器(hypervisor)實現(xiàn)了基于頁面粒度的遠程內(nèi)存管理,遠程內(nèi)存對上層的虛擬機操作系統(tǒng)完全透明。整個系統(tǒng)的設(shè)計和實驗均基于一個Trace模擬器進行評估,Trace收集自真實的數(shù)據(jù)中心和另一個周期精確的模擬器,實驗結(jié)果表明松耦合內(nèi)存技術(shù)可以有效提高單節(jié)點的內(nèi)存容量,提高應(yīng)用的性能。圖5為松耦合內(nèi)存刀片服務(wù)器示意圖。通過成本和功耗分析發(fā)現(xiàn),該系統(tǒng)可有效提高性能價格比(performance-per-dollar)。然而該結(jié)構(gòu)的缺點是:(1)內(nèi)存節(jié)點的配置不夠靈活,在機柜內(nèi)如何配置內(nèi)存節(jié)點與計算節(jié)點的比例與應(yīng)用密切相關(guān);(2)整個系統(tǒng)的內(nèi)存訪問帶寬受限于內(nèi)存節(jié)點的出口帶寬,當多個節(jié)點同時運行高帶寬應(yīng)用時,內(nèi)存節(jié)點的互連接口會成為系統(tǒng)的性能瓶頸;(3)HT互連設(shè)計復(fù)雜且不具備通用性,PCI-e互連不支持load/store直接訪問,而且需要額外的PCIe switch芯片實現(xiàn)多個計算節(jié)點的擴展。

      圖5 松耦合內(nèi)存刀片服務(wù)器示意圖[40]

      2.2 Scale-out NUMA存儲架構(gòu)

      Scale-Out NUMA(soNUMA)[41]是一種低延時的分布式存儲架構(gòu),專門為數(shù)據(jù)中心的分布和可擴展應(yīng)用(scale-out application)而設(shè)計。其架構(gòu)如圖6所示,soNUMA具有以下特點:(1)用精簡的內(nèi)存網(wǎng)狀連接結(jié)構(gòu)替代多層的網(wǎng)絡(luò)棧結(jié)構(gòu); (2)通過與RDMA相似的遠程內(nèi)存操作方式來支持全局分區(qū)虛擬地址空間訪問,使得它避免了維護全系統(tǒng)的一致性問題; (3)用廉價的cache-to-cache傳輸替代時延較長的PCI-e總線傳輸,減少訪問延時; (4)優(yōu)化了機架規(guī)模的部署。soNUMA通過一種無狀態(tài)的消息傳遞協(xié)議,直接在NUMA fabric上附加了一層RDMA風(fēng)格的編程模型。為了便于應(yīng)用程序、OS和NUMA fabric之間的相互協(xié)作,soNUMA在每個節(jié)點內(nèi)集成了遠程內(nèi)存控制器,安全地對應(yīng)用暴露了全局地址空間。這使得soNUMA在結(jié)構(gòu)相對簡單的同時獲得了與RDMA相近的遠程內(nèi)存訪問能力。soNUMA采用了2種簡單的方法來減少延遲。第1種方法是使用一種運行在NUMA內(nèi)存結(jié)構(gòu)上的無狀態(tài)請求/應(yīng)答協(xié)議。該協(xié)議可以極大減少或消除在網(wǎng)絡(luò)棧、復(fù)雜網(wǎng)絡(luò)接口和跳轉(zhuǎn)上產(chǎn)生的延時。第2種方法是在節(jié)點局部連貫層集成協(xié)議控制器,從而避免了在速度緩慢的PCIe的接口上進行狀態(tài)復(fù)制和移動數(shù)據(jù)。

      基于周期精確的全系統(tǒng)仿真結(jié)果表明,soNUMA執(zhí)行遠程讀操作的延時在本地DRAM延時的4倍以內(nèi),它可以充分利用可用的內(nèi)存帶寬,并能達到每處理器10 MB/s的遠程內(nèi)存操作??偟膩碚f,soNUMA結(jié)合了CC-NUMA和RDMA的優(yōu)勢,同時較為成功地避開了它們各自的缺陷。然而soNUMA存在程序兼容性的缺點,現(xiàn)有應(yīng)用需要修改源碼,調(diào)用相應(yīng)的函數(shù)庫才能充分利用soNUMA的特性。此外,soNUMA只支持基于通信原語(send/receive)的通信,不支持遠程內(nèi)存的load/store直接訪問。

      圖6 soNUMA架構(gòu)示意圖[41]

      2.3 INFINISWAP內(nèi)存共享架構(gòu)

      密歇根大學(xué)的Gu等人[42]提出了一種架構(gòu)兼容的內(nèi)存松耦合共享方式,并將該工作命名為INFINISWAP。每臺服務(wù)器節(jié)點上都有一個軟件進程負責(zé)管理的空閑內(nèi)存資源,這些內(nèi)存資源被映射到硬盤交換空間的同時被劃分為多個塊。這些內(nèi)存塊可以被其他的服務(wù)器節(jié)點通過RDMA網(wǎng)絡(luò)在不經(jīng)過中央處理器(central processing unit,CPU)的情況下直接訪問。數(shù)據(jù)在以同步的方式寫到映射的內(nèi)存塊的同時也會以異步的方式寫到服務(wù)器本地的硬盤空間以達到備份數(shù)據(jù)的目的,這樣可以大大提高容錯率,一旦由于網(wǎng)絡(luò)故障等原因造成遠程數(shù)據(jù)無法訪問時,INFINISWAP的后臺進程會從本地硬盤空間讀取備份數(shù)據(jù)恢復(fù)。

      INFINISWAP有2個優(yōu)勢。其一是架構(gòu)兼容性,無需任何新的計算機體系架構(gòu)、新的硬件設(shè)計以及新的軟件編程框架,只需要部署軟件進程在支持RDMA的集群上就可以實現(xiàn)內(nèi)存松耦合共享。另一個優(yōu)勢是不需要中心節(jié)點的調(diào)度,INFINISWAP內(nèi)部實現(xiàn)了一種內(nèi)存空間的管控機制,由空閑內(nèi)存使用節(jié)點和貢獻節(jié)點直接協(xié)商。

      作者在真實的服務(wù)器上使用大數(shù)據(jù)應(yīng)用進行了評估,結(jié)果顯示相比于使用磁盤空間,使用INFINISWAP借用遠程內(nèi)存可以實現(xiàn)4~15倍的性能提升。

      2.4 Venice松耦合數(shù)據(jù)中心架構(gòu)

      來自中國科學(xué)院計算所的侯銳研究團隊從成本有效的角度設(shè)計了數(shù)據(jù)中心服務(wù)器的架構(gòu),相關(guān)工作發(fā)表在2013年的HPCA會議上[43,44]。該工作使用PCI-e協(xié)議和交換芯片構(gòu)建了一個多節(jié)點系統(tǒng),在該系統(tǒng)上可以實現(xiàn)內(nèi)存、網(wǎng)卡和GPU的共享借用。相比于基于以太網(wǎng)的資源共享系統(tǒng),該系統(tǒng)可以達到5倍的內(nèi)存訪問帶寬和1/12的訪問延遲。這篇文章有效地實現(xiàn)了資源再分配,達到降低數(shù)據(jù)中心成本的目的。

      基于PCI-e的資源共享系統(tǒng)存在2個問題。第1點是由于PCI-e協(xié)議的訪問延遲和協(xié)議轉(zhuǎn)換的軟件開銷,在訪問其他節(jié)點的遠程資源時有不可忽略的性能損失。第2點是受限于多次的協(xié)議轉(zhuǎn)換,需要復(fù)雜的軟件配合才能實現(xiàn)不同遠程資源的訪問,其兼容性和可擴展性較差。

      計算所侯銳研究團隊基于以上工作在2016年的HPCA會議上提出了Venice松耦合數(shù)據(jù)中心架構(gòu),如圖7所示[45]。Venice架構(gòu)從數(shù)據(jù)共享機制出發(fā),提出了一套包含3個層次的數(shù)據(jù)中心架構(gòu)。首先針對遠程設(shè)備的訪問延遲和帶寬需求,定制了多模態(tài)的高速通信協(xié)議。其次,針對現(xiàn)有軟件對通信協(xié)議的適應(yīng)性問題,定義了資源訪問機制作為軟件和硬件資源的系統(tǒng)接口。最后,從數(shù)據(jù)中心整體出發(fā),統(tǒng)一資源調(diào)度,優(yōu)化資源管理策略。文獻[45]介紹了基于FPGA的原型驗證平臺,實驗結(jié)果顯示通過Venice架構(gòu)訪問遠程內(nèi)存、遠程網(wǎng)卡、遠程加速器資源時都可以獲得很好的性能提升。

      Venice架構(gòu)是學(xué)術(shù)界第一個完整提出松耦合數(shù)據(jù)中心架構(gòu)的文獻,其貢獻主要包括:(1)設(shè)計了完整的松耦合數(shù)據(jù)中心架構(gòu)方案,實現(xiàn)了多種資源池(內(nèi)存、網(wǎng)卡、加速器)的共享方案。(2)通過FPGA實驗平臺論證了松耦合數(shù)據(jù)中心架構(gòu)設(shè)計中經(jīng)常被忽略的訪問延遲的重要性。(3)設(shè)計了完整的軟硬件架構(gòu),可以完美移植當前數(shù)據(jù)中心應(yīng)用無需軟件修改。

      Venice架構(gòu)受到華為計算所戰(zhàn)略合作項目的資助,其核心研究成果(包括總體架構(gòu)、資源共享協(xié)議等)被作為核心要素寫入了華為HTC-DC的技術(shù)白皮書[19]。

      圖7 Venice資源共享示意圖

      2.5 基于以太網(wǎng)和InfiniBand的節(jié)點間內(nèi)存共享

      國內(nèi)外學(xué)者都做過遠程內(nèi)存訪問的相關(guān)研究,他們將遠程空閑內(nèi)存用作交換空間、文件緩存和內(nèi)存盤(ramdisk)等。這些研究工作都是基于傳統(tǒng)的網(wǎng)絡(luò)互連技術(shù),如以太網(wǎng)和InfiniBand網(wǎng)絡(luò)。

      俄亥俄州立大學(xué)的研究者建議通過InfiniBand來使用遠端內(nèi)存[46]。他們在使用InfiniBand互連的集群中設(shè)計了一種能夠利用遠端內(nèi)存的內(nèi)存頁系統(tǒng)。希臘伊拉克里翁研究和技術(shù)基金會計算科學(xué)研究所嘗試使用低成本的商用網(wǎng)絡(luò)和商用操作系統(tǒng)來獲得更好的I/O性能[12]。他們仔細地評測了通過具有遠程直接內(nèi)存訪問功能(RDMA)的商用網(wǎng)絡(luò)來使用遠程塊設(shè)備的方法,發(fā)現(xiàn)整體性能受到中斷開銷、請求大小和協(xié)議消息大小的限制。他們在研究工作中使用的是具有遠程直接內(nèi)存訪問功能的萬兆以太網(wǎng)。該研究所還設(shè)計、實現(xiàn)并評測了一個網(wǎng)絡(luò)內(nèi)存盤[13]。他們使用遠端內(nèi)存作為更快的硬盤存儲。這種網(wǎng)絡(luò)內(nèi)存盤是可移植的,具有良好的靈活性并且能夠在任何已有的Unix文件系統(tǒng)中使用。斯沃斯莫爾學(xué)院針對異構(gòu)的Linux集群提出了一個網(wǎng)絡(luò)交換系統(tǒng),并命名為Nswap[14]。Nswap是一個基于TCP/IP協(xié)議的可卸載內(nèi)核模塊,具有良好的時間效率和空間效率。

      華中科技大學(xué)提出了一個方法可以讓虛擬機利用集群內(nèi)的空閑內(nèi)存[47],這種方法基于以太網(wǎng)連接,通過利用集群內(nèi)其他節(jié)點的空閑內(nèi)存來克服單臺機器物理內(nèi)存的限制。他們的方法可以有效地減少內(nèi)存密集型和IO密集型應(yīng)用的執(zhí)行時間。湖南大學(xué)設(shè)計實現(xiàn)了一個分布式系統(tǒng)允許用戶透明的訪問遠端內(nèi)存[15]。

      2.6 小結(jié)

      表1從是否需要修改軟硬件架構(gòu)到支持的松耦合資源類型對當前工業(yè)界和學(xué)術(shù)界松耦合數(shù)據(jù)中心架構(gòu)的特點進行了總結(jié)對比??梢钥闯?,越多的遠程資源訪問類型支持需要越復(fù)雜的設(shè)計,相應(yīng)需要修改的硬件架構(gòu)和軟件程序越多。

      3 松耦合數(shù)據(jù)中心的特點

      雖然工業(yè)界和學(xué)術(shù)界對于松耦合數(shù)據(jù)中心的研究存在一些不同,但是核心思想都是相同的,即通過資源的松耦合化提高數(shù)據(jù)中心資源利用率并降低成本。本節(jié)內(nèi)容將提煉總結(jié)松耦合數(shù)據(jù)中心的主要特點。

      表1 松耦合數(shù)據(jù)中心架構(gòu)比較

      3.1 承載數(shù)據(jù)訪問的通信機制

      遠程資源的訪問是以通信機制傳輸?shù)臄?shù)據(jù)包為載體的,現(xiàn)有的主要通信機制集中在以太網(wǎng)和一些I/O通信協(xié)議,例如InfiniBand、ZigBee和PCI-e等通信協(xié)議。松耦合數(shù)據(jù)中心架構(gòu)如圖8所示。這些通信機制通過軟硬件協(xié)同工作可以達成遠程資源訪問的目的,然而它們在性能表現(xiàn)上存在一定問題。 通信機制的表現(xiàn)直接關(guān)乎到遠程資源訪問效率,所以也有研究人員針對松耦合數(shù)據(jù)中心架構(gòu)設(shè)計了專用的通信協(xié)議[38]。

      在設(shè)計松耦合數(shù)據(jù)中心通信機制時需要考慮以下2點:

      (1)數(shù)據(jù)中心應(yīng)用種類飛速增長,不同的應(yīng)用對于資源需求的差異性也愈發(fā)明顯,而且相同應(yīng)用對資源的需求也存在時變性。即在程序運行的不同階段,應(yīng)用對于計算、內(nèi)存、網(wǎng)絡(luò)等資源的需求量存在很大差異。這2個特點要求松耦合數(shù)據(jù)中心的通信機制具備動態(tài)調(diào)整能力,能夠滿足不同應(yīng)用的訪問需求,可以在延遲和帶寬之間以及不同的訪問粒度之間做到動態(tài)平衡。

      圖8 松耦合數(shù)據(jù)中心架構(gòu)示意圖

      (2)松耦合數(shù)據(jù)中心的通信機制還需要考慮互連邏輯和網(wǎng)絡(luò)連接之間的影響。考慮到訪問部分遠程資源時的延遲需求,互連邏輯期望相連節(jié)點間的距離越短越好。一方面,通信互連所提供的可用鏈路數(shù)據(jù)的增加可以構(gòu)建更高階的互聯(lián)網(wǎng)絡(luò),有效降低傳輸距離,但是也相應(yīng)地導(dǎo)致硬件成本的提高或者鏈路帶寬的損失。另一方面,給定互連邏輯可以鏈路數(shù)量,連通度更好的網(wǎng)絡(luò)可以降低節(jié)點間的最大距離,但網(wǎng)絡(luò)連通度的增加則可能會限制網(wǎng)絡(luò)的最大規(guī)模。理論上,全互連網(wǎng)絡(luò)可以最小化節(jié)點間距離,但其所支持的網(wǎng)絡(luò)規(guī)模也是最低的。合理的通信機制需要充分考慮互連邏輯和網(wǎng)絡(luò)連接的關(guān)系,能夠在延遲、帶寬以及硬件成本之間進行有效的權(quán)衡。

      3.2 接通軟硬件的資源訪問機制

      通信機制是松耦合數(shù)據(jù)中心進行資源共享的硬件基礎(chǔ),此外還需要大量系統(tǒng)軟件模塊與之配合。這些系統(tǒng)軟件模塊承接物理硬件和用戶軟件的交互工作,是訪問遠程資源必不可少的一部分。通過之前的工作介紹,可以看到任何松耦合數(shù)據(jù)中心的架構(gòu)設(shè)計都有相應(yīng)的系統(tǒng)軟件配合。松耦合數(shù)據(jù)中心中的遠程資源訪問需求由資源訪問機制轉(zhuǎn)換成相應(yīng)的控制指令傳遞給硬件通信機制,資源訪問機制還需要把來自硬件通信機制的數(shù)據(jù)和控制指令傳遞給相應(yīng)的硬件資源和數(shù)據(jù)中心軟件應(yīng)用。

      資源訪問機制在設(shè)計的過程中也有2個方面需要考慮:

      (1)要盡量利用現(xiàn)有操作系統(tǒng)和底層軟件的接口和機制,避免或減少軟件的修改,這是為了能夠更好地兼容現(xiàn)有數(shù)據(jù)中心架構(gòu)和硬件基礎(chǔ)。

      (2)要提供用戶級應(yīng)用訪問的透明性,盡可能使用戶無需感知遠程資源的存在。數(shù)據(jù)中心應(yīng)用種類繁多且更新較快,無法為了不同的數(shù)據(jù)中心架構(gòu)做一一適配。良好用戶級應(yīng)用訪問的透明性是松耦合數(shù)據(jù)中心兼容性和可擴展性的必要條件。

      3.3 負責(zé)全局調(diào)度的資源管理機制

      通信機制和資源訪問機制,目的在于構(gòu)建本地操作系統(tǒng)和遠程資源之間的橋梁,支持點到點的資源訪問,保證遠程資源訪問請求的可達性和遠程資源的可用性。在這一過程中還有一個重要的角色就是全局的資源調(diào)度者,全局的信息收集和資源調(diào)度能夠為不同的資源訪問需求分配合理的空閑資源,實現(xiàn)整體效率的提升。負責(zé)全局調(diào)度的資源管理機制有2個任務(wù),即資源信息收集和資源分配調(diào)度。

      資源信息收集可以通過2種方式實現(xiàn),即集中式設(shè)計和分布式設(shè)計。集中式的資源收集機制通過主從式的資源信息校核,由主控節(jié)點獲取全局的資源信息。該機制具有設(shè)計復(fù)雜度較低、信息設(shè)計效率較高的優(yōu)點,但也面臨可靠性較低的問題,很有可能成為系統(tǒng)瓶頸。分布式的資源收集機制則通過與相鄰節(jié)點交互獲取全局資源信息。該機制的擴展性和可靠性都有很明顯的優(yōu)勢,但其設(shè)計復(fù)雜度較高,并且信息傳播的速度較慢,還有可能因為信息更新不及時導(dǎo)致資源分配效率的損失。

      由于數(shù)據(jù)中心資源屬性的差異性,比如位置、性能、容量、鏈路帶寬利用率等,資源效率的發(fā)揮很大程度上決定于資源的分配和調(diào)度策略。顯然,合理的資源分配調(diào)度策略可以最大化資源的效率,而不合理的資源分配策略必將導(dǎo)致系統(tǒng)性能的損失。為最大化各種資源的利用率,充分發(fā)揮各種資源的效用,需要對系統(tǒng)資源的分配和調(diào)度策略進行研究。

      3.4 保障資源共享的備份機制

      數(shù)據(jù)中心的備份機制可以有效防止系統(tǒng)故障甚至人為失誤造成的數(shù)據(jù)損失以及經(jīng)濟損失?,F(xiàn)有的數(shù)據(jù)中心備份機制主要由完全備份、增量備份、差量備份、實時備份4種策略[48-54]。

      松耦合數(shù)據(jù)中心架構(gòu)的備份機制區(qū)別于傳統(tǒng)的數(shù)據(jù)中心備份機制,它不僅需要考慮正常的計算和存儲數(shù)據(jù)的備份,還需要考慮備份使用遠程資源時產(chǎn)生的數(shù)據(jù),而且這部分數(shù)據(jù)不僅存在于本地節(jié)點也會存在遠程資源所在的節(jié)點。設(shè)計一套完備的松耦合數(shù)據(jù)中心備份機制需要考慮以下2點:

      (1)要針對不同存儲位置的數(shù)據(jù)制定不同的備份策略,在保障完備性的同時也要盡量減少空間占用。松耦合數(shù)據(jù)中心架構(gòu)的特點造成需要備份的數(shù)據(jù)可以分布在各部分的硬件存儲中,例如本地節(jié)點的內(nèi)存和硬盤,遠程加速器資源的存儲部件,甚至包括硬件通信部件的緩存空間。合理利用這些數(shù)據(jù)存儲位置和特點能夠有效提升備份機制的效率。

      (2)設(shè)定不同層級的備份和恢復(fù)策略。例如由于硬件通信錯誤導(dǎo)致的數(shù)據(jù)傳輸中斷應(yīng)該在硬件層面完成數(shù)據(jù)備份和恢復(fù),操作系統(tǒng)甚至用戶軟件介入這一過程會帶來不必要的性能開銷。

      4 結(jié) 論

      本文詳述了松耦合數(shù)據(jù)中心架構(gòu)的研究背景,梳理了工業(yè)界的發(fā)展現(xiàn)狀和學(xué)術(shù)界的研究成果,分析總結(jié)了松耦合數(shù)據(jù)中心架構(gòu)的技術(shù)特點。松耦合數(shù)據(jù)中心架構(gòu)是數(shù)據(jù)中心發(fā)展的重要趨勢,已經(jīng)獲得了工業(yè)界和學(xué)術(shù)界的廣泛認可。但松耦合數(shù)據(jù)中心架構(gòu)的研究仍面臨許多挑戰(zhàn),工業(yè)界和學(xué)術(shù)界的研究人員可以從以下3個方面展開研究:

      (1)可以根據(jù)用戶應(yīng)用資源需求動態(tài)調(diào)整鏈路狀態(tài)的通信機制。鏈路狀態(tài)動態(tài)調(diào)整范圍不僅包括延遲帶寬等參數(shù),還可以包括網(wǎng)絡(luò)拓撲和鏈接數(shù)量等信息。

      (2)完全兼容的資源訪問方式,對用戶應(yīng)用完全透明,現(xiàn)有的數(shù)據(jù)中心應(yīng)用無需修改就可以部署在松耦合數(shù)據(jù)中心架構(gòu)上,而且還要享受到松耦合數(shù)據(jù)中心動態(tài)資源共享帶來的性能提升。

      (3)更加智能的資源分配和回收機制,能夠時刻保障整個松耦合數(shù)據(jù)中心的使用效率和性能輸出??梢越Y(jié)合高速發(fā)展的人工智能技術(shù),通過大量的數(shù)據(jù)收集智能地完成全局資源調(diào)度。

      猜你喜歡
      內(nèi)存數(shù)據(jù)中心架構(gòu)
      基于FPGA的RNN硬件加速架構(gòu)
      酒泉云計算大數(shù)據(jù)中心
      功能架構(gòu)在電子電氣架構(gòu)開發(fā)中的應(yīng)用和實踐
      汽車工程(2021年12期)2021-03-08 02:34:30
      “春夏秋冬”的內(nèi)存
      當代陜西(2019年13期)2019-08-20 03:54:22
      民航綠色云數(shù)據(jù)中心PUE控制
      電子測試(2018年11期)2018-06-26 05:56:24
      LSN DCI EVPN VxLAN組網(wǎng)架構(gòu)研究及實現(xiàn)
      基于云計算的交通運輸數(shù)據(jù)中心實現(xiàn)與應(yīng)用
      一種基于FPGA+ARM架構(gòu)的μPMU實現(xiàn)
      Overlay Network技術(shù)在云計算數(shù)據(jù)中心中的應(yīng)用
      河南科技(2014年11期)2014-02-27 14:16:49
      基于內(nèi)存的地理信息訪問技術(shù)
      徐汇区| 溧阳市| 丰宁| 中方县| 清新县| 托里县| 安图县| 安远县| 会东县| 望城县| 年辖:市辖区| 延吉市| 灵丘县| 如皋市| 乐平市| 常州市| 阜新| 武威市| 安宁市| 金川县| 萨嘎县| 扶绥县| 鱼台县| 永修县| 东光县| 高陵县| 商城县| 闸北区| 高要市| 朝阳市| 元阳县| 平原县| 贵港市| 巴彦淖尔市| 中卫市| 临颍县| 阿克陶县| 无锡市| 梁平县| 新竹县| 德兴市|