2019年6月25日,由浪潮與OCP開放計算社區(qū)聯(lián)合主辦的首屆OCPChina Day(開放計算中國日)在北京正式開啟。本屆 OCP China Day聚焦人工智能、邊緣計算、OpenRack、OpenRMC、SONiC、OAM等前沿技術話題,來自Facebook、LinkedIn、Intel、微軟、百度、騰訊、阿里、諾基亞、中國移動、浪潮等資深技術專家分享了最新技術進展。近千名工程師和數(shù)據(jù)中心從業(yè)者參加了此次大會。
OCP是全球最大的開放硬件社區(qū),2011年由Facebook發(fā)起成立,其宗旨是以開源開放的方式,重構當前的數(shù)據(jù)中心硬件,發(fā)展面向下一代數(shù)據(jù)中心的服務器、存儲、網(wǎng)絡、基礎設施等創(chuàng)新硬件。目前,OCP核心會員超過200家。
微軟于2014年加入了OCP開放計算項目,是該組織交換抽象接口(SAI)項目的創(chuàng)始成員和貢獻者。在本次OCP China Day上,微軟亞洲研究院首席研究員張霖濤先生以《The Co-Evolution of Data Center Hardware and Systems Software》為題進行了分享。
微軟亞洲研究院首席研究員 張霖濤
以下為大會演講實錄:
主持人:下一位嘉賓是來自微軟的,微軟在OCP的影響舉足輕重,我們今天非常榮幸的邀請到微軟亞洲研究院首席研究員張霖濤先生。
微軟亞洲研究院首席研究員張霖濤張霖濤:今天我跟大家談一談系統(tǒng)和硬件,我是在軟件方面比較專長,做研究做的比較多,今天是我個人第一次參與到OCP這個大會中,我自己也非常激動。大家都知道我們需要很多系統(tǒng)軟件,這樣才能更好的應用數(shù)據(jù)中心里面各種各樣的硬件,我們做軟件已經(jīng)做了很長時間了,而且我們有很多非常經(jīng)典的運行軟件,數(shù)據(jù)中心軟件和存儲等等相應的軟件,很多系統(tǒng)軟件都是上世紀70年代做的,所以很多那個時候做軟件設計時候的概念和原則性的設想還在影響著當今的軟件設計,那個時候他們做了很多假設,比如CPU是中心的處理單元,他們在那個年代做軟件時候的設想,他們覺得硬盤比較慢,在內(nèi)存這邊,會把內(nèi)存做相關的分級,比如緩存、磁盤分驗等等。
但是在數(shù)據(jù)中心這一塊,特別是數(shù)據(jù)中心的硬件,他有很多變革,這些新的技術與之前我們的系統(tǒng)運行軟件設計做的假設完全不同了,在現(xiàn)在的數(shù)據(jù)中心里,這些假設已經(jīng)不是真的了,比如I/ O,現(xiàn)在I/O很快。
包括400Gb的以太網(wǎng)未來都會很快出來了,還有內(nèi)存這一塊,現(xiàn)在它的變化都非常大。我們現(xiàn)在可以承受幾十Gb每秒的處理數(shù)據(jù),如果我們現(xiàn)在還遵循原來的假設說I/ O是慢的,就沒有辦法設計現(xiàn)在數(shù)據(jù)中心適用的軟件了。還有一個趨勢,有專用領域的硬件設計,還有一些相關的計算資源,他有一些專用的目的,它的發(fā)展非常快,其實大家知道CPU的性能增加現(xiàn)在是比較穩(wěn)定的,我們CPU的整個增加已經(jīng)沒有以前我們預想的那么快,已經(jīng)不遵從摩爾定律了,有專用目的的計算資源,他的增長更加符合原來的摩爾定律,現(xiàn)在越來越多工程師的工作經(jīng)歷放在有專用領域的計算資源,CPU和加速器的角色不一樣了,我們的原則也有一些改變。
之前百度的發(fā)言人也提到,數(shù)據(jù)中心我們會用智能網(wǎng)卡,為什么大家會用到智能網(wǎng)卡,左邊是傳統(tǒng)概念,大家覺得CPU在中心,所有計算都要經(jīng)過CPU,CPU來分配計算資源,現(xiàn)在我們智能網(wǎng)卡也到了整個計算池中的核心,所以我們就變成了智能網(wǎng)卡,上面是FPGA,智能網(wǎng)卡可以做分配和加速器等計算資源。
另外還有一個大家在考慮的事情,要繞過kernel,很多時候我們愿意開發(fā)一個OS操作系統(tǒng),用OS是為了保護硬件的安全,directadmin安裝,包括繞過硬件相應的短板,往往所有的文件系統(tǒng)訪問,和Network的I/ O都是通過運行軟件的Kernel內(nèi)核,他會導致很多資源耗費。
上面是我對現(xiàn)在趨勢的一些背景介紹,我也想跟大家分享幾個我們現(xiàn)在所做的研究項目,或者是一些例子,因為我是做研發(fā)的,所以在接下來的一段時間還會有一些微軟的同事介紹生產(chǎn)環(huán)境的,我給大家介紹研發(fā)的案例,怎么解決硬件軟件的問題。
第一,KeyvalueStore,在數(shù)據(jù)中心里Key valueStore是重要的部分,傳統(tǒng)是用云里的緩存,比如把一個網(wǎng)頁或者訪問結果做緩存,但是現(xiàn)在Key valueStore已經(jīng)成為數(shù)據(jù)中心關鍵的設施了,因為它用來傳輸不同的圖形處理器和其他相關的計算資源之間的溝通,所以現(xiàn)在Key valueStore有一些其他的特性要求,比如我們要求它要有更大的通量。
所以我們現(xiàn)在的緩存基本上對于現(xiàn)在的數(shù)據(jù)架構是需要的,另外我們還需要其他的運營系統(tǒng),這樣可以作為非常好的數(shù)據(jù)架構使用。傳統(tǒng)而言,大家做了存儲非常多的架構,比如他做了非常好的優(yōu)化,人們傳統(tǒng)的方式是使用了Kernel TCP的方式,后來他們又做了Kernel ByPass的方式,當然我還需要使用CPU,因為CPU作為計算的主要引擎,內(nèi)存本來應該有更好的負載,所以它相當于是CPU成為一個瓶頸了。