成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

盤點低延時網(wǎng)絡(luò)架構(gòu)中使用的那些黑科技!

開發(fā) 架構(gòu)
如果一家量化交易公司比競爭對手哪怕多 1 ms(毫秒)的延遲,可能也會意味著會損失很多錢。據(jù)某個專業(yè)市場機構(gòu)的評估,在全球的電子交易中,如果交易處理時間比對手慢 5 ms 可能就會損失 1% 的利潤。慢 10 ms 損失會擴大到 10 %。

大家好,我是飛哥!最近我簡單研究了一下低延遲網(wǎng)絡(luò)架構(gòu),今天和大家分享分享。

談到優(yōu)秀的低延時網(wǎng)絡(luò)架構(gòu),大家首先可能想到的是各家互聯(lián)網(wǎng)大廠,比如騰訊阿里字節(jié),總會覺得大廠做的肯定最好。但其實在在一般的互聯(lián)網(wǎng)應(yīng)用中,用戶雖然也討厭卡頓,但整體上來對延遲其實并不算太敏感,只要按鈕點下后一秒之內(nèi)能響應(yīng),用戶就基本感覺不出來。甚至是兩三秒才響應(yīng)用戶也都還能接受。

所以在今天的互聯(lián)網(wǎng)公司中,雖然也關(guān)注服務(wù)訪問延遲,但其實優(yōu)化并沒有往特別極致了去做。

而在整個業(yè)界中有這么一個細分的領(lǐng)域,對延遲卻極其的敏感,那就是高頻量化交易場景。因為在這種業(yè)務(wù)中,同樣的價格,先出價的人先成交。

如果一家量化交易公司比競爭對手哪怕多 1 ms(毫秒)的延遲,可能也會意味著會損失很多錢。據(jù)某個專業(yè)市場機構(gòu)的評估,在全球的電子交易中,如果交易處理時間比對手慢 5 ms 可能就會損失 1% 的利潤。慢 10 ms 損失會擴大到 10 %。

所以高頻量化交易場景中的網(wǎng)絡(luò)架構(gòu)幾乎是全球最頂級的低延時網(wǎng)絡(luò)架構(gòu)了,非常值得學習。我請教了朋友圈中幾位從事量化交易的專業(yè)人士,也看了一些技術(shù)資料,初步對這個網(wǎng)絡(luò)架構(gòu)有了一點點理解。總結(jié)出來,分享給大家!

我們先來看一組某交易所的數(shù)據(jù),其交易延遲早在 2016 年的時候就優(yōu)化到了 278 us(微秒)。

圖片

一個網(wǎng)絡(luò)請求從用戶發(fā)出,到最終處理完畢,其延時總體上可以劃分為兩塊,一是網(wǎng)絡(luò)轉(zhuǎn)發(fā)延遲,二是系統(tǒng)處理延遲。

圖片

我們分這兩塊來看看高頻量化交易的網(wǎng)絡(luò)架構(gòu)中都用了哪些黑科技。

一、網(wǎng)絡(luò)轉(zhuǎn)發(fā)延遲

在網(wǎng)絡(luò)上,高頻量化交易中采用了極致的優(yōu)化。

1.1 就近部署&專線

就近部署是最簡單有效的方法,鏈路上傳輸比較耗時那就直接把鏈路降低的短一些。很多交易中心都在交易所附近租服務(wù)器,這種方法還有個專門的名字叫 Co-location。

還有就是跨地區(qū)的話,通過獨占的物理線連接。這樣可以用最短的物理線路,也不用受公網(wǎng)傳輸數(shù)據(jù)的干擾,穩(wěn)定性和安全性也更好。這個在國內(nèi)用的還是很多的,因為相對下面的微波傳輸網(wǎng)絡(luò)成本要低很多。

1.2 微波傳輸

提到光速,我們都知道它的速度是 3 × 10 的 8 次方 m/s。但其實光在不同介質(zhì)中的傳播速度是不一樣的,介質(zhì)密度越大,光在其中傳播速度會越慢。光在空氣中的速度比在真空中的速度略慢一點,基本接近。但在光纖中的速度就打折的很厲害了,其速度大致為真空光速的 50% - 66% 左右。

另外還有就是任何兩地之間鋪設(shè)光纜的話,很難做到完全筆直,總是會存在很多的彎彎繞。比如從哈爾濱要想訪問上海,需要先經(jīng)過北京等許多個中轉(zhuǎn)節(jié)點。這樣實際光纖的傳輸距離也會增加很多。

量化交易網(wǎng)絡(luò)應(yīng)用中為了追求極致的低延遲,在核心網(wǎng)絡(luò)上采用了微波傳輸。讓信號就在空氣中傳播,而不是光纖。

在美國加哥商品交易所和新澤西州的納斯達克數(shù)據(jù)中心就存在這樣一條微波傳輸網(wǎng)絡(luò)。將兩地的 RTT 從 2012 年的 8.7 ms 削減到了 2016 年的 7.9 ms。

圖片

另外就是馬斯克的星鏈網(wǎng)絡(luò),也能提供更低延遲的超長距離場景(跨大洋、跨大陸)的網(wǎng)絡(luò)傳輸。

1.3 InfiniBand 替換以太網(wǎng)

有少量交易所還使用 InfiniBand 替換了以太網(wǎng)。

在 InfiniBand 網(wǎng)絡(luò)中包含兩部分,一部分是物理鏈路協(xié)議。第二部分是遠程直接內(nèi)存訪問 RDMA。

在物理鏈路協(xié)議上,以太網(wǎng)就像一個快遞包裹分發(fā)網(wǎng)絡(luò)。網(wǎng)絡(luò)上的每一個節(jié)點都需要先把網(wǎng)絡(luò)包接收下來,然后看看它的二層或三層地址信息算一下該怎么發(fā),再選擇一個出口丟到發(fā)送隊列等待再發(fā)出去。

整個的轉(zhuǎn)發(fā)過程其實不是特別高效。還有一種中轉(zhuǎn)轉(zhuǎn)發(fā)方式是類似鐵路交叉軌道,當有數(shù)據(jù)到達的時候,提前把軌道變好,數(shù)據(jù)包到達后直接轉(zhuǎn)發(fā)就行了。不用先全部收下來,算一算再轉(zhuǎn)發(fā)。

InfiniBand 就是這樣一種網(wǎng)絡(luò)。我找到了一個網(wǎng)卡首發(fā)延遲數(shù)據(jù)對比。基于Ethernet上的TCP UDP應(yīng)用的收發(fā)時延會在10us左右,而InfiniBand的網(wǎng)卡收發(fā)時延(write,send)在600ns左右

圖片

由于轉(zhuǎn)發(fā)極其高效,所以在可靠性上,InfiniBand 網(wǎng)絡(luò)也沒有像 Ethernet 網(wǎng)絡(luò)中存在的抖動問題。

圖片

InfiniBand 網(wǎng)絡(luò)的第二個優(yōu)勢就是從設(shè)計之初就考慮了 RDMA,延時很低。這個稍后我們專門介紹 RDMA 時再說。

不過 InfiniBand 的缺點也不少,需要調(diào)度中心,成本較高,地址空間也有限制。所以目前只有少數(shù)交易所在用。

1.4 更大的帶寬

更大的帶寬通常可以緩解延遲。這個很好理解,數(shù)據(jù)包大小一定的情況下,在大帶寬網(wǎng)絡(luò)下肯定發(fā)送的更快。

圖片

所以在交易場景下采用的都是 10 Gbps 甚至是 25 Gbps 的網(wǎng)絡(luò)。

1.5 低延遲交換機

傳統(tǒng)交換機都是工作在二層上。為了解決信號之間的碰撞,搞出了 CSMA/CD 等協(xié)議。但其實只要沒有沖突的話,就不必這么麻煩了。

Arista 公司生產(chǎn)的交換機設(shè)備可以不用在二層,直接在物理層轉(zhuǎn)發(fā)。就好像是一根整的光纖一樣。信號從一個端口進去,直接無沖突地轉(zhuǎn)發(fā)到另外一個端口(或者多個端口)就發(fā)出來了。

圖片

參見 Arista 官網(wǎng):https://www.arista.com/zh/products/7130-series

二、系統(tǒng)處理延遲

當用戶請求到達服務(wù)器后,系統(tǒng)就可以開始接收和處理請求了。在這個過程中,高頻交易場景同樣進行了很多的優(yōu)化

2.1 Kernel By Pass

大家總以為內(nèi)核已經(jīng)久經(jīng)考驗,已經(jīng)極致優(yōu)化過了。對于一般應(yīng)用場景來說確實是這樣,但是對于延遲要求極其高的場景來說,還存在過多的性能開銷。

網(wǎng)絡(luò)包接收的時候要經(jīng)過層層協(xié)議棧處理,最后發(fā)到接收隊列中。再喚醒用戶進程,上下文通知用戶進程。

圖片

這個過程我在網(wǎng)絡(luò)篇的文章中都介紹過了。全部文章列表參見:https://github.com/yanfeizhang/coder-kung-fu

另外就是用戶進程收到內(nèi)核通知也不是立即就能運行的,需要在 CPU 的運行隊列中排個隊。內(nèi)核中的進程調(diào)度也不是搶占式的,等真正開始運行的時候,搞不好 10 個毫秒都過去了。

如果沿用傳統(tǒng)的內(nèi)核方式,在網(wǎng)絡(luò)鏈路上耗費巨資節(jié)約的幾個毫秒可能在這里就全部葬送了。Kernel by pass 類的技術(shù)就是在繞過內(nèi)核協(xié)議棧,直接在用戶態(tài)輪詢等待用戶請求,一旦有立即開始處理。節(jié)約了大量的內(nèi)核態(tài)開銷,以及內(nèi)核態(tài)用戶態(tài)的切換開銷。

這類技術(shù)包括 Solarflare 的 Onload 和 Exablaze 的 ExaSOCK,在量化交易中大量地被采用!如下是我在 Solarflare 官網(wǎng)上截的一張工作原理圖。

圖片

2.2 RDMA

遠程直接內(nèi)存訪問 RDMA 是另外一種解決內(nèi)核開銷的方法。在前面我們介紹的 InfiniBand 天生就支持 RDMA。除了 InfiniBand 外,還有 RoCE 和 iWARP 兩種 RDMA 方案。它們都實現(xiàn)了直接遠程操作接收方內(nèi)存的能力,從而降低了延遲。

圖片

相比 InfiniBand ,RoCE 和 iWARP 兩種 RDMA 方案兼容現(xiàn)在的 Ethernet 鏈路層的,不用使用專門的交換機,但是也必須得使用專用的網(wǎng)卡硬件。

圖片

RoCE 協(xié)議存在 RoCEv1 和 RoCEv2 兩個版本。RoCE v1 是基于以太網(wǎng)鏈路層實現(xiàn)的 RDMA 協(xié)議(交換機需要支持 PFC 等流控技術(shù),在物理層保證可靠傳輸),允許在同一個VLAN中的兩臺主機進行通信。RoCE v2克服了 RoCE v1綁定到單個VLAN的限制。通過改變數(shù)據(jù)包封裝,包括IP和UDP標頭,RoCE v2 現(xiàn)在可以跨 L2 和 L3 網(wǎng)絡(luò)使用。

2.3 TOE 硬件卸載

傳統(tǒng)的計算都是由 CPU 進行的。但是 CPU 的性能已經(jīng)發(fā)展到了極限,無法進一步提升了。下一步的提升思路就是如何將一些計算工作從 CPU 中卸載出來,由其他的硬件來完成,例如 DPU 和 FPGA。

TOE 的全稱是 TCP offload Engine,指的是將 TCP 協(xié)議卸載到 FPGA 硬件中。在高頻量化交易中,大量地采用了 FPGA 編程計算。

FPGA 相比 GPU 的核心優(yōu)勢在于低延遲。所有數(shù)據(jù)均不需要跨越 PCIE 總線,另外在 FPGA 的數(shù)據(jù)傳輸不需要進行多次數(shù)據(jù)拷貝。其加速效果甚至可以達到 CPU 的 10 - 100 倍。

有的公司還用 FPGA 不僅把 TCP、IP、epoll 等機制實現(xiàn)了,甚至還包括業(yè)務(wù)邏輯處理,這樣可以把系統(tǒng)延時做到百納秒級別,甚至幾十納秒。

2.4 其他優(yōu)化方法

除了以上幾個方法以外,高頻量化交易場景在系統(tǒng)的各個位置都會注重耗時的優(yōu)化。

在內(nèi)存上,堆大量的內(nèi)存換取時間,使用的內(nèi)存通常都是 1 TB 起步。

在 CPU 硬件上,會采購主頻較高的 CPU。一般普通的服務(wù)器 CPU 主頻在 3 GHz 多點,而量化交易甚至都會采購 5 GHz 主頻的硬件。也會通過 BIOS 調(diào)整進制 CPU 進入省電降頻模式。

在進程運行上,會把線程單獨綁定在一個核上運行,獨占該 CPU 核心,充分利用 CPU 的緩存,也會非常主動 CacheLine 對齊。也會盡可能少地調(diào)用系統(tǒng)調(diào)用,避免用戶態(tài)內(nèi)核態(tài)切換開銷。通過各種方式極致地降低延遲。

三、總結(jié)

一個網(wǎng)絡(luò)請求從用戶發(fā)出,到最終處理完畢,其延時總體上可以劃分為兩塊,一是網(wǎng)絡(luò)轉(zhuǎn)發(fā)延遲,二是系統(tǒng)處理延遲。

高頻量化交易公司在網(wǎng)絡(luò)轉(zhuǎn)發(fā)延遲上采取的優(yōu)化手段有微波傳輸、InfiniBand、低延遲交換機,就近部署、拉網(wǎng)絡(luò)專線等。

在系統(tǒng)處理延遲上,大量地采用 Kernel By Pass 來降低內(nèi)核處理延遲,部分公司還采用了 RDMA 類的技術(shù)。在計算上將大量的計算密集型的工作從 CPU 上卸載到 FPGA 中完成。

當然傳統(tǒng)的優(yōu)化手段量化公司也在用,例如大內(nèi)存換時間,高頻 CPU、綁核等等。

總之,量化交易公司采用了各種業(yè)界先進的技術(shù)來降低處理延遲。

致謝

剛開始我只知道量化交易的網(wǎng)絡(luò)架構(gòu)延遲低,但是為啥延遲低,如何實現(xiàn)的是不太清楚的。我發(fā)了一個朋友圈請教,收到了非常多的相關(guān)信息與資料。感謝以下同學給飛哥本次學習提供的幫助:阿飛、原生之力、曹鵬飛、申玉棟、周志鑫、Dylan、鐘吉鴻、逆風、LERVISNH、abelian、vodka、逍遙子等同學,排名不分先后。

也感謝以下文章的作者:

  • 低延遲交易系統(tǒng)設(shè)計
  • 談?wù)処nfiniBand和Ethernet網(wǎng)絡(luò)的差異
  • 一窺世界上延遲最低的網(wǎng)絡(luò)
  • 淺析RoCE網(wǎng)絡(luò)技術(shù)
  • RoCE、IB和TCP等網(wǎng)絡(luò)的基本知識及差異對比

技術(shù)就是這樣, 1 + 1 大于 2,所以多和周圍的人,多和業(yè)界交流,我們大家都能成長的更快,這也是我堅持在非常忙的工作之余還做分享的原因。

責任編輯:武曉燕 來源: 開發(fā)內(nèi)功修煉
相關(guān)推薦

2018-07-23 06:38:40

AI芯片數(shù)據(jù)中心

2017-01-09 17:09:41

CES科技產(chǎn)品

2017-07-07 10:24:56

云計算

2012-02-13 17:42:37

情人節(jié)表白

2022-02-07 13:34:05

冬奧會黑科技機器人

2016-01-20 14:11:59

戴爾云計算

2018-08-02 16:01:05

黑科技

2022-01-11 06:53:23

IPO開發(fā)容器

2022-12-20 15:45:01

2014-12-09 16:38:38

手機黑科技創(chuàng)意

2012-05-09 13:47:25

Kepler架構(gòu)

2012-02-20 10:14:37

科技記者軟件

2021-02-09 08:00:32

春晚黑科技5G

2024-06-13 08:50:16

Macshell 工具命令行工具

2021-08-10 16:06:28

AI機器人人臉識別

2017-04-20 14:58:16

2020-05-07 10:20:03

遠程辦公網(wǎng)絡(luò)詐騙黑科技

2016-07-14 16:40:56

黑科技
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 中文字幕一区二区三区不卡 | 成人精品一区二区三区 | 久久精品中文字幕 | 亚洲在线一区 | 欧洲一区二区三区 | 亚洲精品久久久久久首妖 | 欧美不卡视频 | 精品国产精品一区二区夜夜嗨 | 精品无码久久久久久久动漫 | www.yw193.com| 97人人草| 成人一级黄色毛片 | 国产午夜精品一区二区三区嫩草 | 不卡一区| av网站免费观看 | 国产偷自视频区视频 | 中文字幕一级毛片 | 国产色片 | 精品国产一区二区三区四区在线 | 5060网一级毛片 | 欧美在线观看一区二区 | 精品成人av | 高清国产一区二区 | 国产日韩欧美一区 | 国产精品99久久久久久宅男 | 情侣av| 欧美小视频在线观看 | 欧美v日韩| 色爱综合网 | 国产蜜臀97一区二区三区 | www.日韩系列 | 欧美一区二区三区四区视频 | 青春草在线 | 欧美日韩国产一区二区 | 最新一级毛片 | 黄色小视频入口 | 激情av| 国产精品夜夜春夜夜爽久久电影 | 亚洲狠狠丁香婷婷综合久久久 | 亚洲精品一区二区 | 日韩第一夜 |