<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 揭秘FPGA:為什么比 GPU 的延遲低這么多?

          揭秘FPGA:為什么比 GPU 的延遲低這么多?

          作者: 時(shí)間:2018-06-27 來(lái)源:網(wǎng)絡(luò) 收藏


          本文引用地址:http://www.ex-cimer.com/article/201806/382354.htm

            ▲本地和遠(yuǎn)程的 均可以降低搜索延遲,遠(yuǎn)程 的通信延遲相比搜索延遲可忽略。

             在 Bing 的部署取得了成功,Catapult 項(xiàng)目繼續(xù)在公司內(nèi)擴(kuò)張。

            微軟內(nèi)部擁有最多服務(wù)器的,就是 Azure 部門(mén)了。

            Azure 部門(mén)急需解決的問(wèn)題是網(wǎng)絡(luò)和存儲(chǔ)虛擬化帶來(lái)的開(kāi)銷(xiāo)。Azure 把虛擬機(jī)賣(mài)給客戶(hù),需要給虛擬機(jī)的網(wǎng)絡(luò)提供防火墻、負(fù)載均衡、隧道、NAT 等網(wǎng)絡(luò)功能。由于云存儲(chǔ)的物理存儲(chǔ)跟計(jì)算節(jié)點(diǎn)是分離的,需要把數(shù)據(jù)從存儲(chǔ)節(jié)點(diǎn)通過(guò)網(wǎng)絡(luò)搬運(yùn)過(guò)來(lái),還要進(jìn)行壓縮和加密。

            在 1 Gbps 網(wǎng)絡(luò)和機(jī)械硬盤(pán)的時(shí)代,網(wǎng)絡(luò)和存儲(chǔ)虛擬化的 CPU 開(kāi)銷(xiāo)不值一提。隨著網(wǎng)絡(luò)和存儲(chǔ)速度越來(lái)越快,網(wǎng)絡(luò)上了 40 Gbps,一塊 SSD 的吞吐量也能到 1 GB/s,CPU 漸漸變得力不從心了。

            例如 Hyper-V 虛擬交換機(jī)只能處理 25 Gbps 左右的流量,不能達(dá)到 40 Gbps 線(xiàn)速,當(dāng)數(shù)據(jù)包較小時(shí)性能更差;AES-256 加密和 SHA-1 簽名,每個(gè) CPU 核只能處理 100 MB/s,只是一塊 SSD 吞吐量的十分之一。


            ▲網(wǎng)絡(luò)隧道協(xié)議、防火墻處理 40 Gbps 需要的 CPU 核數(shù)。

            為了加速網(wǎng)絡(luò)功能和存儲(chǔ)虛擬化,微軟把 FPGA 部署在網(wǎng)卡和交換機(jī)之間。

            如下圖所示,每個(gè) FPGA 有一個(gè) 4 GB DDR3-1333 DRAM,通過(guò)兩個(gè) PCIe Gen3 x8 接口連接到一個(gè) CPU socket(物理上是 PCIe Gen3 x16 接口,因?yàn)?FPGA 沒(méi)有 x16 的硬核,邏輯上當(dāng)成兩個(gè) x8 的用)。物理網(wǎng)卡(NIC)就是普通的 40 Gbps 網(wǎng)卡,僅用于宿主機(jī)與網(wǎng)絡(luò)之間的通信。


            ▲Azure 服務(wù)器部署 FPGA 的架構(gòu)。

            FPGA(SmartNIC)對(duì)每個(gè)虛擬機(jī)虛擬出一塊網(wǎng)卡,虛擬機(jī)通過(guò) SR-IOV 直接訪(fǎng)問(wèn)這塊虛擬網(wǎng)卡。原本在虛擬交換機(jī)里面的數(shù)據(jù)平面功能被移到了 FPGA 里面,虛擬機(jī)收發(fā)網(wǎng)絡(luò)數(shù)據(jù)包均不需要 CPU 參與,也不需要經(jīng)過(guò)物理網(wǎng)卡(NIC)。這樣不僅節(jié)約了可用于出售的 CPU 資源,還提高了虛擬機(jī)的網(wǎng)絡(luò)性能(25 Gbps),把同數(shù)據(jù)中心虛擬機(jī)之間的網(wǎng)絡(luò)延遲降低了 10 倍。


            ▲網(wǎng)絡(luò)虛擬化的加速架構(gòu)。來(lái)源:[6]

            這就是微軟部署 FPGA 的第三代架構(gòu),也是目前「每臺(tái)服務(wù)器一塊 FPGA」大規(guī)模部署所采用的架構(gòu)。

            FPGA 復(fù)用主機(jī)網(wǎng)絡(luò)的初心是加速網(wǎng)絡(luò)和存儲(chǔ),更深遠(yuǎn)的影響則是把 FPGA 之間的網(wǎng)絡(luò)連接擴(kuò)展到了整個(gè)數(shù)據(jù)中心的規(guī)模,做成真正 cloud-scale 的「超級(jí)計(jì)算機(jī)」。

            第二代架構(gòu)里面,F(xiàn)PGA 之間的網(wǎng)絡(luò)連接局限于同一個(gè)機(jī)架以?xún)?nèi),F(xiàn)PGA 之間專(zhuān)網(wǎng)互聯(lián)的方式很難擴(kuò)大規(guī)模,通過(guò) CPU 來(lái)轉(zhuǎn)發(fā)則開(kāi)銷(xiāo)太高。

            第三代架構(gòu)中,F(xiàn)PGA 之間通過(guò) LTL (Lightweight Transport Layer) 通信。同一機(jī)架內(nèi)延遲在 3 微秒以?xún)?nèi);8 微秒以?xún)?nèi)可達(dá) 1000 塊 FPGA;20 微秒可達(dá)同一數(shù)據(jù)中心的所有 FPGA。第二代架構(gòu)盡管 8 臺(tái)機(jī)器以?xún)?nèi)的延遲更低,但只能通過(guò)網(wǎng)絡(luò)訪(fǎng)問(wèn) 48 塊 FPGA。為了支持大范圍的 FPGA 間通信,第三代架構(gòu)中的 LTL 還支持 PFC 流控協(xié)議和 DCQCN 擁塞控制協(xié)議。


            ▲縱軸:LTL 的延遲,橫軸:可達(dá)的 FPGA 數(shù)量。來(lái)源:[4]


            ▲FPGA 內(nèi)的邏輯模塊關(guān)系,其中每個(gè) Role 是用戶(hù)邏輯(如 DNN 加速、網(wǎng)絡(luò)功能加速、加密),外面的部分負(fù)責(zé)各個(gè) Role 之間的通信及 Role 與外設(shè)之間的通信。來(lái)源:[4]



          關(guān)鍵詞: FPGA 云計(jì)算 GPU

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();