京東如何處理數(shù)據(jù)中心網(wǎng)絡(luò)對(duì)于應(yīng)用性能的影響

責(zé)任編輯:jcao

2017-08-22 14:37:55

來源:企業(yè)網(wǎng)D1Net

原創(chuàng)

在大規(guī)模網(wǎng)絡(luò)中,如何讓數(shù)據(jù)在傳輸過程中能以最快的速度從發(fā)送端到接收端,成為網(wǎng)絡(luò)性能調(diào)優(yōu)的關(guān)鍵因素。

隨著現(xiàn)代數(shù)據(jù)中心規(guī)模的不斷擴(kuò)張,網(wǎng)絡(luò)拓?fù)浜吐酚赊D(zhuǎn)發(fā)變得越來越復(fù)雜。傳統(tǒng)的數(shù)據(jù)中心使用大型機(jī)和小型機(jī),網(wǎng)絡(luò)規(guī)模相對(duì)較小,普通的機(jī)框式交換機(jī)就能滿足網(wǎng)絡(luò)的需求。隨著CLOS集群架構(gòu)的普及,標(biāo)準(zhǔn)的x86服務(wù)器集群以低成本和高擴(kuò)展性逐漸取代大型機(jī)和小型機(jī)而成為數(shù)據(jù)中心的主流。

下圖就是一個(gè)典型的基于CLOS架構(gòu)的數(shù)據(jù)中心解決方案,在這樣的大規(guī)模網(wǎng)絡(luò)中,如何讓數(shù)據(jù)在傳輸過程中能以最快的速度從發(fā)送端到接收端,成為網(wǎng)絡(luò)性能調(diào)優(yōu)的關(guān)鍵因素。

圖片描述

 

京東IT資源服務(wù)部舉辦的未來數(shù)據(jù)中心核心技術(shù)研討會(huì)上,京東人工智能,大數(shù)據(jù),云計(jì)算團(tuán)隊(duì)的多位研發(fā)總監(jiān),技術(shù)骨干人員,針對(duì)網(wǎng)絡(luò)影響應(yīng)用性能的話題,展開了深入的討論。

網(wǎng)絡(luò)影響應(yīng)用性能的一個(gè)原因,是處理器的性能越來越高,應(yīng)用到應(yīng)用之間,點(diǎn)對(duì)點(diǎn)延遲越來越低。比如在高性能計(jì)算和AI應(yīng)用中用到的MPI 協(xié)議,點(diǎn)對(duì)點(diǎn)傳輸?shù)难舆t可以小于1微秒(1us), 而現(xiàn)在多數(shù)交換機(jī)的單個(gè)Hop延遲超過了3微秒。

從上面那張拓?fù)鋱D中可以看到,同一數(shù)據(jù)中心需要經(jīng)過5個(gè)Hop(從Rack ToR 到Row Spine,到Data Center Spine, 再到Row Spine,到Rack ToR),這需要消耗15微秒的延遲。1微秒比15微秒,在運(yùn)行應(yīng)用的過程中超過90%的時(shí)間消耗到了網(wǎng)絡(luò)上,這種情形還不包括網(wǎng)絡(luò)上有任何丟包導(dǎo)致的重傳。

如何減小網(wǎng)絡(luò)對(duì)于應(yīng)用性能的影響

  • 采用高性能的交換機(jī)。如果交換機(jī)的性能能從3微秒降低到0.3微秒,這樣的話,整個(gè)網(wǎng)絡(luò)的延時(shí)會(huì)降低到原來的十分之一。

  • 采用性能高而且穩(wěn)定的交換機(jī)。有的交換機(jī)轉(zhuǎn)發(fā)性能不穩(wěn)定,在不同的包大小情況下,會(huì)有不同的轉(zhuǎn)發(fā)性能,在小包的情況下可以有低的延遲,在大包的情況下延遲會(huì)大幅增加,導(dǎo)致網(wǎng)絡(luò)性能不可預(yù)測。有的交換機(jī)轉(zhuǎn)發(fā)性能可以不隨著包大小的變化而波動(dòng),一直維持在低延遲的狀態(tài)。

圖片描述
  • 避免出現(xiàn)多對(duì)一通訊時(shí)的不公平現(xiàn)象。如果出現(xiàn)這種不公平現(xiàn)象,會(huì)導(dǎo)致網(wǎng)絡(luò)轉(zhuǎn)發(fā)速度不均,出現(xiàn)先到后得的現(xiàn)象。
圖片描述
  • 建立快速的網(wǎng)絡(luò)擁塞控制機(jī)制。在大型的網(wǎng)絡(luò)中,擁塞是不可避免的,如何能有效的管理擁塞和降低擁塞帶來的丟包和重傳,是現(xiàn)在網(wǎng)絡(luò)管理中非常重要的一個(gè)技術(shù)難點(diǎn)
圖片描述
圖片描述
  • 降速慢傳數(shù)據(jù)策略優(yōu)于丟包重傳數(shù)據(jù)。在網(wǎng)絡(luò)中,降速慢傳和丟包重傳是兩種被用來解決擁塞的方式,實(shí)踐證明,慢傳比丟包重傳更能有效的解決擁塞問題。

對(duì)網(wǎng)絡(luò)擁塞的管理和控制

通過研討會(huì)上的討論我們可以發(fā)現(xiàn),應(yīng)用的屬性決定了網(wǎng)絡(luò)中的通訊方式,如存儲(chǔ)應(yīng)用中的多個(gè)initiator訪問單個(gè)或多個(gè)target,MPI應(yīng)用中的多對(duì)多通訊,machine learning中的worker和parameter server通訊,CDN中的一對(duì)多通訊等。

圖片描述

當(dāng)多對(duì)一的情況發(fā)生時(shí),為了減少丟包導(dǎo)致的重傳,我們需要采取措施來降低發(fā)送端的速度,來減少對(duì)交換機(jī)buffer的壓力。在網(wǎng)絡(luò)的擁塞管理和控制上,業(yè)界通常采用PFC(Priority based Flow Control)和ECN(Explicit Congestion Notification)兩種方式來實(shí)現(xiàn)。

  • PFC 是在交換機(jī)入口(ingress port)發(fā)起的擁塞管理機(jī)制

在通常無擁塞情況下,交換機(jī)的入口buffer不需要存儲(chǔ)數(shù)據(jù)。當(dāng)交換機(jī)出口(egress port)的buffer達(dá)到一定的閾值時(shí),交換機(jī)的入口buffer開始積累,當(dāng)入口buffer達(dá)到我們設(shè)定的閾值時(shí),交換機(jī)入口開始主動(dòng)的迫使它的上級(jí)端口降速。由于PFC是基于優(yōu)先級(jí)的控制,所以這種反壓可能導(dǎo)致同樣優(yōu)先級(jí)的應(yīng)用受到影響。

圖片描述
  • ECN是在交換機(jī)出口(egress port)發(fā)起的擁塞控制機(jī)制

當(dāng)交換機(jī)的出口buffer達(dá)到設(shè)定的閾值時(shí),交換機(jī)會(huì)改變數(shù)據(jù)包頭中的ECN位來給數(shù)據(jù)打上ECN標(biāo)簽,當(dāng)帶ECN標(biāo)簽的數(shù)據(jù)到達(dá)接收端以后,接收端會(huì)生成CNP(Congestion Notification Packet)并將它發(fā)送給發(fā)送端,CNP包含了導(dǎo)致?lián)砣膄low或QP的信息,當(dāng)接收端收到CNP后,會(huì)采取措施降低發(fā)送速度。

可見ECN是基于TCP flow或RDMA QP的擁塞控制機(jī)制,它只對(duì)導(dǎo)致?lián)砣膄low或QP起作用,不會(huì)影響到其他的應(yīng)用。

圖片描述

京東IT資源服務(wù)部的硬件系統(tǒng)部技術(shù)負(fù)責(zé)人王中平提出:在管理網(wǎng)絡(luò)的擁塞中,應(yīng)該綜合應(yīng)用PFC 和ECN 兩種方式,來有效的實(shí)現(xiàn)性能和操作性的平衡。具體的實(shí)施過程中可參考以下推薦:

圖片描述

京東IT資源服務(wù)部負(fù)責(zé)人呂科說:“如何降低網(wǎng)絡(luò)對(duì)于應(yīng)用性能的影響是一個(gè)非常復(fù)雜的問題,也是所有的數(shù)據(jù)中心管理者一直在力求解決的問題。最好的方式就是我們的網(wǎng)絡(luò)人員和應(yīng)用人員一起來討論應(yīng)用對(duì)于網(wǎng)絡(luò)的需求,我們專業(yè)的技術(shù)團(tuán)隊(duì)會(huì)針對(duì)需求,測試和選擇最合適的網(wǎng)絡(luò)產(chǎn)品和網(wǎng)絡(luò)方案。”

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)