一文讀懂胖樹(Fat-Tree)拓?fù)浣Y(jié)構(gòu)


在 2008 年由美國(guó)加利福尼亞計(jì)算機(jī)科學(xué)與工程的幾位教授發(fā)表的一篇論文《A scalable, commodity data center network architecture》中,明確的提出了一種三級(jí)的,被稱之為胖樹(Fat-Tree)的 CLOS 網(wǎng)絡(luò)架構(gòu),標(biāo)志著 CLOS 正式進(jìn)入數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu)領(lǐng)域,這是 CLOS 網(wǎng)絡(luò)模型的第三次應(yīng)用。
Fat-Tree 是無帶寬收斂的:傳統(tǒng)的樹形網(wǎng)絡(luò)拓?fù)渲?,帶寬是逐層收斂的,樹根處的網(wǎng)絡(luò)帶寬要遠(yuǎn)小于各個(gè)葉子處所有帶寬的總和。而 Fat-Tree 則更像是真實(shí)的樹,越到樹根,枝干越粗,即:從葉子到樹根,網(wǎng)絡(luò)帶寬不收斂。這是 Fat-Tree 能夠支撐無阻塞網(wǎng)絡(luò)的基礎(chǔ)。

如上圖所示,為了實(shí)現(xiàn)網(wǎng)絡(luò)帶寬的無收斂,F(xiàn)at-Tree 中的每個(gè)節(jié)點(diǎn)(根節(jié)點(diǎn)除外)都需要保證上行帶寬和下行帶寬相等,并且每個(gè)節(jié)點(diǎn)都要提供對(duì)接入帶寬的線速轉(zhuǎn)發(fā)的能力。
但是,傳統(tǒng)單根/多根拓?fù)浣Y(jié)構(gòu)有以下缺點(diǎn):成本高,根部交換機(jī)必須要有足夠大的帶寬來滿足下層服務(wù)器之間的通信;性能瓶頸,無法滿足數(shù)據(jù)中心內(nèi)部大規(guī)模的MapReduce和數(shù)據(jù)拷貝。
為了解決樹形結(jié)構(gòu)根節(jié)點(diǎn)的瓶頸問題,研究者提出了許多可用的拓?fù)浣Y(jié)構(gòu)。分為以交換機(jī)為中心和以服務(wù)器為中心的架構(gòu)。其中,F(xiàn)at-Tree在近年來的科研中應(yīng)用較為廣泛。SIGCOMM會(huì)議論文:Al-Fares M, Loukissas A, Vahdat A. A scalable, commodity data center network architecture。
當(dāng)前,F(xiàn)at-Tree 是業(yè)界普遍認(rèn)可的實(shí)現(xiàn)無阻塞網(wǎng)絡(luò)的技術(shù)。其基本理念是:使用大量低性能的交換機(jī),構(gòu)建出大規(guī)模的無阻塞網(wǎng)絡(luò),對(duì)于任意的通信模式,總有路徑讓他們的通信帶寬達(dá)到網(wǎng)卡帶寬。Fat-Tree 的另一個(gè)好處是,它用到的所有交換機(jī)都是相同的,這讓我們能夠在整個(gè)數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu)中采用廉價(jià)的交換機(jī)。
Fat-Tree是以交換機(jī)為中心的拓?fù)?。支持在橫向拓展的同時(shí)拓展路徑數(shù)目;且所有交換機(jī)均為相同端口數(shù)量的普通設(shè)備,降低了網(wǎng)絡(luò)建設(shè)成本。
具體來說,F(xiàn)at-Tree結(jié)構(gòu)共分為三層:核心層、匯聚層、接入層。一個(gè)k元的Fat-Tree可以歸納為5個(gè)特征:
每臺(tái)交換機(jī)都有k個(gè)端口;
核心層為頂層,一共有(k/2)^2個(gè)交換機(jī);
一共有k個(gè)pod,每個(gè)pod有k臺(tái)交換機(jī)組成。其中匯聚層和接入層各占k/2臺(tái)交換機(jī);
接入層每個(gè)交換機(jī)可以容納k/2臺(tái)服務(wù)器,因此,k元Fat-Tree一共有k個(gè)pod,每個(gè)pod容納k*k/4個(gè)服務(wù)器,所有pod共能容納k*k*k/4臺(tái)服務(wù)器;
任意兩個(gè)pod之間存在k條路徑。
常見的有2元、4元、6元等結(jié)構(gòu)。

上圖為最簡(jiǎn)單的 k=4 時(shí)的 Fat-Tree 拓?fù)洌?/span>連在同一個(gè)接入交換機(jī)下的服務(wù)器處于同一個(gè)子網(wǎng),他們之間的通信走二層報(bào)文交換。不同接入交換機(jī)下的服務(wù)器通信,需要走路由。下面是一個(gè)6元胖樹結(jié)構(gòu)。

Fat-Tree 的擴(kuò)展規(guī)模在理論上受限于核心層交換機(jī)的端口數(shù)目,不利于數(shù)據(jù)中心的長(zhǎng)期發(fā)展要求;
對(duì)于 POD 內(nèi)部,F(xiàn)at-Tree 容錯(cuò)性能差,對(duì)底層交換設(shè)備故障非常敏感,當(dāng)?shù)讓咏粨Q設(shè)備故障時(shí),難以保證服務(wù)質(zhì)量;
Fat-Tree 拓?fù)浣Y(jié)構(gòu)的特點(diǎn)決定了網(wǎng)絡(luò)不能很好的支持 One-to-All及 All-to-All 網(wǎng)絡(luò)通信模式,不利于部署 MapReduce、Dryad 等高性能分布式應(yīng)用;
Fat-Tree 網(wǎng)絡(luò)中交換機(jī)與服務(wù)器的比值較大,在一定程度上使得網(wǎng)絡(luò)設(shè)備成本依然很高,不利于企業(yè)的經(jīng)濟(jì)發(fā)展。
因?yàn)橐乐钩霈F(xiàn) TCP 報(bào)文亂序的問題,難以達(dá)到 1:1 的超分比。
參考資料:
1、范桂颶,“數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu)的問題與演進(jìn) — CLOS 網(wǎng)絡(luò)與 Fat-Tree、Spine-Leaf 架構(gòu)”;
2、金色牛神,“Fat-Tree Topo Architecture(胖樹拓?fù)浣Y(jié)構(gòu))”。

轉(zhuǎn)載申明:轉(zhuǎn)載本號(hào)文章請(qǐng)注明作者和來源,本號(hào)發(fā)布文章若存在版權(quán)等問題,請(qǐng)留言聯(lián)系處理,謝謝。
推薦閱讀
更多架構(gòu)相關(guān)技術(shù)知識(shí)總結(jié)請(qǐng)參考“架構(gòu)師全店鋪技術(shù)資料打包”相關(guān)電子書(37本技術(shù)資料打包匯總詳情可通過“閱讀原文”獲取)。
全店內(nèi)容持續(xù)更新,現(xiàn)下單“全店鋪技術(shù)資料打包(全)”,后續(xù)可享全店內(nèi)容更新“免費(fèi)”贈(zèng)閱,價(jià)格僅收198元(原總價(jià)350元)。
溫馨提示:
掃描二維碼關(guān)注公眾號(hào),點(diǎn)擊閱讀原文鏈接獲取“架構(gòu)師技術(shù)全店資料打包匯總(全)”電子書資料詳情。

