






摘要:為了提高面向大數據應用的網絡效率,結合軟件定義網絡技術,提出一個可擴展網絡服務框架(HiSPNetS).HiSPNetS在大數據環境中提供了高性能、可擴展、可編程的網絡服務.實驗結果表明,HiSPNetS提供了應用感知的網絡服務,同時支持差異化服務,確保傳輸路徑的服務質量(QoS).
關鍵詞:大數據應用;服務質量;可擴展性
中圖分類號:TP391 文獻標志碼:A
文章編號:2095-6991(2023)01-0050-06
Abstract:In order to improve the network efficiency for big data applications, this paper proposes an extensible network service framework (HiSPNetS) combined with Software Defined Networking (SDN) technology. HiSPNetS provides high-performance, scalable, and programmable network services in big data environments. Experimental results show that HiSPNetS provides application-aware network services, supports differentiated services, and ensures the quality of service (QoS) of transmission paths.
Key words:big data application; quality of service; scalability
0 引言
近年來,大數據分析和應用領域呈增長趨勢,結合數據挖掘和機器學習等技術,大數據及其相關技術已被應用于科學研究、商業決策等各大領域.大數據是科學發現的驅動力,大型科學儀器所產生的數據量呈指數增長.因此,數據傳輸成為提高數據共享和分析效率的關鍵因素.高性能的數據傳輸可以有效應對科學數據集規模的指數增長,提高數據傳輸的吞吐量.網絡對于數據傳輸至關重要,且網絡需要提供充足的網絡帶寬,確保端到端網絡路徑的服務質量(Quality of Service,QoS).軟件定義網絡(Software Defined Networking,SDN)是一種將控制平面與數據轉發分離的網絡架構,從而允許網絡控制直接可編程[1-2].SDN是提高網絡服務可擴展性的主流技術,可以提供大數據科學所需的端到端高性能網絡服務[3-5].網絡服務的可編程性可以使大數據應用在運行時對網絡進行編程以滿足應用需求,具有可擴展性的網絡可以同時支持許多用戶和各種各樣的科學應用.因此,本文結合SDN,提出了一個簡稱為HiSPNetS的網絡服務框架,以提高面向大數據應用的網絡效率.
1 問題描述
1.1 最后一公里問題
端到端的網絡路徑通常由局域網段(最后一公里)和廣域網段組成.廣域網的QoS技術可以用來預留服務終止點之間的帶寬.然而,局域網中缺乏自動化網絡服務來為最后一公里提供QoS,因此,無法提供具有保證QoS的完全端到端網絡路徑.廣域網的QoS技術并不適用于解決最后一公里問題和可編程性問題.首先,局域網需要支持復雜的用例和應用場景,而廣域網的QoS技術無法提供豐富的網絡編程原語來支持此類操作,例如,廣域網的QoS技術缺乏鎖和原子原語來支持多步操作;其次,廣域網的QoS技術對第3層和應用層操作的支持不足.
1.2 可擴展性問題
假設一個科學應用涉及m個站點,其中站點k有nk個系統.在最壞的情況下,需要在這些站點的系統之間建立n1×n2×…×nm條能確保QoS的端到端路徑.一般來說,可以建立基于虛擬局域網的點對點第2層來實現端到端路徑.雖然這種做法簡單有效,但是由于虛擬局域網不能支持超過4 096個連接,因此并不具備可擴展性.
Spoke-hub分布模型是解決上述可擴展性問題的有效機制[6].該模型僅在服務終止點之間而不是計算機系統之間需要帶寬保證點對點第2層鏈路.多個業務流可以與單個點對點第2層鏈路進行復用/解復用.為滿足端到端網絡流量的QoS要求,每個站點的網絡服務框架需要提供基于QoS的路由和路徑選擇、網絡流量的細粒度控制、局域網和廣域網的無縫集成.
1.3 可編程性問題
網絡可編程性是實現“網絡即服務”的先決條件.然而,由于缺乏支持局域網內的可編程網絡服務,應用程序無法有效利用底層網絡資源.
當前的局域網中缺乏自動化網絡服務來解決上述問題,對此結合SDN技術的可編程特性,設計并實現了能支持大數據網絡服務的框架——HiSPNetS,提高網絡服務的靈活性,實現自動化和虛擬化.HiSPNetS使開發應用感知的網絡服務變得可行,大數據應用可以直接調度網絡資源.HiSPNetS可以實現細粒度的網絡流量控制,通過集中的網絡配置,優化網絡資源的使用.
2 HiSPNetS設計
HiSPNetS是基于ONOS平臺、使用Java高級編程語言實現的[7].通過ONOS平臺提供的抽象模型,HiSPNetS可以檢測網絡狀態,并動態地控制整個網絡.HiSPNetS對ONOS的北向接口進行了擴展和復用,并設計了一套新的應用程序編程接口.在ONOS平臺上,為HiSPNetS開發了一套新機制,其中包括:①AMQP接口,允許應用程序在運行時對網絡進行編程[8];②鎖定機制,以避免對網絡資源的不同步訪問;③基于QoS的路由和路徑計算機制;④調度程序,允許按需請求或提前調度網絡資源以支持復雜的網絡操作.本文將HiSPNetS的邏輯設計拆分為數據平面和控制平面.
2.1 HiSPNetS數據平面設計
網絡運營商關鍵考慮的問題是如何提高網絡資源(如帶寬)的有效利用率.現有的數據平面架構大多基于盡力而為的方法,然而這種服務模式并不能滿足應用程序和服務的需求,只能實現較差的QoS.傳統路由協議使用最佳路徑進行路由,即使該路徑變得擁塞,也會在該路徑上持續發送流量.考慮網絡中的擁塞是最大化帶寬利用率的關鍵.每當網絡發生擁塞時,擁塞控制機制只向發送者發送通知消息,以降低數據傳輸速率.這樣一來,用戶的吞吐量就會下降,從而使網絡整體性能下降.
HiSPNetS的數據平面架構能夠考慮網絡中的可用帶寬,并為上層應用程序和服務啟用一個QoS感知的帶寬預留系統.為了緩解擁塞,該預留系統帶寬不會分配超過網絡可用帶寬.HiSPNetS框架支持兩類服務,分別是基于優先級的服務和盡力而為服務.HiSPNetS的數據平面使用計量器來限制數據流的速率,并使用隊列來確定數據流的優先級.優先級隊列用于處理基于優先級的數據流,而盡力而為隊列用于處理屬于盡力而為服務的數據流.HiSPNetS還提供了一種靈活的機制來重新分配備用路徑上的數據流,以防主路徑發生故障,HiSPNetS的數據平面設計如圖1所示.在每個SDN交換機上,HiSPNetS使用QoS隊列來區分優先級和盡力而為的流量.HiSPNetS在每個底層設備上動態配置隊列和計量器,以實施實時速率控制.
2.2 HiSPNetS控制平面設計
HiSPNetS的控制平面結構如圖2所示.其中,基于AMQP的編程接口模塊允許應用程序訪問HiSPNetS框架.該編程接口模塊使用了基于JSON-RPC的通信機制,允許應用程序和HiSPNetS之間進行動態和靈活的交互[9].AMQP接口由消費者和發布者組件組成,消費者組件管理來自應用程序的網絡服務請求,而發布者組件將網絡狀態/統計信息發送到應用程序.在初始化階段,HiSPNetS使用此模塊動態創建或刪除發布者和消費者隊列.創建隊列后,應用程序可以與HiSPNetS進行雙向通信.
當應用程序啟動時,使用RPC隊列和對應的ID向HiSPNetS的消費者發送JSON-RPC命令.創建一個匿名的獨占回調隊列,將回復發送到應用程序.HiSPNetS的消費者處于等待隊列中的請求狀態.當出現請求時,它會執行該作業并使用回調隊列將帶有結果的JSON回復發送到應用程序.HiSPNetS發布者的工作方式類似,將JSON-RPC消息發送到應用程序.AMQP模塊配置了事件傳遞服務來分派事件,以通知其監聽器有關應用程序的傳入消息/命令.事件監聽器是實現事件監聽器接口的組件,本文為HiSPNetS管理器設置了事件監聽器接口來處理傳入的消息/命令.
表現層狀態轉移的編程接口為應用程序提供了一個替代接口,與HiSPNetS服務交互并在運行時對網絡進行編程.HiSPNetS管理器負責HiSPNetS所有模塊之間的通信,建立各個子模塊和內部服務之間的工作流.HiSPNetS管理器組件處理來自上述模塊的上層請求,跟蹤資源的消耗情況.當接收到網絡服務請求時,管理器會與其他模塊進行調度和協調執行相關操作,包括基于QoS的路徑計算、路徑預留、路徑建立和移除網絡狀態報告等.HiSPNetS管理器負責對新請求提供服務,在請求服務的整個生命周期中,管理器會考慮網絡中的可用資源(如帶寬).
在這個模塊中,HiSPNetS管理器實現了事件監聽器接口來處理傳入的服務請求.此外,它還監聽拓撲管理器發送的異步事件,通知應用程序網絡中的變化情況.在HiSPNetS中,基于QoS的路由和路徑計算模塊負責計算服務終止點之間的可用路徑.HiSPNetS利用最大瓶頸帶寬算法計算網絡中兩個端點之間的可用路徑(以帶寬為約束),具體如算法1所示.HiSPNetS將SDN網絡抽象為一個圖,圖中的頂點代表SDN設備,而圖中的邊代表網絡連接.對于圖中的每條邊,通過SDN控制器獲取帶寬等屬性,該模塊基于鏈路的可用帶寬為每個鏈路設置成本.
算法1 最大瓶頸帶寬算法
1:Initialize Q;
2:For each i in network do
3:Bw[i]←0;
4:Pre[i]←NULL;
5:Q←Q + {i};
6:Bw[s]←INFI;
7:While Q != NULL do
8:k←GetfromQ;
9:For each i in Nei(k) do
10:Tmp←minBW(i,k);
11:If Tmp gt; Bw[i] do
12:Bw[i]←Tmp;
13:Pre[v]←k;
通過提出的最大瓶頸帶寬算法,可以確定起始節點和圖中任何其他節點之間具有最大可用帶寬的最佳可用路徑.算法首先將所有節點的鏈路帶寬初始化為0,起始節點的帶寬設置為無窮大;其次將起始節點的帶寬設置為永久,其他所有節點的帶寬設置為臨時;然后將起始節點的狀態設置為活躍,并計算活躍節點的所有鄰居節點的最大瓶頸帶寬,并檢查鏈路的可用帶寬.如果計算出的節點帶寬大于當前節點,則更新帶寬并將當前節點設置為先行節點;最后將具有最大帶寬的節點設置為活躍狀態,并將其帶寬標記為永久.重復上述步驟,直到所有節點的帶寬變為永久.
流管理器模塊負責在底層網絡設備上安裝、更新、修改和刪除流規則.當HiSPNetS接收到來自應用程序的路徑預留請求時,流管理器將接收來自HiSPNetS管理器模塊的流相關請求,并在每個轉發設備上獨立執行流相關操作.該流管理器主要管理用于速率控制的計量器和用于流量優先級隊列的相關操作.
資源監控器模塊負責監控和跟蹤網絡資源,資源監控服務主要負責監控資源(如鏈路成本、帶寬等)相關信息,并將該信息提供給其他服務.拓撲管理器模塊向HiSPNetS管理器提供全局網絡拓撲視圖,該模塊與ONOS的拓撲服務進行協調以更新HiSPNetS本地拓撲數據庫中的信息.如果底層網絡拓撲發生變化,拓撲管理器會立即通過其事件調度服務向HiSPNetS管理器觸發拓撲變化事件.
2.3 可編程范式
為了解決可編程問題并實現網絡服務,為HiSPNetS設計了一系列原語以允許應用程序在運行時對網絡進行編程.初始化原語配置了充當外部網絡網關的內部交換機的接口/端口.在網關處,通常需要諸如推送和交換之類的虛擬局域網操作來鏈接不同網絡中的路徑段,以維護端到端的第2層路徑.鎖止和解鎖原語通過鎖定機制,避免對網絡資源的不同步訪問,并使用調度程序根據用戶請求調度網絡資源.
調度程序允許按需請求或提前調度網絡資源以支持復雜的網絡操作,該調度程序調用基于QoS的路由和路徑計算來檢查用戶所請求的網絡資源是否可用,并拒絕無法滿足的請求.調度程序在控制平面分配和預留網絡資源,與流管理器協調以立即分配或在預留開始時分配數據平面中的資源.在預留結束或收到釋放請求時,調度程序與流管理器協調,釋放數據平面中的資源并回收控制平面中的資源.
HiSPNetS框架的部署結構如圖3所示,其中大數據科學應用程序運行在多個站點上,每個站點都是一個獨立的管理域,并且都有高性能集群以及支持SDN的局域網,支持SDN的局域網由支持SDN的物理和虛擬化交換機組成,并將集群系統連接到廣域網.部署在每個站點的HiSPNetS框架管理局域網,在廣域網運行QoS技術以提供按需保證.
3 實驗評估與分析
實驗使用SDN測試平臺評估了HiSPNetS框架.單域SDN測試平臺由4個40 GE數據傳輸節點和兩個SDN交換機組成.每個DTN配置了一個或多個虛擬局域網接口,并連接到SDN交換機.實驗使用iperf工具監測DTN之間數據傳輸過程[10],該數據傳輸包括3種流量,每個流量持續10 min.每個數據傳輸任務均建立端到端路徑.HiSPNetS框架計算和管理本地局域網路徑,安裝流規則設置本地局域網路徑,并安裝計量器和隊列以對流量實施速率控制和QoS保證.
HiSPNetS框架下數據傳輸的吞吐量測量值如圖4所示.由結果可知,在1到2 min內,盡力而為流量占滿了路徑的所有帶寬;在3到4 min時間段,優先級流量1達到10 Gbps的吞吐量上限,而盡力而為流量的帶寬消耗下降到30 Gbps;在5到8 min內,優先級流量2到達系統,并達到約15 Gbps的吞吐量,此時盡力而為流量的吞吐量降低到約15 Gbps,而優先級流量1保持在10 Gbps不變.系統運行8分鐘后,由于優先級流量1和2的傳輸都完成了,因此盡力而為流量的吞吐量增加到40 Gpbs.這個過程說明了HiSPNetS能夠提供應用感知的網絡服務,并支持差異化服務,為優先流量提供QoS保障.
HiSPNetS框架能夠對底層網絡進行編程,用于在SDN網絡中創建虛擬網絡切片.創建虛擬網絡切片后,使用iperf工具測試所創建虛擬網絡切片中主機之間的數據傳輸,結果如表1所列.
由表1可知,虛擬網絡切片內的主機可以相互通信,而不同切片的主機不能通信.該實驗結果表明,HiSPNetS框架支持網絡切片,允許多個科學應用共享一個公共網絡基礎設施,具有性能隔離、安全隔離和易于管理等優點.
實驗設置了兩個邏輯上獨立的站點A和B:站點A由3個40 GE的數據傳輸節點和一個SDN交換機組成;站點 B 由一個40 GE的數據傳輸節點、一個1 GE數據傳輸節點和一個SDN交換機組成.站點A和B通過 OSCARS 第 2 層環回路徑連接,可以使用 ESnet OSCARS 電路服務動態設置和拆除.每條端到端網絡路徑跨越3個域,即站點A、Cernet和站點B.因此,每條端到端網絡路徑由局域網段和廣域網段組成.
數據傳輸流量的吞吐量如圖5所示.從結果中可以看出,各個數據傳輸流量均以其所需的吞吐量進行數據傳輸.該實驗結果也表明,HiSPNetS可以解決最后一公里問題,作為局域網控制器與廣域網服務相結合,以確保端到端網絡路徑的QoS.
4 結論
本文提出了一種可擴展網絡服務框架——HiSPNetS框架,該框架借助SDN技術為大數據應用提供具有QoS保證的網絡服務.實驗評估結果表明,HiSPNetS框架通過支持可編程網絡以滿足應用程序需求,并且與廣域網系統相結合,解決了最后一公里問題和可擴展性問題.在后續的工作中,將研究如何把HiSPNetS框架部署到真實的應用環境中,通過不同類型的大數據應用,進一步驗證該框架的性能.
參考文獻:
[1] KESHARI S K,KANSAL V,KUMAR S.A systematic review of quality of services (QoS) in software defined networking (SDN)[J].Wireless Personal Communications,2021,116(3):2593-2614.
[2] 趙志遠,孟相如,蘇玉澤,等.多控制器條件下區分QoS的虛擬SDN映射方法[J].通信學報,2017,38(8):101-110.
[3] DINH P T,PARK M.BDF-SDN:A big data framework for DDoS attack detection in large-scale SDN-based cloud[C]//2021 IEEE Conference on Dependable and Secure Computing (DSC).IEEE,Fukushima,2021:1-8.
[4] 孫瑞娜,廖彬.面向SDN網絡的QoS優化解決方案綜述[J].計算機應用與軟件,2021,38(11):1-10.
[5] 祖家琛,胡谷雨,嚴佳潔,等.網絡功能虛擬化下服務功能鏈的資源管理研究綜述[J].計算機研究與發展,2021,58(1):137-152.
[6] FAN S,RONG Y,MENG C,et al.DAPPLE:A pipelined data parallel approach for training large models[C]//Proceedings of the 26th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming,Korea:IEEE,2021:431-445.
[7] BADOTRA S,PANDA S N.Evaluation and comparison of OpenDayLight and open networking operating system in software-defined networking[J].Cluster Computing,2020,23(2):1281-1291.
[8] SELEZNEVE S,YAKOVLEV V.Industrial application architecture IoT and protocols AMQP,MQTT,JMS,REST,CoAP,XMPP,DDS[J].International Journal of Open Information Technologies,2019,7(5):17-28.
[9] KIM Y,JEONG S,JEZEK K,et al.An off-the-chain execution environment for scalable testing and profiling of smart contracts[C]//2021 USENIX Annual Technical Conference (USENIX ATC 21),2021:565-579.
[10] KOVACS A,LENCSE G.Evaluation of layer 3 multipath solutions using container technologies[C]//2019 42nd International Conference on Telecommunications and Signal Processing (TSP).Budapest:IEEE,2019:207-211.
[責任編輯:李 嵐]
作者簡介:蘇警(1983-),男,安徽蚌埠人,講師,碩士,研究方向:計算機技術、軟件工程.E-mail:3120623298@qq.com.