揭秘FPGA:為什么比 GPU 的延遲低這么多?
微軟部署 FPGA 并不是一帆風(fēng)順的。對于把 FPGA 部署在哪里這個(gè)問(wèn)題,大致經(jīng)歷了三個(gè)階段:
本文引用地址:http://dyxdggzs.com/article/201806/382354.htm專(zhuān)用的 FPGA 集群,里面插滿(mǎn)了 FPGA
每臺機器一塊 FPGA,采用專(zhuān)用網(wǎng)絡(luò )連接
每臺機器一塊 FPGA,放在網(wǎng)卡和交換機之間,共享服務(wù)器網(wǎng)絡(luò )

▲微軟 FPGA 部署方式的三個(gè)階段
第一個(gè)階段是專(zhuān)用集群,里面插滿(mǎn)了 FPGA 加速卡,就像是一個(gè) FPGA 組成的超級計算機。
下圖是最早的 BFB 實(shí)驗板,一塊 PCIe 卡上放了 6 塊 FPGA,每臺 1U 服務(wù)器上又插了 4 塊 PCIe 卡。

▲最早的 BFB 實(shí)驗板,上面放了 6 塊 FPGA。
可以注意到該公司的名字。在半導體行業(yè),只要批量足夠大,芯片的價(jià)格都將趨向于沙子的價(jià)格。據傳聞,正是由于該公司不肯給「沙子的價(jià)格」 ,才選擇了另一家公司。
當然現在數據中心領(lǐng)域用兩家公司 FPGA 的都有。只要規模足夠大,對 FPGA 價(jià)格過(guò)高的擔心將是不必要的。

▲最早的 BFB 實(shí)驗板,1U 服務(wù)器上插了 4 塊 FPGA 卡。
像超級計算機一樣的部署方式,意味著(zhù)有專(zhuān)門(mén)的一個(gè)機柜全是上圖這種裝了 24 塊 FPGA 的服務(wù)器(下圖左)。
這種方式有幾個(gè)問(wèn)題:
不同機器的 FPGA 之間無(wú)法通信,FPGA 所能處理問(wèn)題的規模受限于單臺服務(wù)器上 FPGA 的數量;
數據中心里的其他機器要把任務(wù)集中發(fā)到這個(gè)機柜,構成了 in-cast,網(wǎng)絡(luò )延遲很難做到穩定。
FPGA 專(zhuān)用機柜構成了單點(diǎn)故障,只要它一壞,誰(shuí)都別想加速了;
裝 FPGA 的服務(wù)器是定制的,冷卻、運維都增加了麻煩。

▲部署 FPGA 的三種方式,從中心化到分布式。
一種不那么激進(jìn)的方式是,在每個(gè)機柜一面部署一臺裝滿(mǎn) FPGA 的服務(wù)器(上圖中)。這避免了上述問(wèn)題 (2)(3),但 (1)(4) 仍然沒(méi)有解決。
第二個(gè)階段,為了保證數據中心中服務(wù)器的同構性(這也是不用 ASIC 的一個(gè)重要原因),在每臺服務(wù)器上插一塊 FPGA(上圖右),FPGA 之間通過(guò)專(zhuān)用網(wǎng)絡(luò )連接。這也是微軟在 ISCA'14 上所發(fā)表論文采用的部署方式。
評論