【交易技術前沿】低時延基礎設施雜談

【交易技術前沿】低時延基礎設施雜談
上交所技術服務 前天

本文選自《交易技術前沿》總第三十八期文章(2020年3月)

朱寧 上交所技術有限責任公司 系統網絡部 上海200120
Email:[email protected]

摘要:低時延主要服務於高頻交易和極速交易,基礎設施是決定時延的重要因素,本文將定位於討論影響網絡時延的幾個因素,引用部分國外場景,不涉及有關的技術實現。
零. 緣起

有這樣一部電影,影片講述紐約的一對兄弟文森特與安東,他們是高頻交易公司的操作員,爲了早日 實現財富自由,下海創業拉贊助,克服巨大的項目困難,自費從堪薩斯到紐約部署一條筆直的2000多公里光纖,將交易時延從17毫秒降低到16毫秒,而16毫秒是蜂鳥扇動一次翅膀的時間,故影片名爲《蜂鳥計劃 The Hummingbird Project》,是一個關於投機、夢想、技術、資本和命運的故事。
  筆者數年前曾在《交易技術前沿》參與發表了1篇《降低網絡時延的探討》,該文概述了產生網絡時延的各個方面,以及部署低時延網絡硬件的必要性。近年來又有多位作者的關於時延的技術文章陸續發表,拓展了我們的視野。本文將繼續在低時延的某些領域進行討論和展示。
一、談談廣域網線路

網絡設備和傳輸線路是基礎設施的兩大關鍵組成部分,涉及到數據包排隊時延(Queuing Delay)、路由交換轉發時延(Switch Processing Delay)、傳輸時延(Propagation Delay)和串行化時延(Serialization Delay)。在網絡情況優良的情況下,由距離產生的傳輸時延是影響整體時延的最重要因素,光傳輸1米的單向傳輸時延理論值爲5納秒,1公里的單向傳輸時延理論值爲5微秒。
  光傳輸很快,但影片《蜂鳥計劃》主人公的光纖項目最終卻敗於競爭對手的微波傳輸項目。那什麼是微波傳輸呢?爲什麼比光還快?
  微波通信(Microwave Communication),是使用波長在0.1毫米至1米之間的電磁波進行通信。波長段電磁波所對應的頻率範圍是300 MHz(0.3 GHz)到3THz。當兩點間直線距離內無障礙時就可以使用微波進行數據傳送,但地球表面是個曲面,微波長距離傳輸時,會受到地面的阻擋。爲了延長通信距離,需要在兩地之間設立若干中繼站,進行微波轉接。
  光和微波在真空中的傳播速度都是30萬公里/秒。由於存在折射率,光在光纖中的傳播速度只有在空氣中的2/3左右,而且光纖在城市中的複雜佈線會進一步增大延遲。目前國外有部分追求極致時延的交易線路使用了微波技術,國內在這方面尚空白。我們看下對比:
在這裏插入圖片描述
圖表1:時延對比

根據某低時延微波設備廠商的測算,通過中國電信提供的光纖網絡,上海到香港的傳輸幹線最短Round-trip時延在28毫秒(這個數據今年應該有更新,因爲2019年國內三大運營商都推出了OTN政企專網或精品網,OTN是光傳送網的縮寫,通過對底層OTN光設備進行技術升級,將省際骨幹段時延降低了10-15%。資料顯示,上海到深圳的Round-trip時延可縮短到22毫秒左右)。
  如果從上海到深圳的1400多公里部署微波線路,根據每40公里安裝1個微波電路站的原則(信號中繼),一共需安裝30多臺設備,鏈路時延在12-13毫秒,然後加上深圳到香港的3毫秒光纖傳輸(現在通過某精品網的公開資料,深圳到香港時延可縮短爲1毫秒),全程理想值在16毫秒。

在這裏插入圖片描述
圖表2:從上海到廣東微波鏈路模擬圖

微波鏈路也有缺陷,對天氣和障礙物敏感,可用帶寬小,但大部分時間單一交易商的業務數據流量並不大,如經過算法優化,百兆帶寬用於傳輸加密的交易數據是可行的。目前大部分高速鏈路都是微波和光纖的組合,根據地理條件和政策限制選用最佳傳輸介質。2019年McKay Brothers International (MBI)宣佈將以目前商業市場上最低的延遲水平,把JPX東京Tokyo-CC2數據中心與上海和香港兩地的交易中心連接起來。通過這條混合微波/光纖線路,數據在上海期貨交易所數據中心和Tokyo-CC2數據中心之間的往返傳輸時間不超過22.86毫秒,香港交易所數據中心和@Tokyo-CC2之間的數據往返傳輸時間不超過39.83毫秒。
  期貨期權市場是國內高頻量化交易的主陣地,部分國際高頻交易商如Optiver、Jump、Tower、Winton等都在國內設立了貿易公司,利用自己的線路資源進行全球交易。這些公司十分低調,其官網設計很簡單,有的甚至只有幾個靜態頁面,但實際上他們在IT方面的投入十分巨大,例如Jump租用美國軍方廢棄的微波塔建網,同時在比利時、英國、德國購買處於直線距離的塔。Optiver在國內是把交易設施託管在某大型期貨公司的機房,直接利用裸光纖互聯多地託管機櫃。
  一些高頻交易公司通過GoWest的低時延鏈路將國外交易所的數據引入國內。GoWest是從芝加哥的CME數據中心到東京的JPX數據中心的專屬低時延網絡,其網頁介紹也很簡單低調:“Go West’s mission is to create more efficient access to global financial markets by offering the fastest and lowest latency route between Chicago and Tokyo.”,GoWest內部有一段路徑同時啓用了微波通訊和光纖通訊,線路出租價格根據介質和時延而定。此外很多金融公司以往藉助AC-1跨大西洋電纜進行紐約和倫敦之間的數據傳輸,時延爲65毫秒。Hibernia Atlantic公司於2012年向市場推出新的跨大西洋海底電纜系統,名爲Project Express,是專爲金融行業(特別是高頻交易)需求而精心設計的低時延大容量海底電纜,該線路將倫敦到紐約的雙向時延降低到59.6毫秒。2015年該公司又推出了“Hibernia Express”海纜,進一步將倫敦到紐約的時延降低到58.9毫秒。
  國外曾有人專門寫了一個模擬交易程序,進行芝加哥商品交易所小型標準普爾500指數(ES)和紐交所的標準普爾500ETF(SPY)套利,兩者都是跟蹤相同的指數,但ES的計價單位是SPY的10倍,因此在少量時點上存在兩者價格偏離的可能,但必須在很短的時間內完成套利交易才能獲益。該程序利用2016年某段時間的數據進行回溯測試,發現當距離兩個交易所時延都是0.5毫秒時的理論收益是距離4毫秒時收益的1倍多,而當距離兩個交易所的時延都是10毫秒時,該套利交易會出現虧損。所以說掌握低時延線路資源對於高頻交易商很重要,有些交易商的基礎設施團隊甚至配備了熟悉運營商長途及本地網絡架構、核心節點、施工走線等方面的專才。
  對全天候交易都有速度要求的量化用戶,可以租用交易所數據中心或附近的託管機櫃,報盤機儘可能靠近交易所前置機的地理位置,甚至整套極速交易系統都可以部署在託管機房,AI算法引擎、盈虧分析、委託生成、接口轉換、報單、行情接收、風控等組件就近安裝在業務接入鏈路附近,通過調整組件通訊效率優化時延表現。高頻交易公司在全球廣域網中一般會設置控制節點,該節點主要用來協調各託管機房的交易行爲、配置交易參數、監控交易狀態,而交易指令則在最靠近撮合引擎的機房內下達。
  這裏展示一張洲際交易所ICE的鏈路資源圖,涉及全球多個數據中心,其中標有微波線路、低時延光纖線路和普通線路,站點之間的估算時延:
在這裏插入圖片描述
圖表3:ICE全球網絡鏈路
二、談談局域網互聯細節

關於低時延的網絡設備,已經有若干文章介紹過,這裏就不再重複了。我們重點討論一下其他一些基礎設施細節。首先看一下局域網內的線纜介質。數據中心內部最常用的傳輸介質就是多模光纖和六類網線,交換機連接光纖使用SFP模塊,連接網線用Base-T接口。那麼哪一種接口方式時延更低?
在這裏插入圖片描述
圖表4:I0G SFP+和10Gbase-T對比

顯然使用SFP光纖模塊更具優勢。在設備互聯距離大於10米的情況下,一般我們都使用光纖連接。那麼在低於10米的情況下,有沒有更極致的連接方式呢?這裏先介紹下DAC電纜,DAC的全稱是Direct-Attach Copper Cable,即直連銅纜,裝配有固定模塊,模塊和銅纜不能分離。DAC分有源(active)和無源(passive)兩種,其中無源銅纜由於價格便宜、傳輸速度快,使用較爲廣泛。

在這裏插入圖片描述
圖表5:DAC電纜

交換機廠商Arista做過無源DAC和光纖短距離萬兆傳輸的時延測試,測試結果是DAC電纜的整體介質時延略低於多模和單模光纖。我們來看一下:
在這裏插入圖片描述
圖表6:DAC和光纖時延對比

下面我們討論一下主機的接入速率。目前國內證券期貨數據中心的服務器主流接入帶寬仍是以10G爲主。10G速率對於前置交易業務應該是足夠的;對於後臺主機,未來隨着組播技術的大規模應用,預計會存在大批量東西向數據交互及突發流量,所以後臺主機的網絡接入應該會逐步升級到25G或40G。隨着交換機芯片的發展,及可複用目前數據中心內部的OM3/OM4 LC-LC多模光纖,25G更易於在現網實現。
  但對於託管接入的低時延需求,10G和25G孰優孰劣?這裏有必要再提一下串行化時延。所謂串行化時延(Serialization Delay)就是指交換機根據先到先服務原則將當前正在處理的一個數據包幀中所有比特位推向外部鏈路所需要的時間,串行時延的計算公式是:數據包幀長度/鏈路傳輸速度,對於64字節長度的幀和10GE的鏈路出口速率,串行化時延爲 64byte*8/10000000000=51.2納秒,對於256字節長度的數據包幀,串行化時延爲 204納秒。如果出口速率升級爲25GE,那麼64字節和256字節長度數據包的串行化時延分別爲20.5納秒和81.9納秒。根據公式可以看出,數據包越小,出口鏈路速率越高(相應時鐘頻率clock rate越高),那麼得出的串行化時延越小。
  乍一看,似乎理所當然使用25G帶寬,但我們再研究一下介紹25G網絡器件的技術文檔,可以看到當傳輸距離大於5米時,25G網絡器件需要開啓編碼糾錯功能。有兩種糾錯探測模式:base-r和rs-fec,如果使用base-r,會引入80ns的額外時延,使用rs-fec,會引入250ns的額外時延,rs-fec的糾錯功能比base-r好,適用於25G多模transceivers (例如Cisco SFP-25G-SR-S)。而在使用10G的場景中,不需要開啓任何糾錯探測。因此在類似託管接入的網絡環境中,如果業務數據包不大,帶寬使用率不高,理論上10G的傳輸時延優於開啓rs-fec模式的25G,且工作距離可達300米。目前思科已開發出1款新型25G SFP模塊(25G-CSR-S)可以在不開啓FEC功能的情況下達到50米工作距離,但需要對端設備也必須支持相關技術。
三、Latency-performance or Network-latency

很多高頻交易公司的主機都是基於Linux操作系統,尤以Redhat居多。紅帽在RHEL/CentOS 6.3版本以後引入了系統調優工具tuned/tuned-adm,其中tuned是服務端程序,用來監控和收集系統各個組件的數據,並依據數據提供的信息動態調整系統設置;tuned-adm是客戶端程序,通過命令行的方式管理和配置tuned,tuned-adm還提供了一些預先配置的優化方案可供直接使用,其中有就latency-performance profile和network-latency profile,那麼選擇哪種更合適呢?我們看一下定義:
  latency-performance:
  Profile for low latency performance tuning. Disables power saving mechanisms. CPU governor is set to performance and locked to the low C states (by PM QoS). CPU energy performance bias to performance.
  network-latency:
  Profile for low latency network tuning. It is based on the latency-performance profile. It additionaly disables transparent hugepages, NUMA balancing and tunes several other network related sysctl parameters.
  可以看出latency-performance profile是network-latency profile的子集。可以直接選擇network-latency方案,然後根據具體應用,在network-latency的基礎上再細化調整系統參數。硬件上配置低時延網卡,安裝最新的驅動,廠商一般會提供幾種網卡性能模式供選擇。另外市場上有專爲HFT打造的超頻服務器,搭配大排量水冷散熱系統。如果引入原子鐘或其他外部時鐘源,就可以同步櫃檯系統所涉及的所有主機和設備,或用來和交易所對時,能更精確地估算全鏈路時延。
四、談談網絡設計思路

交易鏈的不同參與者對於網絡冗餘設計的要求可能有所不同,對於交易所的撮合及前置網絡、行情組播網絡,不必拘泥於採用標準化結構或追求前沿技術,越簡單越好,數據流向要清晰,應急操作要方便,從交易架構和基礎設施兩個層面進行冗餘性設計;主機羣接入後臺總線,採用25G高帶寬,減少因流量微突發(micro-burst)導致的瞬時擁塞、時延抖動。會員單位的集中交易網絡、量化交易網絡,可以偏重於從設備和鏈路上設計冗餘架構,佈局精簡高效,網絡故障能自愈,有可行的兜底方案,區塊之間松耦合;根據業務對時延的不同要求,合理選擇機房地理位置。在這些集中類的核心交易網絡中,在符合安全原則的前提下,可考慮用交換機的安全訪問列表替換防火牆,減少防火牆帶來的額外時延和運維複雜度。
  時延對於高頻交易而言,低固然重要,但更重要的是保持時延穩定,穩定即可預期,可掌控,如果相對波動較大,就無法預測報單策略的有效性。所以對於從事跨市場套利的高頻量化交易商,線路質量排在第一位,其生產網絡的結構更是要簡單化,甚至可能不採用故障自愈的設計,因爲冗餘收斂一定會產生至少1秒左右的傳輸抖動,而在1秒的時間內,市場行情可能已發生變化,策略可能已不再適用,此時再把滯後的單子送出去可能就是廢單或者會帶來虧損,所以筆者認爲類似於這種對低時延要求很高的公司,遇到故障短暫停止報單更爲妥當。
  最後略談一下網絡設計中的流量監控。網絡遙感技術Telemetry是實現數據中心網絡可視化和智能運維的有效手段,真正地實現網絡業務端到端的流量可視化,能夠實時監測到流量突發、Buffer使用率、瞬時丟包率等,爲網絡運行提供精準實時的數據支撐。大部分數據中心級別的交換機都已支持Telemetry技術,該功能集成在交換機芯片中。目前尚沒有大衆化的Telemetry分析平臺,不同廠商有自己獨有的軟件和配套存儲,整套系統龐大且價格昂貴。筆者認爲交易網絡中最需要觀察的是帶寬大致利用率和流量趨勢,根據這些指標決定是否要進行基礎設施優化和升級,突發和丟包在任何網絡中都不可避免,只要把網絡架構或應用邏輯設計合理,就能降低這些場景的發生,防止出現頻繁的時延抖動。在暫無條件部署Telemetry的情況下,可以利用略古老的sFlow技術進行流量監控。
  sFlow是一種以設備端口爲基本單元的數據流隨機採樣的流量監控技術,廠商支持廣泛,不僅可以提供第二層到第四層甚至全網範圍內的實時會話信息(能揭示出session的五元祖),而且可以適應大網絡流量環境下的流量分析,雖然sFlow是按照一定比例採集的,不能反映鏈路的性能全貌,但還是能按1分鐘爲間隔來展示網絡傳輸的流量、趨勢和存在的問題。sFlow有一些開源的collector和不太昂貴的商用展示軟件,也可以直接通過插件輸出到ELK平臺。sFlow採集會略提高交換機CPU使用率,個別廠商已經能offload到其他芯片處理。Netflow是類似的另一種數據流監控技術,最早由思科實現,基本能實現全流量採集,比sFlow更能反映出精確的session流量統計,但不是所有廠商都支持該技術。
參考文檔

[1] 裏什.納蘭 《打開量化投資的黑箱》機械工業出版社 2018年9月第一版
[2] Arista公司http://www.arista.com/
[3] Redhat公司http://www.redhat.com/
[4] 洲際交易所https://www.intercontinentalexchange.com/index

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章