? 本文選自《交易技術(shù)前沿》總第三十三期文章(2018年12月) 何志東 / 華銳分布式技術(shù)實驗室 廣東 深圳 518040 摘 要:低時延網(wǎng)絡技術(shù)是交易技術(shù)中重要環(huán)節(jié),本文圍繞低時延網(wǎng)絡的設計思路、關(guān)鍵影響因素等進行闡述,提出解決思路和建議方法,希望能為行業(yè)機構(gòu)建設低時延網(wǎng)絡提供一些參考。自底向上構(gòu)建低時延的交易系統(tǒng),首先需要構(gòu)建低時延的網(wǎng)絡基礎設施,低時延網(wǎng)絡在國外證券交易所以及大型券商的核心系統(tǒng)都已有成熟的應用,也讓系統(tǒng)的整體性能獲得了很好的基礎設施支撐。本文就如何構(gòu)建低時延的網(wǎng)絡給出了明確的方案思路,也希望拋磚引玉,與同行共同探討低時延網(wǎng)絡的建設思路,促進行業(yè)技術(shù)升級發(fā)展。 1 引言 近年來,金融和資本市場通過業(yè)務和技術(shù)雙輪驅(qū)動持續(xù)高速發(fā)展,全球交易所趨向集中整合和互聯(lián)互通,交易產(chǎn)品和業(yè)務多元化創(chuàng)新。信息技術(shù)創(chuàng)新日新月異,推動交易系統(tǒng)不斷更新?lián)Q代,交易系統(tǒng)由集中式轉(zhuǎn)向分布式是國內(nèi)證券行業(yè)交易技術(shù)發(fā)展的趨勢。 2 低時延網(wǎng)絡 全球交易所是以微秒級時延來進行度量和競爭的。為滿足市場要求,采用先進的高性能網(wǎng)絡設備和技術(shù),構(gòu)建高可靠、低時延、高吞吐網(wǎng)絡的需求日益迫切。 對2016年至2018年Top500超級計算機的網(wǎng)絡互聯(lián)技術(shù)變化趨勢進行統(tǒng)計,得出如下圖2的折線圖: 通過分析,可以得出高性能網(wǎng)絡技術(shù)的應用和發(fā)展趨勢: 以太網(wǎng)在70年代初期推出,以簡單、易用、經(jīng)濟、易擴展等優(yōu)勢得到普遍應用。至今40多年的時間里,以太網(wǎng)技術(shù)和協(xié)議仍在持續(xù)演進發(fā)展,滿足當今高性能網(wǎng)絡融合創(chuàng)新的需求。近年來,為滿足云計算、統(tǒng)一存儲等多樣業(yè)務,新型以太網(wǎng)通過DCB、VXLAN、FCoE等技術(shù),豐富存儲和虛擬化支持能力;通過RoCE[2]、擁塞控制優(yōu)化、流控管理優(yōu)化等技術(shù),大幅降低網(wǎng)絡轉(zhuǎn)發(fā)時延。以太網(wǎng)帶寬從早期的10M速率提升到10G/25G/40G/50G/100G,近期以太網(wǎng)帶寬進一步提升到400G,滿足超大規(guī)模數(shù)據(jù)中心和云計算等帶寬密集型需求。 InfiniBand在1999年首次提出,是一個為大規(guī)模、低時延的高性能服務器集群而設計的網(wǎng)絡技術(shù),通過大帶寬鏈路實現(xiàn)服務器、存儲設備互聯(lián)。其特點一是超大帶寬的連接。帶寬支持56Gb/s、100Gb/s及200Gb/s;二是極低的網(wǎng)絡時延。InfiniBand在可比數(shù)據(jù)速率下具有比以太網(wǎng)更低的時延;三是可靠無損的網(wǎng)絡?;阪溌穼拥牧骺貦C制和先進的擁塞控制機制防止擁塞和丟包;四是完全的CPU卸載功能。基于硬件的傳輸協(xié)議實現(xiàn)高可靠、無丟包的網(wǎng)絡數(shù)據(jù)傳輸。通過遠程直接內(nèi)存存取(RDMA)和內(nèi)核旁路技術(shù),可以直接對遠程節(jié)點間預分配內(nèi)存讀和寫,無需涉及操作系統(tǒng)內(nèi)核、無需數(shù)據(jù)多次復制,大幅降低CPU工作負載和網(wǎng)絡時延。五是卓越的可擴展性和靈活性。一個子網(wǎng)可以支持48,000個節(jié)點,一個網(wǎng)絡即可支撐大規(guī)模服務器的部署。 圖3 胖樹架構(gòu)示意圖 部分交易系統(tǒng)的內(nèi)部通信為了達到最小的時延,核心網(wǎng)絡采用InfiniBand,其他網(wǎng)絡采用以太網(wǎng),如德國證券交易所和新加坡交易所的交易系統(tǒng)內(nèi)網(wǎng)采用InfiniBand,德國證券交易所的T7交易系統(tǒng)6.1版本委托回報回路時延少于52us,新加坡交易所的平均訂單回報時延為90us。 3 構(gòu)建低時延網(wǎng)絡 系統(tǒng)端到端時延主要由網(wǎng)絡設備轉(zhuǎn)發(fā)時延、網(wǎng)絡連線的傳輸時延、網(wǎng)卡數(shù)據(jù)收發(fā)時延、操作系統(tǒng)處理時延、中間件處理時延及業(yè)務處理時延等構(gòu)成。網(wǎng)絡時延由網(wǎng)絡設備轉(zhuǎn)發(fā)時延、網(wǎng)絡連線的傳輸時延和網(wǎng)卡數(shù)據(jù)收發(fā)時延組成,構(gòu)建低時延網(wǎng)絡,就需要在以上各個環(huán)節(jié)降低時延損耗。 隨著行業(yè)低時延、高性能交易場景及數(shù)據(jù)中心托管業(yè)務發(fā)展的需求,對網(wǎng)絡設備的性能提出了更苛刻的要求。無論數(shù)據(jù)包大小和流量類型,所有網(wǎng)絡端口之間應提供穩(wěn)定的低時延傳輸,并保持足夠低的時延抖動。2012年9月,思科公司發(fā)布了自研芯片和算法的Nexus3548交換機,正常路徑轉(zhuǎn)發(fā)時延為250納秒,抖動在5納秒左右。2013年,Metamako公司發(fā)布了超低時延的、可配置的一層交換機MetaConnect,時延僅為4納秒,如此低的時延速度意味著使用者可以獲得最大的競爭優(yōu)勢。2014年,Exablaze公司發(fā)布ExaLINK Fusion交換機,通過精簡功能和協(xié)議并集成Xilinx Ultrascale FPGA,二層轉(zhuǎn)發(fā)時延為110納秒,一層交換時延為5納秒。Arista、Juniper、華為等網(wǎng)絡廠商大部分采用Broadcom、Intel的商用ASIC芯片解決方案,根據(jù)官網(wǎng)的數(shù)據(jù),Arista 7150s-52的時延為380納秒,Juniper的QFX 5110的時延為550納秒。Mellanox采用自研的Spectrum芯片,以太網(wǎng)交換機SN2410的時延為300納秒,InfiniBand SX6036 FDR(56Gb/s)交換機的時延為200納秒,InfiniBand SB7800 EDR(100Gb/s)交換機的時延為90納秒。 傳統(tǒng)的大型數(shù)據(jù)中心的網(wǎng)絡架構(gòu),通常分為核心層、匯聚層、接入層,隨著云數(shù)據(jù)中心、分布式計算快速興起,數(shù)據(jù)中心內(nèi)的服務器交互流量激增,數(shù)據(jù)流向模型由南北向變成東西向。傳統(tǒng)的網(wǎng)絡架構(gòu)是為了南北向流量設計,已不能滿足高性能、低時延分布式系統(tǒng)部署的要求。目前,構(gòu)建低時延網(wǎng)絡架構(gòu)的方法是盡量簡化傳統(tǒng)網(wǎng)絡的層數(shù),減少數(shù)據(jù)經(jīng)過網(wǎng)絡設備的次數(shù),將傳統(tǒng)集中交換、垂直的網(wǎng)絡架構(gòu)變?yōu)樗降摹⒁讛U展的分布式架構(gòu)。 圖4 小規(guī)模服務器低時延網(wǎng)絡架構(gòu) 一個數(shù)據(jù)中心多于40臺服務器的低時延網(wǎng)絡架構(gòu)通常有兩層(核心層、接入層),兩臺交換機互聯(lián)作為核心交換機,其余交換機作為接入交換機。核心交換機之間運行M-LAG或堆疊,確保不產(chǎn)生環(huán)路。同數(shù)據(jù)中心1跳網(wǎng)絡可達,跨數(shù)據(jù)中心4跳網(wǎng)絡可達,網(wǎng)絡架構(gòu)如下圖示: 圖5 大規(guī)模服務器低時延網(wǎng)絡架構(gòu) 網(wǎng)絡傳輸時延是數(shù)據(jù)在網(wǎng)絡鏈路傳輸時產(chǎn)生的延遲,網(wǎng)絡傳輸時延與系統(tǒng)部署位置、長途線路的長度及傳輸介質(zhì)密切相關(guān),選擇最短路徑和最佳質(zhì)量的鏈路,可確保最小化鏈路的網(wǎng)絡傳輸時延。 低時延網(wǎng)絡設備轉(zhuǎn)發(fā)時延是百納秒級的,在同一數(shù)據(jù)中心內(nèi)部網(wǎng)絡連線的傳輸時延也是百納秒級的,相比之下,網(wǎng)卡數(shù)據(jù)收發(fā)時延則占據(jù)了主要的比重。下表是幾個主流系列網(wǎng)卡的時延參考值: 串行化時延是指一個數(shù)據(jù)幀或信元被一個接收者接收并開始處理的時間。串行時延與傳輸速率成反比,速率越高,接收數(shù)據(jù)幀的時間越短。提升網(wǎng)絡接入帶寬是減少串行時延的最有效辦法,低時延網(wǎng)絡建議最低的接入帶寬為10G,推薦采用25G或更高的接入帶寬。 進一步分析發(fā)現(xiàn),即使網(wǎng)卡端口占用帶寬遠未達到10Gb/s的水平(如百兆b/s的流量帶寬),以上測試結(jié)果仍然成立。為進一步分析帶寬對應用系統(tǒng)的性能影響,實驗室使用華銳的ATP交易系統(tǒng)在同一個測試環(huán)境,基于網(wǎng)卡的不同帶寬模式進行測試,結(jié)果表明,系統(tǒng)時延降低超過20%的,應用的處理性能也得到了提升。 網(wǎng)卡作為服務器的一個重要部件,網(wǎng)卡的性能好壞會直接影響系統(tǒng)總體性能。通過網(wǎng)卡加速技術(shù),可以大幅有效減少系統(tǒng)總體時延。近年來,以太網(wǎng)不斷融合創(chuàng)新,發(fā)展推出RoCE協(xié)議。RoCE在數(shù)據(jù)鏈路層支持標準以太網(wǎng)協(xié)議,在網(wǎng)絡層上支持IP協(xié)議;也無需改變數(shù)據(jù)中心的原有基礎設施,節(jié)省大量成本;還使得大帶寬以太網(wǎng)的性能快速向InfiniBand靠攏。 傳統(tǒng)的以太網(wǎng)絡采用的是盡力而為的轉(zhuǎn)發(fā)模式,它對時延、丟包率等性能不提供任何保證。當網(wǎng)絡中出現(xiàn)多臺服務器同時與一臺服務器通訊的時候,往往會造成網(wǎng)絡數(shù)據(jù)的擁塞甚至丟包。網(wǎng)絡擁塞丟包導致重傳,增加網(wǎng)絡時延,嚴重時會讓業(yè)務性能也受到影響。減少或者避免網(wǎng)絡擁塞和丟包現(xiàn)在通用的解決方案是:PFC(Priority-Based Flow Control )和ECN(Explicit Congestion Notification )的流控技術(shù)。PFC可以對鏈路上隊列的流量進行控制,并在交換機入口出現(xiàn)擁塞時對上游設備流量進行反壓。ECN技術(shù)可以實現(xiàn)端到端的擁塞控制,在交換機出口擁塞時,對數(shù)據(jù)包做ECN標記,并讓流量發(fā)送端降低發(fā)送速率。通過在網(wǎng)絡中組合部署PFC、ECN功能來實現(xiàn)無損傳輸保障,確保網(wǎng)絡保持低時延運行。 4 總結(jié) 低時延網(wǎng)絡技術(shù)是低時延技術(shù)的重要組成部分,也是未來網(wǎng)絡技術(shù)發(fā)展的重要分支,在國內(nèi)外核心金融機構(gòu)核心金融系統(tǒng)的普及應用也預示著低時延網(wǎng)絡技術(shù)在證券行業(yè)的發(fā)展前景。本文就如何構(gòu)建低時延的網(wǎng)絡給出了明確的構(gòu)建方案,也希望拋磚引玉,與同行共同探討低時延網(wǎng)絡的建設思路,促進行業(yè)技術(shù)升級發(fā)展。 |
|
來自: 黑馬_御風 > 《交易技術(shù)》