“不要讓網(wǎng)絡(luò)成為多節(jié)點(diǎn)并行計(jì)算效率的瓶頸?!?/p>
HPC為啥要用IB網(wǎng)?這個(gè)說法其實(shí)并不準(zhǔn)確,應(yīng)該問:HPC為啥要用RDMA?
高性能計(jì)算(HPC)集群中多節(jié)點(diǎn)并行時(shí),核與核之間需要通過計(jì)算網(wǎng)絡(luò)實(shí)時(shí)通信,這就要求計(jì)算網(wǎng)絡(luò)具有大帶寬、低延時(shí)的特性。而傳統(tǒng)以太網(wǎng)TCP/IP的通信方式,需要將數(shù)據(jù)傳輸?shù)讲僮飨到y(tǒng)內(nèi)核,然后再從內(nèi)核復(fù)制到目標(biāo)計(jì)算機(jī)的內(nèi)存中,不僅延遲較高,而且還占用了CPU的計(jì)算資源。
RDMA(remote directly memory access)則可以在不經(jīng)過操作系統(tǒng)內(nèi)核的情況下將數(shù)據(jù)從一個(gè)計(jì)算機(jī)直接傳輸?shù)搅硪粋€(gè)計(jì)算機(jī)的內(nèi)存中。這種直接訪問內(nèi)存的方式可以避免操作系統(tǒng)內(nèi)核的干擾,從而減少了延遲和CPU使用率。
目前支持RDMA的網(wǎng)絡(luò)協(xié)議有:
InfiniBand(IB): 從一開始就支持RDMA的新一代網(wǎng)絡(luò)協(xié)議。由于這是一種新的網(wǎng)絡(luò)技術(shù),因此需要支持該技術(shù)的網(wǎng)卡和交換機(jī)。
RDMA融合以太網(wǎng)(RoCE): 即RDMA over Ethernet, 允許通過以太網(wǎng)執(zhí)行RDMA的網(wǎng)絡(luò)協(xié)議。這允許在標(biāo)準(zhǔn)以太網(wǎng)基礎(chǔ)架構(gòu)(交換機(jī))上使用RDMA,只不過網(wǎng)卡必須是支持RoCE的特殊的NIC。
互聯(lián)網(wǎng)廣域RDMA協(xié)議(iWARP): 即RDMA over TCP, 允許通過TCP執(zhí)行RDMA的網(wǎng)絡(luò)協(xié)議。這允許在標(biāo)準(zhǔn)以太網(wǎng)基礎(chǔ)架構(gòu)(交換機(jī))上使用RDMA,只不過網(wǎng)卡要求是支持iWARP的NIC。
在三種主流的RDMA技術(shù)中,可以劃分為兩大陣營。一個(gè)是InfiniBand(IB)技術(shù), 另一個(gè)是支持RDMA的以太網(wǎng)技術(shù)(RoCE和iWARP)。其中, InfiniBand行業(yè)協(xié)會(IBTA)力挺的技術(shù)自然是IB和RoCE, Mellanox公司(一個(gè)以色列人搞的公司, 于2020年4月被Nvidia斥資68億美元收購)是這方面的先驅(qū)者。而iWARP則是IEEE/IETF力挺的技術(shù),主要是Chelsio公司在推進(jìn)。
高性能計(jì)算(HPC)需要處理大量的數(shù)據(jù)和計(jì)算任務(wù),因此需要使用高效的網(wǎng)絡(luò)通信技術(shù)來實(shí)現(xiàn)快速數(shù)據(jù)傳輸和低延遲的計(jì)算。無疑是最適合IB網(wǎng)絡(luò)的應(yīng)用場景??梢哉fIB網(wǎng)絡(luò)是專為HPC而生。