国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

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

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

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

0 引 言

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

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

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

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

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

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

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

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

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

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

1.1 Intel公司的Rack Scale Architecture

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

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

1.2 微軟公司的Catapult項(xiàng)目

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

圖2 Catapult項(xiàng)目FPGA工作流程[18]

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

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

1.3 Open Compute Project

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

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

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

1.4 華為HTC-DC

華為公司在2014年提出了高通量計(jì)算數(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)方式,達(dá)到PB級(jí)的數(shù)據(jù)處理能力,同時(shí)還具備了更好的可擴(kuò)展性和能耗效率[26]。

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

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

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

1.5 Gen-Z

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

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

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

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

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

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

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

軟件DSM系統(tǒng)的第一個(gè)原型是李凱教授于20世紀(jì)80年代提出的IVY系統(tǒng)[30],發(fā)展至今已經(jīng)實(shí)現(xiàn)了各種軟件DSM系統(tǒng),包括美國萊斯大學(xué)的TreadMarks[31]、DEC公司的Shasta系統(tǒng)[32]、卡內(nèi)基梅隆大學(xué)的Midway系統(tǒng)[33]、馬里蘭大學(xué)的CVM[34]和中國科學(xué)院計(jì)算所的JIAJIA[35]等。軟件DSM系統(tǒng)通過軟件維護(hù)整體的內(nèi)存一致性,內(nèi)存共享在消息傳遞系統(tǒng)上實(shí)現(xiàn)。軟件DSM系統(tǒng)相比硬件DSM系統(tǒng)硬件實(shí)現(xiàn)簡單,且支持共享內(nèi)存系統(tǒng)編程接口。但是通過軟件維護(hù)一致性協(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),具有低延遲和可擴(kuò)展性高的特點(diǎn)。硬件DSM系統(tǒng)主要面向高性能計(jì)算領(lǐng)域,較高的成本是難以普及的重要原因,也不符合數(shù)據(jù)中心成本有效的要求。

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

2.1 松耦合內(nèi)存

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

圖7 Venice資源共享示意圖

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

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

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

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

2.6 小結(jié)

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

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

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

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

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

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

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

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

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

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

3.2 接通軟硬件的資源訪問機(jī)制

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

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

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

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

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

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

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

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

3.4 保障資源共享的備份機(jī)制

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

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

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

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

4 結(jié) 論

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

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

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

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

猜你喜歡
內(nèi)存數(shù)據(jù)中心架構(gòu)
基于FPGA的RNN硬件加速架構(gòu)
酒泉云計(jì)算大數(shù)據(jù)中心
淺析數(shù)據(jù)中心空調(diào)節(jié)能發(fā)展趨勢
功能架構(gòu)在電子電氣架構(gòu)開發(fā)中的應(yīng)用和實(shí)踐
基于云服務(wù)的圖書館IT架構(gòu)
筆記本內(nèi)存已經(jīng)在漲價(jià)了,但幅度不大,升級(jí)擴(kuò)容無須等待
關(guān)于建立“格薩爾文獻(xiàn)數(shù)據(jù)中心”的初步構(gòu)想
“春夏秋冬”的內(nèi)存
WebGIS架構(gòu)下的地理信息系統(tǒng)構(gòu)建研究
內(nèi)存搭配DDR4、DDR3L還是DDR3?