請更新您的瀏覽器

您使用的瀏覽器版本較舊,已不再受支援。建議您更新瀏覽器版本,以獲得最佳使用體驗。

理財

最低寫入延遲,特斯拉 Dojo 超級電腦的獨家 TTPoE 傳輸層協定

科技新報

更新於 1天前 • 發布於 18小時前

提升網路效能的途徑,不限於提升帳面上的實體(Physical)層和資料連結(Data Link)層,改進上層的通訊協定(Protocol)效率也是常見的方式。尤其當我們熟知的多數網路通訊協定,如無所不在的 TCP/IP,其實為了應對不同品質的網路,而衍生出複雜的流量管理、壅塞管理與容錯機制,但對於網路規格相對單純的環境,卻是額外的累贅。

如各位對網路架構有基礎的知識,想必對 OSI 七層模型絕不陌生,這也是理解網路通訊協定的基礎。(Source:Cloudflare

在二十幾年前,網際網路剛爆發、思科認證(像職場上火紅的 CCIE、CCNP 和學生網管搶著考的 CCNA)非常值錢的年代,在思科出版的書籍與教材中,不乏出現以下描述:某某某高速資料連結層傳輸技術(如 Frame Relay、ATM 等),起因於越來越可靠的網路實體層,這道理對傳輸層協定亦同,如當時有讀過計算機網路教科書,如大專院校相關課程普遍採用 Andrew Tanenbaum 著作的 Computer Networks,對此更絕不陌生。

在 2024 年的 Hot Chips,電動車龍頭特斯拉(Tesla)展示了其 AI 超級電腦 Dojo 的最新進展,快要完成的 Dojo V1、正在開發的 Dojo V2、後繼預定的 Dojo V3,以及耗費五年自創的開源網路傳輸層(Transport,OSI 七層參考架構的第四層)通訊協定 TTPoE(Tesla Transport Protocol over Ethernet),用以取代 TCP,目的在於巨幅減少乙太網路的延遲。

傳輸層通訊協定的精神在於使用演算法將下面「不可靠」的網路層(Network,OSI 第三層),轉變成應用程式所需的服務,如「可靠的」TCP 和「不可靠的」UDP。傳輸層通訊協定也須執行「用來預防發送者傳送過多流量、超出接收者可負荷容量」的流量控制(Flow Control),與「避免網路被注入過多的資料、造成路由器/交換器或整個網路超出負荷」的壅塞控制(Congestion Control)。

特斯拉除了製造電動車和自駕車,更為此打造自家的 Dojo 超級電腦與 TTPoE 通訊協定,不禁讓人有一股「為了喝牛奶,不但養了一整座牧場,連看不見的地方都要通通自己來」的感覺。

TTPoE 項目負責人 Eric Quinnell 在美國時間 10 月 18 日的離職信裡披露,截至目前為止,Dojo 集群的算力是驚人的 15 ExaFlops(BF16 / FP16 資料格式),相當於 15,000 顆 Nvidia H100,而團隊人數約為 150 人。

在進入 TTPoE 的誕生背景之前,我們先瞧瞧這深度特化的傳輸層究竟能縮減多少延遲。從公布的資料來看,特斯拉的 TTPoE 傳輸協議的單向資料寫入延遲時間可達到 0.0013 毫秒(ms,千分之一秒),低於 InfiniBand 的 0.002 毫秒、NVLink4(H100)的 0.0023 毫秒、RoCE v2 的 0.0043 毫秒,更遠勝傳統 TCP/IP 結合乙太網路的 0.53 毫秒。換言之,論延遲,TTPoE 幾乎比 NVLink 低了兩倍,更比傳統乙太網路低上 400 倍。

在特斯拉的內部測試,TTPoE 實現了比 NVLink4(H100)和 InfiniBand 更低的單向資料寫入延遲,更僅有標準 TCP/IP 的 1/400,不可謂不驚人。

因應自駕車等先進應用的 Dojo 超級電腦,首次在 2019 年的某場自駕車公開活動,由特斯拉執行長伊隆·馬斯克(Elon Musk)所透露,專門用於大規模的圖像與影片處理。特斯拉在打造 Dojo 時遭遇了難題:有別於今日個體訓練單元是幾個字母構成詞元(Token)的大型語言模型(LLM),他們面對的卻是單一張量就是動輒 1.7GB 的視訊訓練資料。

NVLink 是成本昂貴的 Nvidia 專屬規格,InfiniBand 實質上亦相去不遠,需要專用的晶片和交換機,而 TCP/IP 太過複雜的狀態機和過多的封包控制,使其在乙太網路上顯得笨重,在 AI 運算集群中的表現過於遲鈍,無法符合兼具高頻寬和低延遲的需求。

特斯拉是在 2022 年 8 月的 Hot Chips 34 首次公開 Dojo 超級電腦的技術細節,也證實了使用台積電 7 奈米製程,而不是最早謠傳的三星。

▲ Dojo 超級電腦的 D1 晶片以 5x5 陣列所組成,直接用掉一整片 12 吋晶圓。

▲ Dojo 超級電腦的主要三大組成結構與其功能:「計算」的 Training Tile、「記憶體」的 Dojo Interface Processor(連接 Main Host 的 TTP 網路界面處理器)與「I/O」的 Mojo 網路卡(由 Mojo Host 餵食訓練用的資料)。

▲ Dojo 內部的 TTP 界面處理器(Dojo Interface Processor,DIP),經由 PCIe Gen 4 界面連接系統主機(Main Host),在整台 Dojo 超級電腦中扮演著「系統記憶體」的角色,接收來自 TTPoE 網路的資料,再餵給上述的 Dojo Training Tile 計算,包含 32GB HBM 記憶體(理論頻寬 800GB/s),以及足以匹配記憶體的對內 900GB/s 與對外 50GB/s 的 TTP 界面。在此就可一睹 TTPoE 的全名。

▲ 繼 2022 年特斯拉公開 Dojo 超級電腦的全貌,2024年進一步聚焦於 TTPoE 通訊協定。

▲ 特斯拉表示「藉由軟體實作的 TCP/IP 對 AI 太慢了」,而使用乙太網路標準(IEEE 802.1Qbb)的優先順序流程控制(Priority Flow Control,PFC)消除網路連結上壅塞所造成的封包遺失,又太過複雜脆弱,所以需要更簡單暴力的手段。

▲ TTPoE 是完全以硬體執行的點對點傳輸層協定,也不需要特殊的交換機。

▲ 一圖勝千言,這比較圖直接強調 TTP 是以硬體實作、取代 TCP 的客製化傳輸層(Transport)通訊協定,這裡也清楚標示了更上層通訊協定會傳輸「哪些東西」,如 Layer 5 協議層(Session)的 Dojo RDMA 描述器,這可用來指定 RDMA 搬資料的來源和目標,包含 DIP 的 HBM 記憶體。

▲ TTP 透過消除 TCP 的等待狀態(TIME_WAIT)以減少延遲,開啟連線時,原先 TCP 的三段式交握(Handshake)被簡化成兩段。特斯拉的目標是「微秒級(µs,1000000 分之 1 秒)」的延遲,因此即使是毫秒(ms,1000 分之 1 秒)級的 TIME_WAIT 持續時間也可能導致嚴重的問題。

▲ TTP 的傳輸範例,可以看到兩段式交握後就馬上送出資料(TTP_PAYLOAD),其中 ID3 的資料負載可能已經遺失或失序。這些簡化的開啟連結和關閉連結序列是以硬體實做,這或許意謂著軟體層不必實際創建連結,只要告訴硬體它想向那個目的地發送資料,或從哪個來源地接收資料。

▲ 論狀態機的複雜度,TCP 與 TTP 有如天壤之別,後者被簡化到完全使用硬體實做,並且只需要實體記憶體就容量足夠,無需虛擬記憶體。

▲ TTP 的標頭框包(Header Frame)沿用現有的乙太網路。

▲ 不同於「無損」的 RDMA 網路,TTP 預期底層網路有可能遺失封包並重新傳輸,這比較像「可靠的」TCP,而不是「不可靠的」UDP。TCP 壅塞控制的概念是讓每個傳送端決定目前網路有多大容量,以便知道自己可以同時傳送多少封包,傳統的 TCP 實做一個滑動壅塞窗口(Sliding Congestion Window),用來限制傳送端在一個連線上同時間能傳送多少資料,如封包得到即時確認,這視窗就會擴大,而增加頻寬,但假若封包被丟棄或著在時間閾值內沒有收到確認,它會迅速縮小,這使得 TCP 能適應不同的連線品質。但 TTP 不會根據封包遺失進行縮放,硬體僅追蹤定義壅塞視窗大小的 SRAM 緩衝區(容量 1MB),當填滿緩衝區時就停止發送,並透過重新傳輸 SRAM 緩衝區中保存的資料來處理封包遺失,這也抑制了重新傳輸風暴(Replay Storms)的規模。

▲ 跟 TCP 一樣,TTP 使用丟棄封包進行壅塞控制,但由於 TTP 被預設運行於低延遲的底層網路,不打算擺在品質良窳不齊的開放網際網路,特斯拉就有足夠的本錢採取暴力手段來解決問題。以壅塞管理(Congestion Management)為例,TTPoE 在每個傳輸端點獨立處理,而非像 InfiniBand 集中在交換器的「信用系統」、如果端點用完「信用額度」就會停止發送、並不會丟棄封包,但 TTPoE 透過簡單地丟棄封包處理壅塞,降低了網路交換器的複雜性。換言之,從這個角度來看,TPP的壅塞控制是分散在端點,而並非集中在中央網路或交換器,所以反而比較像是在傳統定義上有點微妙差別的流量控制。

▲ 特斯拉在位於晶片和標準乙太網路硬體之間的 IP 區塊 TTP MAC(Medium Access Control) 處理 TTPoE 協定,此 IP 區塊在實做前先以 FPGA 實例化。

▲ TTP MAC 的微架構相當近似於共享快取記憶體,仲裁器在考量到排序的情況下,在多筆傳輸請求之間進行選擇,傳輸中的封包在被確認後會按照順序「退出(Retire)」,讓人聯想到 CPU 在指令重新排序緩衝區(ReOrder Buffer,ROB)依序退出指令。在這微架構中最重要 的部分是做為上述「壅塞視窗」的 1MB SRAM 傳輸緩衝區。特斯拉表示這容量足以承受大約 80 微秒(0.08 秒)的網路延遲,而不會造成明顯的頻寬損失。換言之,其速度相當於 100Gb/s,剛好對應 Mojo 網路卡的 100GbE 規格。在最下面可看到 TTP MAC 可執行 DIP 上 HBM 記憶體之間的 RDMA 資料複製。

▲ TTP MAC 實做在特斯拉所謂「愚蠢的(Dumb)」 Mojo 100GbE 網路界面卡,內建 Dojo DMA 引擎,運作功率低 於20W,擁有 8GB DDR4 記憶體和 PCIe Gen 3 x16 界面。PCIe Gen 3 和 DDR4 都不是尖端技術,但有助於控制成本,希望盡可能便宜和簡單,也是「愚蠢」一字的由來。特斯拉發現 Dojo 超級電腦的吞吐量,可能受到外部主機將資料推送到超級電腦的速度限制,所以透過添加更多主機節點的廉價方式來解決這個問題,而廉價的網路卡則有助於以經濟高效的途徑實現這個目標。Mojo 這個名稱就源自於這樣的想法:額外的主機節點為 Dojo 提供更多的 Mojo 以保持效能提升。

▲ TTP 在整個 Dojo 超級電腦的應用全貌。

▲ 由大量 Mojo 主機和 Dojo 超級電腦所組成的計算大廳(MDCH)。

▲ 這是理論效能 4 ExaFlops(BF16/FP16)的 Dojo 工程測試系統,具有 40PB 的本地端儲存空間,以及一堆不可思議的瘋狂數字,像控制 DIP(Dojo Interface Processor)的系統主機(Main Host)的 40960 個 CPU 核心,和專門餵資料的 Mojo 主機的 61440 個 CPU 核心,某種程度上也間接象徵著馬斯克的狂人形象。

▲ Dojo 超級電腦使用來自 Arista 的交換器,當網路規模更大、跳點(Hop)數更多時,增加的延遲會降低有效的頻寬。

▲ 特斯拉即將加入 UEC,並且開放 TTPoE 協定。只不過,一家做電動車的公司加入 UEC,還是讓人感覺怪怪的。

▲ 最後,以「原型工程很簡單,擴展架構很困難」做為結尾,感謝特斯拉內的相關部門與人員,但很諷刺的是,過沒多久,TTPoE 項目負責人 Eric Quinnell 就離職了。

總之,TTPoE 的主要特性與「未來展望」,依序如下:

  • 超低延遲:不限於 Dojo 超級電腦,亦適用像自動駕駛和金融交易等對延遲極為敏感的環境。

  • 硬體執行:與主要依賴軟體實作的 TCP/IP 不同,TTPoE 完全基於硬體執行,這使其可以在標準的乙太網路上高效運行,並利用標準的 Layer 2(Data Link)傳輸,無需特殊的交換機。

  • 改善封包遺失:TTPoE 可以預測封包遺失,並內建重新傳輸機制,在必備穩定資料傳輸的情況下,比傳統協定(如TCP和UDP)更有效率。

  • 增強的安全性:TTPoE 整合加密和身分驗證等安全功能,更易於保護自動化場域和工業等敏感應用中的資料。

  • 可擴展性:TTPoE 可因應現代電動車的資料增長,應用潛力包含自動駕駛和即時線上軟體更新等功能。

此外,特斯拉已加入 Ultra Ethernet Consortium,亟欲推廣該通訊協定於更廣泛的應用領域,提高多種應用中的資料傳輸速度和可靠性,此舉可能將對各行各業產生重大影響,也很符合伊隆·馬斯克那爭議不斷卻又令人驚嘆的行事風格,讓人不得不想起前陣子 SpaceX 上演令世人印象深刻的「筷子夾火箭」,或許假以時日,在計算機工業的世界,特斯拉和 TTPoE 也將會帶來似曾相似的巨大衝擊。

至於特斯拉近來高層管理人員變動頻繁的背後有哪些內幕,就不在本文探討的範圍之內,說不定各位讀者知道的八卦,恐怕還比筆者多上不少,唯一可以確定的是,馬斯克絕對不是一個好搞定的老闆。

(首圖為示意圖,來源:pixabay

立刻加入《科技新報》LINE 官方帳號,全方位科技產業新知一手掌握!

0 0
reaction icon 0
reaction icon 0
reaction icon 0
reaction icon 0
reaction icon 0
reaction icon 0

留言 0

沒有留言。