段曉穩 李波 雒浩然
(1.中國電子科技集團公司第二十研究所,陜西西安 710068;2.西北工業大學電子信息學院,陜西西安 710129)
面對復雜的戰場環境,目前大多數作戰任務中無人機的控制系統還不能替代人做出最優判斷與決策,有/無人機協同作戰模式可以彌補無人機在執行具體作戰任務時面對緊急情況的決策響應能力的不足[1]。
云計算提供的資源虛擬化能力,通過識別、連接系統中的各種作戰單位,把多兵種快速融入到一體化作戰體系中[2-3]。各作戰單位動態調用資源去完成任務、實現快速的火控解算和準確的戰場態勢評估,各種戰場資源在一體化作戰體系中被統一調度和管理,各類作戰平臺通過云架構進行高效協同,使得火力打擊節點在整個作戰殺傷鏈中,能夠獲得實時態勢感知和全域信息共享能力,最終實現網絡化殺傷的協同作戰能力。為了有效均衡系統負載、合理分配系統資源,并能高效分配和處理作戰任務[4-6],提出基于云架構的有/無人機協同交戰原型系統,并針對其中的任務調度及資源分配問題進行了研究。
本文設計了基于云架構的有/無人機協同交戰系統,主要包括三個部分,如圖1所示。

圖1 基于云架構的協同交戰系統示意圖Fig.1 Schematic diagram of a collaborative engagement system based on cloud architecture
基于云架構的有/無人機協同交戰系統通過使用虛擬化技術對各個作戰節點中的物理實體(如指揮中心的地面控制站、預警機等)的基礎資源進行虛擬化從而形成作戰資源池。作戰單位向云端提交的任務請求,由任務分配系統分配的虛擬機進行計算。虛擬機運行在通過網絡組成的物理機集群上,如圖2所示。

圖2 基于云架構的協同交戰系統技術體系Fig.2 Cloud-based collaborative engagement system technology system
在有/無人機協同作戰任務中,對實時性的要求極高且在執行偵察任務時產生的數據量巨大。無人機與云端之間會產生大量的數據流,需要有效的分流處理機制來避免協同交戰系統網絡的擁堵。
在此基礎上提出基于云邊協同的交戰優化系統,通過增加邊緣服務器作為作戰節點與云端數據中心之間的中間層[7],使作戰節點隨時獲取一定的計算能力和存儲空間,在戰場上可融合各種來源的數據并在不連接云端的情況下進行快速處理,傳統云計算數據處理過程和云邊協同數據處理過程對比如圖3。

圖3 傳統云計算/云邊協同數據處理過程Fig.3 Traditional cloud computing/cloud-side collaborative data processing process
基于云架構的作戰任務調度需要處理有/無人機協同作戰過程中如目標分配、火控解算和態勢處理等任務。不同任務具有不同的資源需求,任務主要分為交互型、計算型和數據型三類。執行三類任務時對不同資源的需求不同,如表1所示。

表1 任務分類Tab.1 Task classification
定義1:服務器集群構成的集合為D={D1,…,Di},其中i表示服務器集群的數量;系統中可提供計算能力的物理機構成的集合為M={M1,…,Mj},其中j表示某服務器集群中物理機的數量。
定義2:某服務器集群中物理機Ma的資源集合,其中b表示該服務器集群中物理機Ma包含資源的種類,Rab表示物理機Ma中的某種資源量,例如每秒處理百萬條指令數(MIPS)、CPU數、內存容量(MB)、存儲容量(MB)、網絡帶寬(Mbps)等。
定義3:物理機Ma上資源b的利用率

定義4:任務可以在就近的具備計算能力的邊緣服務器上進行處理,邊緣服務器i的屬性: ={control,core,ips,bandwidth}。
計算資源匱乏的節點可通過在高性能節點中創建虛擬機來執行大量任務。創建虛擬機時需要使用該節點的計算、網絡以及存儲資源。負載模型為:

其中:Lrate表示云架構整體的負載率,表示邊緣節點m的資源總量,AvaRm表示節點m的利用率,表示邊緣服務器中i個節點的資源總量。
采用有向無環圖(DAG)來表示節點提交的任務請求,DAG包括邊和頂點。其中頂點表示云端任務或邊緣任務,邊表示兩個頂點的連接關系。
假設邊緣端運行的任務c與云端數據中心中運行的任務H以云邊協同模式執行態勢評估、火控解算等任務,如圖4所示,云端任務DAG1中包含3個任務FGH,邊緣端的DAG2中包含5個任務abcde,共包含8個任務。實線邊上數字表示兩個任務間的事件交互、通信與計算代價;虛線邊表示云與邊緣節點交互的兩個任務之間的通信代價。

圖4 云邊協同模式下的兩個DAG任務圖Fig.4 Two DAG task graphs in cloud-side collaborative mode
輪詢算法(Round Robin,RR)就是當任務調度器每次接收到新任務時,把任務輪流分發給計算節點,不考慮節點上的連接數和任務處理情況。適合系統中設備性能相同且任務類型基本相同的情況:
假設有n個計算節點VMList={VM1,…VMn},RR算法可以描述為:
(1)從VM1開始依次調度VM2,VM3,…VMn;
(2)若所有節點都已被調度過,則重新開始。
加權輪詢算法(Weighted Round Robin,WRR)根據系統中各虛擬機任務處理能力、CPU負載能力和通信帶寬設置權值。加權輪詢算法根據各節點權值和輪轉方式對任務進行分發。
假設有n個計算節點VMList={VM1,…,VMn},默認權重為W={W1,…,Wn},WRR算法可描述為:
(1)初始化VMList。將W1個VM1加入至VMList,將W2個VM2加入至VMList,以此類推;
(2)從VM1開始按序調度;
(3)若所有服務器都已被調度過,則重新開始。
WRR算法并未考慮系統中各節點的權值變化,僅根據節點初始狀態進行調度。一種改進方法為,通過任務調度器獲得各節點的當前負載情況,然后根據動態情況調整節點權值,該算法稱為平滑加權輪詢法(Smooth Weight Round Robin,SWRR)。
假設有n個計算節點VM={VM1,…,VMn},默認權重為W={W1,…,Wn},當前權重為CW={CW1,…,CWn},在該算法中有兩個權重,默認權重表示計算節點中任務量為零時的權重,當前權重表示經任務重分配后的權重,當前權重的初始值為默認權重,當前權重最大的節點為maxWeightVM,所有默認權重之和為WeightSum,計算節點列表為VMList,SWRR算法過程可以描述為:
(1)找出當前權重值最大的節點maxWeightVM;
(2)計算{W1,…,Wn}之和weightSum;
(3)更新maxWeightVM.CW為:
maxWeightVM.CW-weightSum;
(4)重新計算VM={VM1,…VMn}的當前權重CW={CW1,…,CWn},計算公式為VMn.CW=VMn.CW+VMn.Wn;
(5)返回maxWeightVM,將任務調度到max WeightVM節點上。
(6)重復過程1~5,直到完成全部任務調度。
將異構無人機的載荷與機載設備綜合為傳感器類型,表2給出了5種不同類型節點的詳細屬性。其中地面站和預警機分別作為云端數據中心和邊緣服務器節點。表3給出了不同類型任務的詳細屬性。表4給出了其他參數設置。

表2 節點類型Tab.2 Node types

表3 任務分類Tab.3 Task classification

表4 仿真設置Tab.4 Simulation settings
實驗內容:分別獲得使用RR、WRR和SWRR的三種架構(傳統結構、云架構和云邊協同架構)的平均任務完成時間、平均負載率、通信帶寬需求、任務成功率。
4.2.1 平均任務完成時間
如圖5,各種架構下通過SWRR平均任務完成時間均得到減少,且使用SWRR在云邊協同架構下的平均任務完成時間最小;SWRR相對于RR平均任務完成時間減少了22.38%;使用SWRR時云邊協同架構相對于云架構的平均任務完成時間減少了3.79%。

圖5 不同任務分配算法/仿真架構的平均任務完成時間對比Fig.5 Comparison of the average task completion time of different task allocation algorithms/simulation architectures
4.2.2 平均負載率
如圖6,云架構和云邊協同架構的負載率隨著節點數的增加均為上升趨勢,且都低于傳統架構;使用SWRR后,云架構與云邊協同架構負載率降低,傳統架構負載率上升。SWRR相對于RR平均負載率降低了21.73%;使用SWRR時云邊協同架構相對于云架構平均負載率降低了13.18%。

圖6 不同任務分配算法/仿真架構的負載率對比Fig.6 Comparison of load ratios of different task allocation algorithms/simulation architectures
4.2.3 通信帶寬需求
如圖7,云架構下通信帶寬需求隨節點數增多先小幅降低再上升,傳統架構通信帶寬變化不大,云邊協同架構在節點數較多時帶寬需求最低。SWRR相對于RR通信帶寬需求降低了42.42%;使用SWRR時云邊協同架構相對于云架構,在節點數較多時通信帶寬需求降低了4.49%。

圖7 不同任務分配算法/仿真架構的通信帶寬需求對比Fig.7 Comparison of communication bandwidth requirements of different task allocation algorithms/simulation architectures
可以看出,云邊協同架構相對于傳統架構的任務平均完成時間、負載率和通信帶寬需求均大幅減少。相對于云架構任務平均完成時間減少了3.79%,負載率降低了13.18%,在節點數較多時通信帶寬需求降低了4.49%。同時避免了在產生大量作戰任務請求時,部分節點空閑而只有單一節點負載過高導致的任務處理緩慢、通信延遲等問題。
本文針對有/無人機協同作戰任務調度問題,對任務復雜性進行分析,通過對計算資源、通信資源的抽象建模,使用CloudSim對提出的基于云邊協同的云架構優化方法進行了仿真驗證。結果表明云邊協同的云架構優化方法能夠降低任務平均完成時間,均衡系統負載,并降低通信帶寬需求。