<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è) > 嵌入式系統 > 設計應用 > 揭秘FPGA:為什么比 GPU 的延遲低這么多?

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

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


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

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

   在 Bing 的部署取得了成功,Catapult 項目繼續在公司內擴張。

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

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

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

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


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

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

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


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

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


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

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

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

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

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


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


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



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

評論


相關(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>