新聞中心

EEPW首頁(yè) > 設(shè)計(jì)應(yīng)用 > OpenPOWER+CAPI實(shí)現(xiàn)第二代分布計(jì)算

OpenPOWER+CAPI實(shí)現(xiàn)第二代分布計(jì)算

作者:Bruce Wile 時(shí)間:2015-11-09 來(lái)源:電子產(chǎn)品世界 收藏
編者按:本文介紹了CAPI技術(shù),并給出基于CAPI應(yīng)用的三個(gè)案例。

摘要:本文介紹了技術(shù),并給出基于應(yīng)用的三個(gè)案例。

本文引用地址:http://www.butianyuan.cn/article/281881.htm

1 向第二代分布計(jì)算演進(jìn)

  最早的時(shí)候計(jì)算機(jī)系統(tǒng)單任務(wù)的,隨著數(shù)據(jù)量的增加,單計(jì)算任務(wù)的處理能力已不足以滿(mǎn)足人們?nèi)找嬖鲩L(zhǎng)的需求,所以計(jì)算機(jī)系統(tǒng)逐漸演進(jìn)到多任務(wù)的計(jì)算環(huán)境,同時(shí)有多個(gè)運(yùn)行(圖1),這就產(chǎn)生一個(gè)訪問(wèn)內(nèi)存中的數(shù)據(jù),數(shù)據(jù)的一致性是要急需解決的問(wèn)題。那么什么是數(shù)據(jù)一致性的問(wèn)題呢?當(dāng)一個(gè)對(duì)一個(gè)數(shù)據(jù)進(jìn)行操作之后,另外一個(gè)需要拿到正確的數(shù)據(jù)。

  在系統(tǒng)里面,電腦是用硬件來(lái)保證數(shù)據(jù)一致性,同時(shí)保證另外一個(gè)線程在讀取數(shù)據(jù)的時(shí)候能讀取到正確的數(shù)據(jù)。如圖2所示,圖2中有6個(gè)CPU核,每個(gè)CPU核都有自己的緩存,他們共享了一個(gè)更大的主存。圖2展示第一個(gè)POWER上面的嶄新的應(yīng)用,要對(duì)地址為1000的應(yīng)用進(jìn)行操作。第一個(gè)應(yīng)用會(huì)把這個(gè)地址為1000的數(shù)據(jù)從主存里面讀到自己的緩存上面,并且對(duì)它進(jìn)行修改,比如把它修改成綠色,有另外一個(gè)應(yīng)用跑在了第三個(gè)CPU核上面,它也是讀取地址為1000的數(shù)據(jù),應(yīng)該期望的是它讀到的是綠色的數(shù)據(jù)而不是原來(lái)白色的數(shù)據(jù)。同樣第三個(gè)核上的應(yīng)用會(huì)把這個(gè)數(shù)據(jù)進(jìn)行改寫(xiě),比如改寫(xiě)成紅色,這時(shí)候如果還有另外一個(gè)應(yīng)用跑在了第四個(gè)第五個(gè)核上面的應(yīng)用,它也會(huì)去讀取這個(gè)數(shù)據(jù),也應(yīng)該期望它能夠讀到紅色的數(shù)據(jù),這背后都是由一個(gè)內(nèi)存通知器硬件來(lái)幫軟件完成這些數(shù)據(jù)的一致性,保證它們讀到的數(shù)據(jù)都是最新的數(shù)據(jù)。當(dāng)計(jì)算機(jī)系統(tǒng)從一個(gè)單CPU系統(tǒng)進(jìn)化到多CPU系統(tǒng)的時(shí)候,它的性能功耗比其實(shí)是在下降的,所以現(xiàn)在可以用這樣的系統(tǒng)處理更多的數(shù)據(jù),比如在線交易業(yè)務(wù)、企業(yè)ERT業(yè)務(wù)、數(shù)據(jù)庫(kù)業(yè)務(wù)等。

  隨著互聯(lián)網(wǎng)的普及,數(shù)據(jù)量比以往更多。對(duì)于系統(tǒng)來(lái)說(shuō)需要更強(qiáng)的硬件計(jì)算能力,來(lái)處理更多的數(shù)據(jù)。常見(jiàn)的解決方案是在CPU核上,開(kāi)辟更多個(gè)硬件的線程,用這些線程來(lái)提高其處理能力,來(lái)幫助它對(duì)I/O端口過(guò)來(lái)的數(shù)據(jù)進(jìn)行更好的處理,同時(shí)加入了GPU和,使用這些硬件來(lái)幫助系統(tǒng)處理數(shù)據(jù)(圖3)。但是傳統(tǒng)上GPU和都是以I/O設(shè)備的形式掛載在這個(gè)系統(tǒng)上面,為了使用I/O設(shè)備,需要提高技能,如編程人員需要學(xué)習(xí)硬件知識(shí),需要懂得內(nèi)核的人為I/O設(shè)備進(jìn)行驅(qū)動(dòng)的開(kāi)發(fā),同時(shí)由于它們是I/O設(shè)備,沒(méi)有和CPU共享內(nèi)存,所以需要內(nèi)核代碼幫助他們做數(shù)據(jù)傳輸。擺在面前的另外一個(gè)難題就是半導(dǎo)體技術(shù)的性?xún)r(jià)比不再持續(xù)增長(zhǎng),現(xiàn)在已經(jīng)到了一個(gè)拐點(diǎn),不能依賴(lài)于半導(dǎo)體技術(shù)的增長(zhǎng)使系統(tǒng)更快更強(qiáng),需要從硬件還有固件、操作系統(tǒng)、設(shè)備應(yīng)用等多角度考慮,尋求一個(gè)更好的解決方案。

  為了解決這種需求,現(xiàn)在引入使用(相干加速器處理器接口)接入系統(tǒng)更快更好地處理數(shù)據(jù)。隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,這樣數(shù)據(jù)會(huì)比以往更多,所以我們需要硬件來(lái)幫助系統(tǒng)處理數(shù)據(jù)。當(dāng)然整個(gè)系統(tǒng)不是IBM提供的封閉系統(tǒng),雖然IBM也有一個(gè)192線程的機(jī)器,再加上FPGA的板卡,但是IBM沒(méi)有提供這樣一個(gè)封閉系統(tǒng),相反IBM會(huì)有更多的合作伙伴,比如中太數(shù)據(jù)的服務(wù)器、NVIDIA的GPU、賽靈思的FPGA芯片、恒揚(yáng)的FPGA板卡解決方案,還有Ubuntu的操作系統(tǒng)解決方案、三星提供的存儲(chǔ)解決方案。以一個(gè)合作伙伴的形式,向更多的企業(yè)提供應(yīng)用,提供服務(wù)。

  CAPI可以使FPGA連接到系統(tǒng)上面(如圖4),通過(guò)在FPGA上面內(nèi)嵌了一點(diǎn)處理邏輯,使FPGA上面的硬件可以和CPU線程共同共享一段虛擬的地址空間,在CPU上的線程會(huì)產(chǎn)生數(shù)據(jù),同時(shí)也會(huì)產(chǎn)生一個(gè)任務(wù)隊(duì)列,隊(duì)列可以定義指導(dǎo)FPGA上面硬件如何對(duì)數(shù)據(jù)進(jìn)行操作。在新一代的系統(tǒng)里面,允許FPGA硬件和CPU上面軟件共享虛擬的地址空間,并且它們的一致性是由硬件來(lái)進(jìn)行維護(hù)。通過(guò)一個(gè)調(diào)動(dòng)CPU上的軟件可以觸發(fā)IPA硬件去任務(wù)隊(duì)列里面獲取任務(wù)的描述,然后FPGA通過(guò)共享的存儲(chǔ)空間來(lái)讀取內(nèi)存上面的數(shù)據(jù),并產(chǎn)生結(jié)果,這些結(jié)果和數(shù)據(jù)都可以被CPU上軟件直接訪問(wèn)的。IBM已有系統(tǒng)是工作在這樣的模式。用CAPI技術(shù)不再需要面對(duì)之前麻煩,但是因?yàn)镕PGA軟件員不需要再去了解具體的硬件是如何工作,F(xiàn)PGA工作在協(xié)處理器的模式共享內(nèi)存。

  圖5是一個(gè)OpenPOWER的機(jī)器,在紅色的兩個(gè)圈子里是兩個(gè)POWER8的處理器模塊,綠色的地方是可以插兩個(gè)CAPI板卡的地方。



上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: CAPI CPU FPGA 201511

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉