揭秘FPGA:為什么比 GPU 的延遲低這么多?
微軟部署 FPGA 并不是一帆風(fēng)順的。對(duì)于把 FPGA 部署在哪里這個(gè)問(wèn)題,大致經(jīng)歷了三個(gè)階段:
本文引用地址:http://butianyuan.cn/article/201806/382354.htm專(zhuān)用的 FPGA 集群,里面插滿(mǎn)了 FPGA
每臺(tái)機(jī)器一塊 FPGA,采用專(zhuān)用網(wǎng)絡(luò)連接
每臺(tái)機(jī)器一塊 FPGA,放在網(wǎng)卡和交換機(jī)之間,共享服務(wù)器網(wǎng)絡(luò)
▲微軟 FPGA 部署方式的三個(gè)階段
第一個(gè)階段是專(zhuān)用集群,里面插滿(mǎn)了 FPGA 加速卡,就像是一個(gè) FPGA 組成的超級(jí)計(jì)算機(jī)。
下圖是最早的 BFB 實(shí)驗(yàn)板,一塊 PCIe 卡上放了 6 塊 FPGA,每臺(tái) 1U 服務(wù)器上又插了 4 塊 PCIe 卡。
▲最早的 BFB 實(shí)驗(yàn)板,上面放了 6 塊 FPGA。
可以注意到該公司的名字。在半導(dǎo)體行業(yè),只要批量足夠大,芯片的價(jià)格都將趨向于沙子的價(jià)格。據(jù)傳聞,正是由于該公司不肯給「沙子的價(jià)格」 ,才選擇了另一家公司。
當(dāng)然現(xiàn)在數(shù)據(jù)中心領(lǐng)域用兩家公司 FPGA 的都有。只要規(guī)模足夠大,對(duì) FPGA 價(jià)格過(guò)高的擔(dān)心將是不必要的。
▲最早的 BFB 實(shí)驗(yàn)板,1U 服務(wù)器上插了 4 塊 FPGA 卡。
像超級(jí)計(jì)算機(jī)一樣的部署方式,意味著有專(zhuān)門(mén)的一個(gè)機(jī)柜全是上圖這種裝了 24 塊 FPGA 的服務(wù)器(下圖左)。
這種方式有幾個(gè)問(wèn)題:
不同機(jī)器的 FPGA 之間無(wú)法通信,F(xiàn)PGA 所能處理問(wèn)題的規(guī)模受限于單臺(tái)服務(wù)器上 FPGA 的數(shù)量;
數(shù)據(jù)中心里的其他機(jī)器要把任務(wù)集中發(fā)到這個(gè)機(jī)柜,構(gòu)成了 in-cast,網(wǎng)絡(luò)延遲很難做到穩(wěn)定。
FPGA 專(zhuān)用機(jī)柜構(gòu)成了單點(diǎn)故障,只要它一壞,誰(shuí)都別想加速了;
裝 FPGA 的服務(wù)器是定制的,冷卻、運(yùn)維都增加了麻煩。
▲部署 FPGA 的三種方式,從中心化到分布式。
一種不那么激進(jìn)的方式是,在每個(gè)機(jī)柜一面部署一臺(tái)裝滿(mǎn) FPGA 的服務(wù)器(上圖中)。這避免了上述問(wèn)題 (2)(3),但 (1)(4) 仍然沒(méi)有解決。
第二個(gè)階段,為了保證數(shù)據(jù)中心中服務(wù)器的同構(gòu)性(這也是不用 ASIC 的一個(gè)重要原因),在每臺(tái)服務(wù)器上插一塊 FPGA(上圖右),F(xiàn)PGA 之間通過(guò)專(zhuān)用網(wǎng)絡(luò)連接。這也是微軟在 ISCA'14 上所發(fā)表論文采用的部署方式。
評(píng)論