<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 設計應用 > OpenPOWER+CAPI實(shí)現第二代分布計算

OpenPOWER+CAPI實(shí)現第二代分布計算

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

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

本文引用地址:http://dyxdggzs.com/article/281881.htm

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

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

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

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

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

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

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



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

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

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>