馬思聰/MA Sicong,孫吉斌/SUN Jibin,孫一豪/SUN Yihao
(中國電信股份有限公司研究院,中國 北京 102209)
隨著數字經濟進入新發(fā)展階段,業(yè)務數字化、技術融合化和數據價值化等加速演進,開啟數字經濟引領高質量發(fā)展新征程。在此發(fā)展過程中,算力作為數字時代核心資源的作用日益突出,以算力為核心的數字信息基礎設施建設被提到前所未有的高度[1]。中國相繼出臺一系列圍繞算力基礎設施的政策文件,如《全國一體化大數據中心協(xié)同創(chuàng)新體系算力樞紐實施方案》《新型數據中心發(fā)展三年行動計劃》等[2],并加快實施“新基建”“東數西算”等工程,加強區(qū)域協(xié)同聯(lián)動,推進熱點區(qū)域與中西部地區(qū)、一線城市與周邊地區(qū)的數據中心協(xié)調發(fā)展,引導算力的集群化發(fā)展。
為了實現算力像電力、熱力、水一樣,由統(tǒng)一的社會基礎設施進行供應,真正地服務于社會經濟的各行各業(yè),需要在算力基礎設施的供給模式方面進行創(chuàng)新,算力網絡應運而生。算力網絡是通過網絡分發(fā)算力節(jié)點的計算、存儲、算法等資源信息,并結合網絡信息和用戶需求,提供最佳的計算、存儲、網絡等資源的分發(fā)、關聯(lián)、交易與調配,從而實現各類資源最優(yōu)化配置使用的新型網絡技術。作為算力網絡中的核心網元設備,算力網關以算力度量、算力標識為依據,通過算力路由、算力感知等核心功能,傳輸發(fā)布相關算力策略與數據轉發(fā),是實現算力網絡一體化調度的基礎。
算力網關基于開放的白盒網絡設備架構,將網絡中的物理硬件和節(jié)點操作系統(tǒng)(NOS)進行解耦,使標準化的硬件配置與算力網絡相關協(xié)議進行組合匹配,具有靈活、高效、可編程等特點,有助于算力網絡相關協(xié)議的制定。算力網關整體架構如圖1 所示,主要分為硬件基礎、基礎軟件平臺、芯片接口和操作系統(tǒng)4個部分[3]:
▲圖1 算力網關整體架構
1)硬件基礎
硬件是算力網關系統(tǒng)運行的物理基礎,主要由CPU、交換芯片、網卡、存儲和外圍硬件等構成。其中,CPU是對計算機的所有硬件資源(如存儲器、輸入輸出單元)進行控制調配并執(zhí)行通用運算的核心硬件單元,主要管控系統(tǒng)運作;交換芯片主要提供高性能和低延時的交換能力,是算力網關的核心芯片;網卡分為用于設備管理的管理網卡和用于網關與網絡中其他設備通信的業(yè)務網卡,業(yè)務網卡與交換芯片共同決定了算力網關的轉發(fā)性能;存儲主要包括內存和硬盤,用于設備應用數據的存儲和保存;外圍硬件主要包括風扇、電源等用于維持設備正常運行的其他基礎硬件。
2)基礎軟件平臺
基礎軟件平臺由開源網絡安裝環(huán)境(ONIE)、開源網絡Linux(ONL)以及硬件驅動構成。其中,ONIE 為算力網關提供一個開放的安裝環(huán)境,可實現網關硬件和網絡操作系統(tǒng)系統(tǒng)的解耦,支持在不同廠商的硬件上引導啟動算力網關操作系統(tǒng);ONL建立在開放網絡硬件上,向網關系統(tǒng)提供基礎操作系統(tǒng),為交換硬件提供管理接口,使用ONIE來安裝到板載閃存中。
3)芯片接口
交換機抽象接口(SAI)是一種標準化的應用程序編程接口(API),可以看作是一個用戶級的驅動。在不同的專用集成電路(ASIC)芯片上,SAI為上層應用提供了統(tǒng)一的API。SAI的具體實現由不同ASIC芯片提供商負責,使用者不需要關心網絡硬件供應商的硬件體系結構的開發(fā)和革新,通過始終一致的編程接口就可以很容易地應用最新、最好的硬件。
SAI本質就是在各ASIC的軟件開發(fā)套件(SDK)之上抽象出統(tǒng)一接口。芯片廠商研發(fā)的ASIC 的SDK 需要與這層抽象適配,使得轉發(fā)應用能夠在不同的ASIC上運行。SAI向上為操作系統(tǒng)提供統(tǒng)一的API,向下可以對接不同的ASIC。
4)操作系統(tǒng)
算力網關操作系統(tǒng)基于社區(qū)版本的云開發(fā)網絡軟件(SONiC)開發(fā),通過拓展協(xié)議和網關接口等能力實現了算力網絡所需的相應功能。
算力網關操作系統(tǒng)由多個功能模塊組成,這些模塊通過集中式和可擴展的基礎架構相互交互。本系統(tǒng)模塊間交互依賴于redis 數據庫引擎(一個鍵值數據庫,提供獨立于語言的接口,可以在所有子系統(tǒng)之間進行數據持久化、復制和多進程通信)。通過依賴redis引擎基礎架構提供的發(fā)布者/訂閱者消息傳遞模型,應用程序可以僅訂閱它們需要的數據,并避免與其功能無關的實現細節(jié)[4]。
算力網關操作系統(tǒng)將每個模塊放置在獨立的docker(容器)中,以保持語義相似組件之間的高內聚性,同時減少不相關組件之間的耦合。每個組件都被設計得相對獨立,擺脫了平臺和底層交互的限制。當前,算力網關操作系統(tǒng)主要包含以下幾個dockers:Bgp、Web、Database、SwSS、Syncd、Teamd、Pmon、DHCP-relay等。
算力網絡目前在技術路線上可以分為集中式、分布式和混合式3種。在算力網關應用部署中,我們主要考慮混合式和分布式兩種組網方案[5]。
1)混合式方案
在混合式的方案中,算網編排系統(tǒng)依靠云/算管控模塊通過算力網關收集來自每個資源池的算力信息,通過網絡管控模塊收集網絡拓撲信息。算網編排系統(tǒng)確定最優(yōu)算力資源節(jié)點和網絡路徑。云/算管控模塊與網絡管控模塊分別下發(fā)算力資源分配指令和路由策略,如圖2所示。
▲圖2 算力網關混合式組網
在此架構下,算力網關主要功能包括:獲取算力節(jié)點的算力信息及鏈路信息,接收網絡管控模塊下發(fā)的路徑策略信息等。
2)分布式方案
在分布式方案中,算力網關需要實現算力資源感知、算力路由分發(fā)、資源表項生成、策略定制等全部功能,如圖3所示。除支持算力信息發(fā)布和通告外,分布式方案還需通過算力和路徑計算生成路由策略,并依據用戶和應用感知對路由策略進行綁定,進而實現對算力資源和網絡資源的信息同步與統(tǒng)一調度。
算力網關通過感知算力和網絡信息,將當前的計算能力狀況和網絡狀況作為路由信息發(fā)布到網絡,并將計算任務報文路由到合適的計算節(jié)點,以實現整體系統(tǒng)最優(yōu)和用戶體驗最優(yōu)。其中,算力感知和算力路由是算力網關的兩大核心技術能力。
算力感知是對算力資源的性能、實時負載、網絡狀況以及業(yè)務需求的全面感知,主要是需要明確網絡中有多少算力資源,用戶有怎樣的算力需求。算力感知包括算力信息感知、網絡狀況感知、業(yè)務需求感知。
1)算力信息感知
算力信息的感知通常包括算力資源池的IP地址、計算能力、存儲能力等內容。
如圖4所示,云資源池一般由云管平臺集中納管,算力網關可以與云管平臺通過RESTful API 等接口交互,獲取算力資源池的IP 地址、計算能力、存儲能力等,并最終把感知的算力信息上報到算力交易平臺。
2)網絡狀態(tài)感知
網絡信息的感知通常包括時延、帶寬、丟包率、抖動等內容。以網絡時延為例,由于算力資源池分布在不同位置,用戶到資源池的網絡路徑也會根據網絡擁塞狀態(tài)發(fā)生變化,因此需要探測用戶與各個算力資源之間的時延信息。算力網關的時延探測分為兩部分:一是算力網關到算力資源池之間的時延探測;二是算力網關與算力網關之間的時延探測,如圖5所示。
▲圖5 網絡信息感知
3)業(yè)務需求感知
除了對算力資源和網絡狀況的感知外,算力感知還應具備感知用戶業(yè)務需求的能力,以實現更優(yōu)的算力調度。
業(yè)務需求感知可以在用戶入口的算力網關接收業(yè)務請求并感知業(yè)務需求,包括網絡需求(時延、抖動等)和算力需求(算力請求類型、算力需求參數等),依據算力度量標準和特定的算法匹配可用算力。這樣不僅能夠精確匹配具體應用的業(yè)務需求,還能動態(tài)和實時地對算網進行調度,達到算力和網絡的最優(yōu)化。
業(yè)務應用需求可通過特定的協(xié)議或字段來與算力網關交互,從而實現算力網絡對用戶業(yè)務需求的感知。IPv6協(xié)議增加了擴展頭部,具有很強的擴展性,可以在用戶側數據包頭采用IPv6標準頭+目的選項報頭(DOH)擴展頭的方式,利用擴展的字段攜帶應用的需求信息,包括帶寬需求、時延需求、抖動需求、丟包率需求、計算和存儲需求等[7]。
算力路由是將算力信息引入路由域,通過對用戶的業(yè)務需求、算力資源和網絡資源的信息感知,動態(tài)選擇滿足業(yè)務需求的“轉發(fā)路徑+目的服務節(jié)點”,將業(yè)務沿指定路徑調度至服務節(jié)點,從而實現算力和網絡資源的全局優(yōu)化。
算力路由技術可分為算力路由控制技術和算力路由轉發(fā)技術。根據實現方式不同,算力路由控制技術又可以分為集中式控制和分布式控制。算力路由轉發(fā)技術需要支持根據算力路由生成的“轉發(fā)路徑+目的節(jié)點”來指導業(yè)務轉發(fā),并且能夠根據算力資源和網絡狀況的變化,動態(tài)調整控制面信息。
1)集中式算力路由控制
集中式的算力路由控制主要依托于上層算力交易平臺及軟件定義網絡(SDN)控制器協(xié)同:先通過SDN控制器采集算力網絡拓撲,再根據算力平臺的算力匹配結果向算力網關下發(fā)SRv6 Policy,通過網絡編排的方式形成算力與用戶之間的路由控制,如圖6所示。
▲圖6 支持SRv6的集中式算力路由控制
在SRv6網絡里,業(yè)務需求可以被翻譯成有序的指令列表,由沿途的網絡設備去執(zhí)行,以實現網絡業(yè)務的靈活編排和按需定制。SRv6網絡主要有SRv6 BE(指用最短路徑算法計算得到的最優(yōu)SRv6 路徑)和SRv6 Policy 兩種引流技術。SRv6 BE通過內部網關協(xié)議(IGP)收斂得出最短路徑,業(yè)務無法按照指定的路徑轉發(fā)。SRv6 Policy可以在網絡中任意節(jié)點之間規(guī)劃路徑。因此,使用SRv6 Policy不僅能夠滿足用戶網絡在時延、帶寬、抖動和可靠性等各方面的差異化需求,還能夠基于確定性路徑的精細化控制來提高網絡帶寬的利用率[6]。
在集中式路由控制場景中,通過SRv6 Policy技術既能夠實現算力網絡的編排,保障算力資源與用戶之間的路徑確定性,又可以根據算力的實時變化實現算力的控制與調度。
2)分布式算力路由控制
分布式控制需要算力網關將感知的算力信息和網絡信息進行通告,并且在用戶入口的網關生成算力路由表項,形成用戶業(yè)務需求與算力資源的協(xié)商和映射。而這種機制需要依靠特定的算力路由協(xié)議。
算力路由協(xié)議是實現算力路由控制和調度的關鍵技術。算力路由協(xié)議需要支持將感知的算力信息和網絡信息在算力網關之間通告,并且在用戶入口網關支持算力路由表的生成與更新,即基于通告的算力節(jié)點信息生成算力狀態(tài)拓撲,進一步生成算力感知的新型路由表,用于支持后續(xù)業(yè)務轉發(fā)。算力路由協(xié)議可以通過擴展基礎路由協(xié)議來實現算網信息的通告。
以邊界網關協(xié)議(BGP)為例,基于BGP的多協(xié)議擴展可利用BGP update消息中的路徑屬性預留字段TLV(一種可變格式)來擴展傳遞算力信息和網絡信息。這種擴展的BGP 協(xié)議就是算力邊界網關協(xié)議(CP-BGP)。使用CP-BGP協(xié)議的算力路由控制如圖7所示。
▲圖7 支持算力邊界網關協(xié)議的分布式算力路由控制
在算力網絡中,算力資源池側的算力網關可以感知算力節(jié)點的算力信息和網絡信息,將相應信息填充到擴展的BGP update 報文中,并通告用戶側的算力網關。用戶側算力網關可以接收擴展的BGP 協(xié)議報文,解析算力信息和網絡信息并生成BGP算力路由表。
算力網關設備目前已經在“東數西算”業(yè)務場景成功落地應用,可以將東部算力需求有序引導到西部,促進東西部協(xié)同聯(lián)動。
算力網關的實踐方案主要包括網絡層面、管控層面兩大部分,如圖8所示。其中,網絡層面包括西部的省內算力調度專網、運營商骨干網絡以及東部的城域網絡,管控層面包括西部省內的算網調度平臺、骨干網控制器以及城域網控制器。各資源域網絡控制器對接算網調度平臺中的算網編排系統(tǒng),同時基于部署在各資源池節(jié)點的算力網關設備,獲取算力感知信息和算力路由信息,實現對云網資源的全局統(tǒng)一管控和調度。
▲圖8 面向東數西算場景的算力網關實踐方案
網絡方案設計采用核心層和接入層兩層架構,全路由器組網,如圖9所示。
▲圖9 面向東數西算場景的算力網絡架構設計
核心層核心路由器(CR) 互聯(lián)各市的接入路由器(AR)節(jié)點,虛擬專用網絡(VPN)路由反射器(RR)負責VPN 業(yè)務路由反射,BGP LS RR 負責上送SR-TE 信息。接入層每個地市部署2臺AR,對接行業(yè)專網、IDC網絡,并互聯(lián)各云資源池。A地市和B地市各部署2臺ASBR,對接各運營商骨干網絡及云服務商自有網絡。
核心層CR 路由器之間采用Full Mesh 互聯(lián)。VPN RR 和BGP-LS RR 接入CR2 和CR3。對于A 地市和B 地市的AR 及ASBR,每組通過8 條100GE 線路交叉互聯(lián)至屬地CR 路由器。對于其他地市AR,每組通過2 條100 GE 線路上聯(lián)至核心層路由器。其中,一條上聯(lián)A地市,另一條上聯(lián)B地市。
路由協(xié)議設計采用公有AS 號,并配有相應的IPv4/IPv6地址。網絡架構采用SRv6 技術路線,通過以太網虛擬專用網絡(EVPN)統(tǒng)一業(yè)務面協(xié)議,并部署SRv6 流量工程(SRv6-TE)。所有設備通過OpenAPI接口與控制器對接,并通過Telemetry上送網絡運行數據。
本次實踐基于算力網關和算力調度平臺,通過中國電信主導的西部多云協(xié)同算力調度專網、東部城域云網、骨干網以及各資源域網絡控制器,對接統(tǒng)一云網編排系統(tǒng),實現東西部之間的三維空間重構、實時云渲染等業(yè)務場景的全局可視調度。
本次算力網關的落地實踐具有重大意義:一方面,中國電信在東數西算領域開展了創(chuàng)新嘗試。省內算力專網及算力資源調度的實踐充分驗證了算力網關落地的可行性。另一方面,借助算力調度平臺能夠實現西部省份算力資源的統(tǒng)籌調度,打造全棧算力服務,全面提升信息技術(IT)資源利用率,助力產業(yè)數字化及數字產業(yè)化的發(fā)展[8]。
本次實踐表明,算力網絡和算力網關有助于實現算力設施由東向西布局,未來將帶動相關產業(yè)有效轉移,促進東西部數據流通、價值傳遞,延展東部發(fā)展空間,推進西部大開發(fā)形成新格局,提升國家整體算力水平。
算力網關通過網絡控制面分發(fā)服務節(jié)點的計算能力、存儲、算法等資源信息,力圖打破傳統(tǒng)網絡的界限,將網絡傳送能力與IT 的計算、存儲等基礎能力更好地結合起來,實現整網資源的最優(yōu)化配置和使用,推動網絡從“泛在連接能力平臺”向“融合資源供給平臺”升級演進。
算力網關的落地應用有助于實現算網一體化服務,有效提升資源利用率,減少網絡資源和計算資源的浪費,降低整體能耗,助力東數西算戰(zhàn)略落地[9]。
致謝
本文相關技術應用由中國電信股份有限公司、中電萬維信息技術有限責任公司、中興通訊股份有限公司、英特爾(中國)有限公司等單位共同完成。解云鵬、高守紀、喬建、田毅、何秀文、段敏等人承擔了大量研發(fā)和試驗工作。在此,向他們表示感謝!