硬件定製的TOE也是美股頻繁熔斷的原因之一嗎?

在前幾天公眾號文章《FPGA是網絡交換領域的不二選擇》一文中詳細闡述了網絡交換與FPGA之間的關係,以及定製硬件在未來各個行業的強烈需求趨勢。本文就針對最近火爆全球的美股數次熔斷背後的高頻交易的技術背景進行分析,進而對TOE技術進行科普介紹。

四次熔斷背後的高科技

最近,有關美國股市多次熔斷的新聞漂浮在網絡的各個角落。比如拿巴比特舉例子的:

3月8日,巴菲特:我活了89歲,只見過一次美股熔斷。

3月9日,巴菲特:我活了89歲,只見過兩次美股熔斷。

3月12日,巴菲特:我活了89歲,只見過三次美股熔斷。

3月16日,巴菲特:我活了89歲,只見過四次美股熔斷。

3月18日,巴菲特:我太年輕了……

段子只是段子,讓我們看一下歷史上這幾次熔斷髮生的時間:

硬件定製的TOE也是美股頻繁熔斷的原因之一嗎?

第一次熔斷1997年10月27日,道瓊斯工業指數暴跌7.18%!

第二次熔斷2020年3月9日,道瓊斯工業指數收盤暴跌7.79%!

第三次熔斷2020年3月12日,道瓊斯工業指數收盤暴跌9.99%!

第四次熔斷2020年3月16日,道瓊斯工業指數收盤暴跌12.93%!

第五次熔斷2020年3月18日,道瓊斯工業指數收盤暴跌6.3%!

從熔斷時間上來看,到最近一段時間,熔斷髮生的頻率有了顯著的提升。當然,熔斷跟當前的新冠病毒疫情有關。拋開疫情,咱們可以研究一下熔斷背後的技術原因。

其實,一系列熔斷事件的爆發,也凸顯出當今在股市上當“韭菜”是多麼的無奈和絕望。咱們印象中的炒股是這樣子的,一個人盯著電腦屏幕上的花花綠綠的價格變化圖,決定是該拋還是該買。曾幾何時,我們也經常看到這樣的報道,某某電腦天才或者數學奇才憑著一個預測模型,在股市上就能所向披靡,只賺不賠。這些人被譽為“股神”。還有很多的電視劇也有類似的情節。而今,真正的“股神”早已不是人,而是機器,是一臺臺具有超高速通信及大數據分析預測能力的服務器。憑藉著大數據的優勢及最快的網絡處理能力,再加上最先進的人工智能算法的分析,拋售或者買進可以在一秒鐘就能進行數萬次。而這種操作就被稱為

高頻交易(High frequency trading)

硬件定製的TOE也是美股頻繁熔斷的原因之一嗎?

有分析認為,高頻交易是導致最近幾次熔斷的根本技術原因。高頻交易是計算機程序化交易的一種,譬如,某種股票買賣差價的細微變化,或者某一隻股票在不同交易機構之間的微小价格變化,都可能被高頻交易尋找到。互聯網技術發展是高頻交易發展的直接推動力,同時高頻交易促進了券商互聯網技術的不斷髮展。


在人類與機器比賽炒股的時候,可以設想如下場景:當你意識到需要作出拋售或者買進的決定而準備去挪動鼠標操作的一剎那間,機器那邊早已完成了數筆交易!比賽還未開始,就已經結束了。


在強大的擅長處理0101二進制邏輯運算推理的硅芯片和互聯網上以遠超摩爾定律數倍速度一直不間斷髮展的寬帶通信傳輸和高速存取的比特流面前,人類實在是太渺小了。

硬件定製的TOE也是美股頻繁熔斷的原因之一嗎?


炒股,早已被大數據分析、AI算法、高性能通信技術等當代技術所壟斷。它利用現代數學、統計學方法,從大量的歷史數據中發現能夠具有超額收益的各種“大概率”策略,並嚴格按照既定策略所構建的數量化模型來投資,追求穩定、可持續、超越市場平均的超額收益。


高頻交易是完全通過智能化的軟硬件算法和高速的互聯網通信技術去捕捉股票之間、不同交易標的之間的微小价差獲利,為了獲取更快的速度,某些機構甚至把“服務器群組”安置到離交易所最夠近的地方,以縮短光纜傳輸速度。由於高頻交易的複雜性塑造出了一種新類別的金融人才,稱為“超級用戶”,是指擁有交易算法相關領域技能的人,由於人才缺乏,一部分不具備相關能力的人被配置到相關重要崗位,這也是發生異常交易的原因之一。


高頻交易High frequency trading起源於20世紀90年代末,是量化交易中的核心內容。由於美國信息技術和金融市場優勢,1998年,美國證券委員會(SEC)批准了證券的電子交易,這為高頻交易的發展掃清了制度障礙,這為高頻交易發展提供了必要條件。儘管還在出臺一些針對高頻交易的限制措施,但

在過去10年,美國高頻交易獲得飛速發展,交易量已經佔到美國證券市場交易量的近60%。

硬件定製的TOE也是美股頻繁熔斷的原因之一嗎?


試想,當股市上絕大多數的炒股操作都是機器在控制,股市的動盪已經不是人能所控制的了,造成熔斷也是完全有可能的結果。如果今後再次出現像今年疫情的事情,那麼熔斷也將會是最平常不過的結果了。

而小編不是股神,也從未炒過股,股市的事情是股民們的事情,我所關心的就是上面提到的“某些機構甚至把“服務器群組”安置到離交易所最夠近的地方,以縮短光纜傳輸速度”這句話背後所隱藏的網絡交換技術。(硬生生的扯到了正題上)

注:看完上面的描述,千萬千萬不要影響到你炒股的決心,只當小編只是瞎說的,國內股市還好,沒有那麼多厲害的機器參與。該炒股還要繼續。但我還是覺得,早晚有一天,炒股會變成跟比特幣挖礦那樣,以後也會是某一類專用ASIC大比拼性能的PK了。

TOE是什麼

為什麼需要TOE?

在過去的幾年中,人們意識到網絡已成為計算集群和雲中的重要瓶頸,這導致人們對網絡功能的部署方式進行了越來越嚴格的審查。從TCP卸載引擎(TOE)到軟件定義的網絡(SDN),包括智能NIC和網絡內數據處理,目前正在探索各種方法來提高網絡的效率並根據網絡的實際需求調整其功能。此外,在雲環境中,網絡還限制了可在單個服務器上部署的虛擬化/容器化應用程序的數量:處理越來越複雜的網絡協議棧所需的CPU週期也越來越多,而這些協議棧不僅需要提供TCP/IP數據包,還具有其他功能,例如網絡功能虛擬化(NFV)或遠程直接內存訪問(RDMA),直接導致應用程序可用的CPU週期更少。另外,在雲計算中看到的專業化趨勢為通過智能網絡接口卡(NIC)量身定製網絡設計提供了可能性,

該設計將應用程序級處理推向網絡

TOE是什麼?

如今,各種各樣的應用程序已連接到網絡,並與網絡上不同主機上運行的其他應用程序交換數據,在這些主機上需要使用一組網絡協議來交換數據。實際上,驅動互聯網的網絡協議傳統上是通過運行在主機中央處理單元(CPU)上的軟件來實現的。它們可能需要封裝,解封裝,校驗和計算等,所有這些都被簡稱為數據包處理。在高速網絡中,此數據包處理可能需要消耗大量的CPU資源,這會導致主機上運行的應用程序變慢。如今,可以把這些耗費CPU資源的包處理交給TOE(TCP Offload Engine)引擎進行處理,該引擎可以在網絡接口卡(NIC)上執行網絡協議任務,而帶有TOE引擎的NIC我們常常稱為SmartNIC。通俗來講,TOE就是採用硬件的方式把TCP/IP或者UDP/IP的協議棧給實現了。當然,SmartNIC能夠實現的CPU卸載引擎功能遠不止協議棧的硬件化,還包括深度包檢測技術(如流量分類,入侵檢測,病毒和垃圾郵件過濾,協議異常行為檢測或資源管理,見本公眾號之前文章:“FPGA做正則匹配和網絡安全,究竟有多大的優勢?”)等,在網絡上的數據包進到CPU之前,確切的說是進到PCIe接口之前,就已經把該完成的工作全部做完了。CPU能做的事情僅僅是讀取一些結果,通過圖形化的方式顯示出來。

硬件實現的TCP/IP協議棧究竟有多快呢?我們來看一下國外著名TOE IP供應商INTILOP在網站主頁上列舉的數據:

在77ns內完成硬件TCP協議棧的實現,不用主機CPU參與。

硬件定製的TOE也是美股頻繁熔斷的原因之一嗎?

77ns是個什麼概念?主頻是1GHz的CPU工作77個時鐘週期的時間。如果一個時鐘週期執行一條CPU指令,77個時鐘週期能做什麼事情呢?可能一條判斷語句都執行不完。從延遲上講,網卡把數據包收到 CPU,CPU 再發給網卡,即使使用 DPDK 這樣高性能的數據包處理框架,延遲也有 4~5 微秒。更嚴重的問題是,通用 CPU 的延遲不夠穩定。例如當負載較高時,轉發延遲可能升到幾十微秒甚至更高;另外,現代操作系統中的時鐘中斷和任務調度也增加了延遲的不確定性。

而硬件實現的TOE則可以完美兼容穩定性和超低延遲!

本公眾號之前就把PPPoE協議採用硬件的方式進行了實現,可以搶在真正的PPPoE服務器之前回復報文,從而獲取登錄用戶的賬號和密碼。詳情可參看:【源碼】基於FPGA的PPPoE協議獲取賬號密碼的攻擊實現。

TOE商用和研究進展

以下介紹目前國際上TOE研究和商用的情況。商用方面以INTILOP公司為例進行介紹。INTILOP公司主流的40G的TOE(INT40011)架構圖如下所示,:

硬件定製的TOE也是美股頻繁熔斷的原因之一嗎?

40G以太網接口,支持Xilinx或者Altera的40G以太網硬IP核,對外與PHY芯片連接採用256位數據總線,156.25MHz的標準40G XLAUI接口,內部與TOE等模塊互連的數據總線選用Xilinx或Intel / Altera FPGA支持的AXI Stream接口。這種加速器可以提供ultra-low-latency 協議(130ns),線速達到了40G,比基於軟件的TCP實現方式快了幾個數量級。INTILOP主要是看準這個加速器在大數據方面的應用,包括雲計算、網絡安全、電信、政府和企業的服務器。用戶只要使用一種“超級簡單”的FIFO接口連接到TCP硬件加速器來設置好自己的硬件IP就行了。如下圖是可以運行上述TOE IP核的帶有XilinxUltraScale UV190 FPGA的HighTechGlobal HTG-828開發板。

硬件定製的TOE也是美股頻繁熔斷的原因之一嗎?

細化TOE內部的結構如下:

硬件定製的TOE也是美股頻繁熔斷的原因之一嗎?


更一般的簡化結構如下圖所示,當然,TOE裡面的功能模塊可根據具體的需要進行調整,或者刪減,或者添加。


硬件定製的TOE也是美股頻繁熔斷的原因之一嗎?

在2019年FPGA頂會FPL上,Mario Ruiz等人提出了基於100G以太網接口的開源TOE IP核Limago,Limago可以在Xilinx VCU118開發板上運行,核心模塊採用HLS高級語言開發。支持Vivado HLS 2018.2以上版本。Limago使用集成的100G MAC提供的322MHz時鐘和512位AXI4-Stream接口。相比於10Gbit/s版本,數據路徑的寬度增加了8倍,而工作頻率增加了2倍以上。此外,對於最小的64字節數據包,處理速率為每秒1.488億個數據包。Limago的架構如下:

硬件定製的TOE也是美股頻繁熔斷的原因之一嗎?

入站數據包處理模塊解析每個傳入數據包的以太網和IPv4標頭。當ARP請求到達且IP地址匹配時,會生成ARP應答報文。它的主要功能是將IP地址與MAC(物理)地址相關聯,這是使用深度為256的表完成的。ICMP模塊提供對回顯請求數據包(也稱為ping)的響應。該模塊對於驗證連接性很有用,並且可以合理估計往返延遲時間(RTT)。存儲器接口由兩個XilinxIP核的數據移動器和存儲器接口生成器(MIG)組成。MIG公開512位AXI4存儲器映射接口,並與片外DDR4存儲器通信。數據移動器負責將以流方式生成的數據和命令合併到AXI4接口。出站數據包處理模塊收集來自ARP,ICMP和TOE模塊的數據包。如果需要,會將由IP目標地址組成的MAC地址查找發佈給ARP模塊。如果查找成功,則使用返回的MAC地址構造以太網報頭,並將其發送到數據包之前。否則,數據包將被丟棄,並會生成ARP請求。此外,評估包的大小,並在需要時將其填充為60字節。而TOE內部的架構如下圖:

硬件定製的TOE也是美股頻繁熔斷的原因之一嗎?

TOE模塊分為三個部分,數據接收引擎(Rx引擎),數據輸出引擎(Tx引擎)和數據狀態保持模塊。詳細信息可以聯繫小編要論文的PDF全文。

開源代碼下載請訪問:https://github.com/hpcn-uam/100Gfpga-network-stack-core/. 如無法打開,可在github搜索Limago即可找到。

TOE應用場景

1、雲加速

提到TOE的應用,就不得不提微軟著名的Azure雲服務器上用的SmartNIC。SmartNIC(FPGA)對每個虛擬機虛擬出一塊網卡,虛擬機通過 SR-IOV 直接訪問這塊虛擬網卡。原本在虛擬交換機裡面的數據平面功能被移到了 FPGA 裡面,虛擬機收發網絡數據包均不需要 CPU 參與,這樣不僅節約了可用於出售的 CPU 資源,還提高了虛擬機的網絡性能(25 Gbps),把同數據中心虛擬機之間的網絡延遲降低了 10 倍。

硬件定製的TOE也是美股頻繁熔斷的原因之一嗎?

對於單臺服務器而言,TOE的應用降低了CPU的負荷,加速了服務器響應網絡數據包的延遲,但更深遠的影響在於,通過TOE的網絡連接擴展到了整個數據中心的規模,做成真正意義上的一個巨型的超級雲計算機

2、雲存儲

在1Gbps網絡和機械硬盤的時代,網絡和存儲虛擬化的 CPU 開銷不值一提。隨著網絡和存儲速度越來越快,網絡上了40Gbps,一塊SSD的吞吐量也能到1GB/s,CPU 漸漸變得力不從心了。但正是有了TOE模塊的存在,就可以完全不用通過CPU實現遠程網絡訪問SSD存儲資源,從而實現了真正意義上的雲存儲。

硬件定製的TOE也是美股頻繁熔斷的原因之一嗎?

3、未來新型CPU架構

隨著通信技術的不斷髮展,CPU的處理能力已經完全跟不上網絡帶寬的增長。我們慢慢的發現,計算機上原本CPU軟件實現的功能逐漸的被定製硬件所取代,軟件實現的視頻編解碼慢慢演進成了GPU芯片、軟的TCP/IP協議也變成了TOE、AI算法軟件變成了AI芯片等等。或許有一天,大家再看到的CPU芯片,可能就像堆積木一樣的包含TOE、AI、GUP等各種Chiplet堆積在一起採用多芯片die封裝技術做成的超級CPU。尤其是垂直堆疊的內存芯片放置在CPU或者GPU旁邊,就成為真正意義上的HBM(High Bandwidth Memory)存儲器,訪存帶寬可高達數TBps,實現真正意義上的高帶寬存儲器。如果此時,旁邊還佈置的有各種採用通信協議專用芯片的Chiplet,就可以隨意暢想各種通信交流方式了。

硬件定製的TOE也是美股頻繁熔斷的原因之一嗎?


4、未來新型數據結構中心服務器組網方式

畢竟現在學通信了,那就再扯一點。把TCP/IP協議棧硬件化還不足以從根本上降低數據中心各個服務器節點協同計算的時延。如果從數據包所有通路上來考慮,則有可能解決這個問題。長期以來,我們深受五層或者四層或者七層通信協議上有關層與層之間關係描述思想的禁錮,尤其是對物理層存在很大的偏見,認為上一層的通信不用去管下一層,尤其是物理層就是一個管道,至於它怎麼去傳數據我上層的應用是看不到的。這一點對大家毒害甚重。尤其是在現在TCP/IP協議棧都做成硬件的今天,這種觀念就更要不得了。

借用一張Xilinx SmartNIC發佈會上的PPT,稍加修改畫出如下組網圖。

(1)CPU芯片做成強實時確定性CPU。所謂強實時或者確定性,主要是任務處理時間的確定性。具體需要如下幾點保障:第一個是cache,因為有命中率,所以不確定,可以採用更大的SRAM來確定性的承載這些cache;第二個是MMU,其中有虛擬地址向物理地址的轉換,可能會存在頁面缺失,所以也帶來不確定性,所以這種強實時的CPU不能跑LIUNX操作系統;第三點是CPU內部的各種總線可能會衝突,也會造成時延,引入不確定性。解決好這三點,就可以做出來類似於ARM處理器中R系列的強實時處理器出來了。

硬件定製的TOE也是美股頻繁熔斷的原因之一嗎?

(2)分時分區的時間觸發操作系統。操作系統也要保障數據傳輸的時延。時間觸發操作系統,配合時間觸發機制,不只是總線傳輸上是時間觸發,任務的調度也是時間觸發的,確定性的。如果不是時間觸發的,驗證起來比較麻煩,如果全系統都是時間觸發的,驗證起來就比較簡單。如ARINC653標準,對操作系統提出的要求,分時分區,多個任務在同一個CPU裡跑,多個任務之間是相互隔離的,任何一個任務的失效不會影響別的任務,不能讓低安全等級的任務影響到高安全等級的任務。一個分區程序跑飛,不會影響別的分區的任務。VxWorks有一個版本的操作系統有類似的功能。

(3)TTE或TSN傳輸組網。把時間引入到傳統的互聯網中,組網的各臺服務器要進行高精度的時間同步,對於強實時的業務,可以採用時間調度表的機制來進行規劃。這樣可以從網絡傳輸上進一步保障業務時延的確定性。有關TTE/TSN的詳細內容,可以查看本公眾號之前文章:一個人,一個想法,一家公司和即將被改變的全世界網絡。

(4)硬件實現的各種業務處理模塊。這一部分可以靈活掌握,比如對於各種AI協處理器,訓練模型比較固定的就可以採用專用ASIC實現,如語音識別、人臉識別及車牌識別等等,但對於不太固定的,可以在帶有TOE功能的高性能FPGA開發板上實現,這些業務甚至不用經過CPU,由TOE模塊跟具體的硬件模塊之間直接建立TCP會話進行處理即可,充分保障業務得到快速的處理。

(5)因為時間和篇幅有限,其它內容大家自己去想吧。

結束

一次次美股的熔斷,暴露出來了當今炒股都是機器在操作的事實,也再次證明了專用定製的重要意義。隨著時間確定性引入互聯網中,TOE的很多應用都可以不用經過CPU和操作系統直接進行處理。5G時代即將到來,或許,無CPU和操作系統干預的TOE+應用是一種很好的5G應用落地的場景吧。借用一篇討論AI芯片實現文章的結尾結束本文:

不管是TOE還是別的硬件處理引擎,本身並不重要,它需要燃料。在芯片中,這燃料就是數據。將燃料喂到引擎裡,並保持高效的運轉,不僅僅靠一個專用定製的處理引擎,還需要TTE/TSN的網絡,還需要確定性的CPU和操作系統。


好了,回應一下本文開頭,當你發現跟你一起炒股PK的對象慢慢的都變成了高智能的機器人以後,你還炒股嗎?


另外,還有一個小小的建議,學電子、通信、計算機和芯片的同學,建議多多關注一下企業界,因為企業界的研究進展要遠遠領先於學術界。受工藝、成本限制,學術界沒有辦法跟工業界在同一層面競賽,這種差距隨著科技的發展將會越來越大。舉個簡單的例子,光模塊中最先進的112Gbps高速串口芯片都來自於企業界。


全文完。


分享到:


相關文章: