企業(yè)數(shù)據(jù)中心當(dāng)前所采用的標(biāo)準(zhǔn)化服務(wù)器是浪費(fèi)資源的,但未來(lái)的系統(tǒng)或?qū)⑹强膳渲玫?,以便能夠更好的匹配企業(yè)工作負(fù)載的需求。
根據(jù)一些市場(chǎng)調(diào)研的估計(jì),當(dāng)前在全球范圍內(nèi),云計(jì)算的高速增長(zhǎng)已然引起了數(shù)據(jù)中心業(yè)界的高度關(guān)注。畢竟,這些數(shù)據(jù)中心目前已經(jīng)消耗了至少7%的全球電力供應(yīng),并且其耗電量還在進(jìn)一步的持續(xù)增長(zhǎng)。這導(dǎo)致IT行業(yè)亟待尋求提高數(shù)據(jù)中心基礎(chǔ)設(shè)施效率的有效方法,其中甚至包括一些重新考慮計(jì)算機(jī)和數(shù)據(jù)中心構(gòu)建方式方面的嘗試努力。
2018年1月在英國(guó)曼徹斯特召開(kāi)的計(jì)算機(jī)系統(tǒng)與高性能計(jì)算領(lǐng)域的頂級(jí)盛會(huì)HiPEAC 2018上,來(lái)自IBM公司的研究人員發(fā)表了一篇關(guān)于分解式計(jì)算機(jī)體系架構(gòu)的論文。這項(xiàng)工作是由歐盟所資助的dReDBox項(xiàng)目的一部分,而該項(xiàng)目又是Horizo??n 2020研究和創(chuàng)新計(jì)劃的一部分。
服務(wù)器解耦意味著將服務(wù)器分解為其組成的計(jì)算和內(nèi)存資源,以便根據(jù)每項(xiàng)工作負(fù)載的具體需要來(lái)分配服務(wù)器資源。目前,服務(wù)器是IT基礎(chǔ)架構(gòu)的基本組成部分,但一項(xiàng)工作負(fù)載無(wú)法使用比單臺(tái)服務(wù)器更多的內(nèi)存或CPU資源,也無(wú)法輕松地從服務(wù)器外部共享任何備用資源。
“部署到數(shù)據(jù)中心的工作負(fù)載往往在其使用資源的方式上存在很大的不成比例。有些工作負(fù)載會(huì)消耗大量的CPU資源,但并不需要太多的內(nèi)存;而另一方面,其他的某些工作負(fù)載則將消耗比CPU的使用多出高達(dá)4個(gè)數(shù)量級(jí)的內(nèi)存資源。”來(lái)自IBM公司的研究工程師Andrea Reale博士說(shuō)。
在整個(gè)企業(yè)數(shù)據(jù)中心內(nèi),這意味著一些服務(wù)器將用到他們所有的CPU資源,但仍有大量的空閑內(nèi)存;而對(duì)于其他一些服務(wù)器則情況正好相反,即使這些資源其實(shí)并沒(méi)有被充分使用,但這些資源也會(huì)繼續(xù)消耗電力資源。在一處典型的數(shù)據(jù)中心中,大約可能有16%的CPU資源和30%的內(nèi)存資源會(huì)被白白浪費(fèi)掉了。
但是,如果你企業(yè)的數(shù)據(jù)中心可以在軟件控制下調(diào)解服務(wù)器資源,以便讓您企業(yè)的每項(xiàng)特定工作負(fù)載擁有盡可能多的CPU和具體所需要的內(nèi)存資源的話,那豈不是更好嗎?
計(jì)算和內(nèi)存的分離dReDBox項(xiàng)目旨在通過(guò)使用稱為“塊(brick)”的分解計(jì)算和內(nèi)存模塊來(lái)解決這個(gè)問(wèn)題。他們通過(guò)高速鏈接連接在一起,并且讓足夠的計(jì)算塊與足夠的內(nèi)存塊配對(duì),以滿足在既定時(shí)刻運(yùn)行的任何工作負(fù)載的要求。從理論上講,這使得企業(yè)數(shù)據(jù)中心的服務(wù)器可以針對(duì)特定應(yīng)用程序進(jìn)行資源的配置調(diào)解,以分配盡可能多的CPU核心和內(nèi)存資源給工作負(fù)載,滿足作業(yè)所需,然后可以將這些資源返回到資源池中,并在工作負(fù)載不再需要這些資源時(shí)將資源用于其他目的。
作為其研究項(xiàng)目的一部分,dRedBox團(tuán)隊(duì)已經(jīng)構(gòu)建了一款演示系統(tǒng),其中brick塊是圍繞基于ARM的片上系統(tǒng)(SoC)芯片Xilinx Zynq Ultrascale +構(gòu)建的。計(jì)算brick塊擁有少量的本地內(nèi)存,而內(nèi)存brick塊擁有更多數(shù)量的DDR4內(nèi)存,可用于計(jì)算brick塊。
在dRedBox體系架構(gòu)中還有另外兩種類型的brick塊;加速器塊可以提供GPU或FPGA硬件來(lái)加速應(yīng)用程序(如機(jī)器學(xué)習(xí)或分析);以及一個(gè)控制器塊,其是一種管理所有其他塊的特殊塊。
為了適應(yīng)匹配現(xiàn)有的數(shù)據(jù)中心基礎(chǔ)設(shè)施,dRedBox團(tuán)隊(duì)設(shè)想任何生產(chǎn)環(huán)境中部署的塊都應(yīng)安裝在類似標(biāo)準(zhǔn)機(jī)架式服務(wù)器系統(tǒng)的2U機(jī)柜中。這些機(jī)柜外殼可能包含任何塊類混合。
這種模塊化安排的優(yōu)點(diǎn)在于:其還可以輕松實(shí)現(xiàn)升級(jí);企業(yè)數(shù)據(jù)中心的操作運(yùn)營(yíng)人員們可以簡(jiǎn)單地采用具備更高性能的新的計(jì)算塊來(lái)替換,或者將內(nèi)存塊替換為具有更大內(nèi)存容量的塊,而不會(huì)讓垃圾填滿整個(gè)服務(wù)器。
然而,整個(gè)架構(gòu)的關(guān)鍵部分是將塊連接在一起的互連技術(shù)。這必須是高速和低延遲性的,否則當(dāng)計(jì)算塊讀取存儲(chǔ)在內(nèi)存塊中的數(shù)據(jù)時(shí)性能會(huì)受到影響。
低延遲架構(gòu)對(duì)于其演示系統(tǒng),dRedBox團(tuán)隊(duì)在機(jī)箱內(nèi)使用一款電氣交換機(jī)矩陣連接塊,而光學(xué)交換機(jī)矩陣連接到機(jī)架中另一個(gè)機(jī)箱內(nèi)的塊。對(duì)于IT環(huán)境而言,這些交換矩陣通常是電路交換的,這意味著它們?cè)谂渲脡K之后會(huì)創(chuàng)建專用通道,不像以太網(wǎng)那樣的分組交換網(wǎng)絡(luò),后者會(huì)根據(jù)數(shù)據(jù)分組中的地址將數(shù)據(jù)路由到其目的地。
根據(jù)Reale的介紹,選擇這種安排恰恰是因?yàn)樾枰脱舆t性。
“通過(guò)電路交換與分組交換相比,當(dāng)從計(jì)算機(jī)塊到內(nèi)存塊時(shí),可以讓內(nèi)存請(qǐng)求的延遲低得多。”他說(shuō)。
實(shí)際上,Reale聲稱即使使用研究級(jí)硬件,dRedBox系統(tǒng)也能夠以遠(yuǎn)遠(yuǎn)低于1微秒的端到端延遲時(shí)間所需對(duì)遠(yuǎn)程存儲(chǔ)器的訪問(wèn),并且生產(chǎn)級(jí)處理器芯片以全時(shí)鐘速度運(yùn)行,性能會(huì)更高。
在計(jì)算和內(nèi)存塊之間建立電路交換鏈路的另一個(gè)優(yōu)點(diǎn)是,其與軟件看起來(lái)完全一樣,就像內(nèi)存直接連接到CPU的標(biāo)準(zhǔn)服務(wù)器一樣。
“我們正在使用一些現(xiàn)有的操作系??統(tǒng)擴(kuò)展,比如在Linux中對(duì)于非統(tǒng)一內(nèi)存的NUMA支持,以代表已知體系架構(gòu)的應(yīng)用程序的內(nèi)存距離,而對(duì)于其他應(yīng)用程序則是未知的,他們可以認(rèn)為是本地內(nèi)存,不需要知道內(nèi)存在哪里。”Reale說(shuō)。
演示設(shè)置的規(guī)模相對(duì)較小,僅包含三個(gè)托盤(pán),但dRedBox團(tuán)隊(duì)顯然可以通過(guò)運(yùn)行實(shí)際的云工作負(fù)載來(lái)對(duì)其進(jìn)行測(cè)試,盡管這些測(cè)試的結(jié)果目前尚未公布。
“我們不想使用基準(zhǔn)測(cè)試,因?yàn)槲覀冃枰弑U娑鹊慕Y(jié)果,所以我們實(shí)際上使用了一組真實(shí)的云應(yīng)用程序,包括數(shù)據(jù)分析和在線事務(wù)處理,內(nèi)存緩存,并使用消息代理來(lái)測(cè)試這方面的努力將如何影響到物聯(lián)網(wǎng)市場(chǎng)。”Reale說(shuō)。
根據(jù)dRedBox團(tuán)隊(duì)的介紹,演示系統(tǒng)至少可以在性能方面與標(biāo)準(zhǔn)的橫向擴(kuò)展服務(wù)器部署相匹配,同時(shí)將所使用的資源減少25%到50%.在項(xiàng)目結(jié)束時(shí),該團(tuán)隊(duì)希望能夠展示整個(gè)dRedBox硬件機(jī)架的性能如何。
與此同時(shí),架構(gòu)的任何生產(chǎn)版本都需要適應(yīng)現(xiàn)有的基礎(chǔ)架構(gòu),特別是管理工具。為此,dRedBox控制面板將通過(guò)API與常用業(yè)務(wù)流程管理安排工具進(jìn)行交互。
“控制面板或業(yè)務(wù)流程管理面板基本上是用于連接CPU和內(nèi)存的一些帶外服務(wù)器,并且這個(gè)接口是作為一款A(yù)PI公開(kāi)的,特別是REST API,并且可以由數(shù)據(jù)中心的運(yùn)營(yíng)商要么手動(dòng)使用或者要么更有可能實(shí)現(xiàn)集成——正如我們已經(jīng)在項(xiàng)目中所做的那樣——如果您想部署虛擬機(jī)或?yàn)槿萜鞑渴餕ubernetes,則需要像OpenStack這樣的更高級(jí)的業(yè)務(wù)流程管理安排軟件。”Reale解釋說(shuō)。
惠普企業(yè)公司、英特爾也在致力于服務(wù)器解耦工作事實(shí)上,dRedBox團(tuán)隊(duì)并不是唯一尋求通過(guò)服務(wù)器解耦以作為解決現(xiàn)有數(shù)據(jù)中心架構(gòu)所面臨的諸多問(wèn)題的可能解決方案的團(tuán)隊(duì)。
另一個(gè)團(tuán)隊(duì)是HPE的The Machine研究項(xiàng)目,該項(xiàng)目團(tuán)隊(duì)主要設(shè)計(jì)用于提供可支持大數(shù)據(jù)分析等應(yīng)用程序的非常大的內(nèi)存空間的系統(tǒng)。他們還具有獨(dú)立的計(jì)算和內(nèi)存模塊,可以安裝在基本上是機(jī)架式服務(wù)器的機(jī)箱集群中,并使用內(nèi)存結(jié)構(gòu)進(jìn)行互連。在去年推出的演示系統(tǒng)中,HPE使用光鏈路連接了40個(gè)包含160TB共享內(nèi)存的節(jié)點(diǎn)。
與此同時(shí),英特爾公司也推出了該公司自己的稱為RSD(Rack Scale Design)架構(gòu)的項(xiàng)目計(jì)劃。該項(xiàng)目計(jì)劃從相似的目標(biāo)開(kāi)始,但迄今為止,英特爾一直致力于從服務(wù)器節(jié)點(diǎn)分解存儲(chǔ),而不是分離計(jì)算和內(nèi)存。英特爾還專注于創(chuàng)建名為Redfish的API管理,旨在提供機(jī)架級(jí)別規(guī)模的資源發(fā)現(xiàn)和管理,并支持來(lái)自不同供應(yīng)商的RSD產(chǎn)品之間的互操作性。
英特爾的RSD項(xiàng)目計(jì)劃正在逐步發(fā)展,以便讓戴爾EMC,愛(ài)立信和Supermicro等廠商能夠以他們感到滿意的速度將技術(shù)整合到他們的產(chǎn)品中。同時(shí),HPE的新型計(jì)算機(jī)運(yùn)算架構(gòu)The Machine所開(kāi)發(fā)的技術(shù)和概念很可能會(huì)被注入到其他平臺(tái),例如美國(guó)能源部的Exascale Computing項(xiàng)目,HPE也參與其中。
至于dRedBox項(xiàng)目,這是多家企業(yè)組織之間的協(xié)作努力,同時(shí)還包括多所大學(xué)及其分拆公司,并且涵蓋了合作伙伴之間的多項(xiàng)知識(shí)產(chǎn)權(quán)協(xié)議。然而,該團(tuán)隊(duì)所期望的是,當(dāng)項(xiàng)目結(jié)束時(shí),其將能夠提供一些可以部署在目標(biāo)環(huán)境中的東西,但這仍然需要付諸額外的努力。
由于可以僅僅使用25%到50%的資源來(lái)運(yùn)行工作負(fù)載,基于解耦架構(gòu)的系統(tǒng)應(yīng)該能夠吸引更多數(shù)據(jù)中心客戶。但是,正如我們以前所經(jīng)??吹降哪菢樱艹龅南敕ê屠砟钇鋵?shí)并不總是能夠推翻現(xiàn)狀;您是否還記得IBM公司的PureSystems解決方案的案例呢?
通常情況下,供應(yīng)商們往往都會(huì)發(fā)現(xiàn)投資于任何與他們目前向客戶交付的產(chǎn)品差距過(guò)大的產(chǎn)品均會(huì)面臨著過(guò)大的風(fēng)險(xiǎn),而且,這將需要一家具有像英特爾這樣級(jí)別影響力的企業(yè)才能真正將新技術(shù)推向市場(chǎng)。因此,真正可組合的硬件是否真的能夠被推向市場(chǎng)還有待觀察。也許只有當(dāng)諸如谷歌、Facebook和亞馬遜這樣的超大規(guī)模企業(yè)用戶對(duì)這方面表現(xiàn)出足夠的興趣時(shí),我們才可以期待其將有可能成為現(xiàn)實(shí)。