孫日明,胡先浪
(江蘇自動化研究所,江蘇 連云港 222061)
隨著人工智能、云計算和邊緣計算的發展,網絡的智能化水平越來越高。涌現了車聯網、自組織傳感器網絡等一系列智能網絡系統[1],在國民經濟、國防安全等領域發揮了重要作用。然而這些系統往往具有大量的節點且節點均具有較高的智能化水平,如何實現智能網絡系統的自我管理(是指能夠根據環境的變化自動地調整,以滿足各種需求)已成為一項巨大的挑戰[2]。
為了以合理的成本應對分布式系統的管理復雜性,IBM 在2001 年提出了自主計算能力[3]。其目的是能夠感知和自我管理,并以最少的人為干預來處理復雜性和不確定性,被廣泛應用于航天控制、智能交通等領域。目前,自主計算也已被認為是智能網絡管理的一種有效技術途徑,是智能網絡系統的一種基礎能力。雖然自主計算體系結構和設計方法領域已經取得了一些顯著的成果,但自主計算的評價仍處于早期階段。對自我管理評價的研究有助于發現智能網絡系統的缺陷,為進一步的設計提供有效的參考。
到目前為止,一些學者已經為自主計算系統提出了一些評估指標、模型和簡單的工具,但這些研究仍然集中在某些特定屬性和基于規則的階段,缺乏系統的評估模型和復雜的測量工具。本文首先簡單地總結了未解決的問題和挑戰,然后提出了一種基于PEPA的自主計算能力分析模型。在此基礎上,本文將模型轉換為ODEs(Ordinary Differential Equations),用自主指標的度量來分析自我管理的能力,并給出了結論。
自主計算通常由其主要屬性定義,包括自配置、自愈、自優化和自我保護等。自主計算系統的目的是通過其管理員對給定的高層目標進行自我管理,隱藏系統的復雜性。目前,自主計算評價的研究還處于早期階段,存在一些不足。
(1)目前,關于自主計算能力的評價研究大多集中在建立度量集。McCann 等人[4]提出了一套包括10 個度量標準的自主計算度量標準;Kaddoum 等人[5]對自主計算的self-* 屬性進行評價,但是復雜性較高。Janeska 等人[6]從包括需求在內的多個側面構建了一個自主管理系統評估度量體系。但是,所有這些度量或度量集都不能評估自主計算的所有特征,其中大多數缺乏定量方法,不能滿足細粒度評估的要求。
(2)自主計算目前只有3種評價模型。其中兩個是IBM 提出的,分別是自主成熟度模型和自主適應模型。在前者中,自主計算系統分為5 個層次:基礎性、管理、預測性、適應性和自主性。這種分類的粒度太粗糙,無法進行嚴格的評價。在后者中,自主化的能力是通過功能、控制范圍和服務流程等方面來衡量的,但由于其粗糙粒度,只能得到定性的結果。第3種評價模型主要采用了AHP(Analysis Hierarchy Process)方法,文獻[7]中基于AHP對自主計算能力進行分析,而Khorsand 等人[8]提出一種基于FAHP(Fuzzy AHP)的方法用于分析云環境下自主提供服務的能力,其中度量的權重系數具有很大的主觀性,難以客觀量化。
(3)現有的自主計算評估工具是IBM 自動化評估工具,它通過用戶提交的表格來測量被測試的系統。這個工具的粒度太粗糙,無法在大規模的智能網絡系統中使用。并且其他的所有方法都缺乏自動評價工具,效率較低。
(4)此外,另一些學者也結合具體業務系統對自主計算的評價進行了專門研究。Sanchez 等人[9]結合工業4.0網絡系統的自主化管理,研究了工業過程(包括數據、人員、事物和服務)實現self-*的評價準則,但是與工業過程緊密耦合,遷移性不強。文獻[10]重點分析了現存大型分布式系統的自主計算能力,并對如何選擇配置參數等方面進行了分析。Jaleel 等人[11]分別針對云環境和普通計算環境提出了一系列的指標(例如數據通道需求、對現有業務的擾動)來評價系統的自主管理能力和self-*能力。Singh 等人[12]也針對云計算系統下計算資源的自主管理能力進行了評價,但是這種評價主要針對QoS(Quality of Service)應用范圍還有一定局限性。
從以上討論可以看出,ACS的評價需要進一步的研究,才能得到一種細粒度的定量方法。因此,本文將建立一個ACS 評價模型,以支持定量分析和評估。
PEPA 是一種經典的進程代數,具語義驗證和定量分析能力,適用于大規模分布系統的建模和分析。PEPA的語法如下:

其中,λ 是動作a的變遷速率,其他操作還包括選擇+、合作、隱藏/以及常量定義A。詳情可參考文獻[13]。傳統上,PEPA 通常被映射到一個底層的馬爾可夫鏈來分析性能。然而,當存在大的狀態空間時,通常會遇到狀態空間爆炸。可以采用連續狀態空間近似方法將馬爾可夫鏈生成ODEs[10]來解決這個問題。
設N(Cij,t)=vij(t)表示在時刻t 時第i 個子向量的第j 個入口。用Exit(Cij)表示從N(Cij,t)發出動作的集合,Exit(Cij)表示進入N(Cij,t)動作的集合。PEPA 模型可轉化為:

其中,轉移概率ρα(Cij,P(t))代表在系統P(t)中當動作α發生時,Cij組件減少的概率;ρβ(Cik,P(t))代表在系統P(t)中當動作β發生時,Cik組件減少的概率。
組件的穩態似然概率等于馬爾可夫鏈計算的穩態概率,其行向量表示為π={π1,π2,…}[14]。
在本質含義上,自主計算是以最小或無人干擾的自我管理方式為用戶服務,換言之,自主計算與服務過程密切相關。因此,ACS 可以從服務的角度進行研究,狀態代表了自我管理過程中的不同階段。根據自主計算的特點和服務過程,ACS的狀態集表示為S={G,V,A,SC,SH,SO,SP,F,L},各狀態如下:
(1)G(General State):系統處于正常服務狀態;
(2)V(Vulnerability State):該系統容易受到可疑服務要求或惡意攻擊;
(3)A(Adaptation State):檢測該系統以確定是否采取自我管理行動;
(4)SC(Self-Configuration State):開展自我配置活動;
(5)SH(Self-Healing State):實施自愈活動;
(6)SO(Self-Optimization State):開展自我優化活動;
(7)SP(Self-Protection):開展自保護活動;
(8)F(Failure State):不能自主管理該系統,進入失效狀態;
(9)L(Learning State):通過自我學習,升級應對故障。
這些狀態之間的關系如圖1 所示。在一開始,系統停留在G 狀態。在遭受一些可疑服務需求或惡意攻擊時,以一定的概率轉向V 狀態。然后,系統將確定它是否可以使用當前的自我管理措施進行處理。如果答案是肯定的,則系統進入自適應狀態(Adaptation State),并開始實現self-* 活動;否則系統進入F 狀態。雖然采取的self-* 措施是有效的,但該系統仍需要回到G 狀態,否則它再次達到適應狀態。在適應狀態下,如果所有的self-* 措施都不能實現自我管理,系統也會轉到F 狀態。由于未能自行管理系統,采用自主學習的過程重新生成自主系統的知識庫,然后系統回到G 狀態。

圖1 自主系統的狀態轉移圖
根據圖1 所示,從服務的角度出發,采用PEPA 對自主計算系統建模。所有的服務請求都可以看作是一系列的進程,具體描述如下:

相應地,自主計算系統建模如圖2 所示,其中所有動作的延遲時間都遵循負指數分布。所有的動作速率都可以用Huang的方法得到[15]。

圖2 基于PEPA的自主計算系統模型
綜上,通過服務交互,自主計算系統模型可以描述為:

在本節中,將PEPA 模型轉換為ODEs 進行求解,以避免狀態爆炸。
首先需要為系統創建一個基于時間的系統方程,然后才能使用ODEs 生成方法。令:

其中,N(C,t)表示時間t中組件C的個數。可以定義一個基于時間的系統:

利用連續狀態空間近似方法,可以將評價模型的狀態映射為一系列局部派生,具體如下:

模型中各組件的關系如圖3 所示。

圖3 模型的活動圖
根據式(2)生成ODEs。

其中,xij表示Cij的數量,即對于第i種組件的第j 個派生的數量。而I21是一個特定的符號函數:

自主計算的顯著特點是自我管理,但現有的多屬性評價方法和注入實驗都沒有涵蓋影響自我管理的所有因素。本文依據自主計算的核心思想來表征自我管理的狀態,而不是使用指標集來評估行為,即在自我管理條件下不受人為干擾地完成任務的概率。并將此概率表示為自主指數,它是一個實數,屬于(0,1]。
考慮到模型的隱含隨機過程是{M(T),t>0},M(T)中的每個狀態都有一個形式為Client′??General′,其中Client′和General′分別是Client 和General 狀態的派生。本文將模型的狀態空間分為兩組:自主集合S1和非自主集合S2,S2中每一種狀態都有一種形式的Client′??Fail。同樣地,穩態{π1,π2,…,πn}由兩部分組成:ΠA和ΠF。其中ΠF是與S2相對應的穩態概率子向量。
定義(自主指數):給定π={π1,π2,…,πn}是系統的穩態概率向量,ΠF是對應于S2的穩態概率子向量,自主指標可定義為ΓA∈(0,1]:

根據上一節提出的自主指數,將以量化的方式對自我管理能力進行評估。模型的參數可以根據實際自我管理系統的歷史日志得到。假設圖2中模型的各個參數如表1 所示。

表1 PEPA 模型的參數值
其次,可以將ODEs的方法與傳統的DTMC(Distributed Time Markov Chain)進行比較。其中兩種方法的計算時間如表2 所示。其中,“-”表示在內存為4 GB的PC中,計算資源不足。由于ODEs 方法變量是連續的,因此沒有狀態空間。
從表2 可以看出,DTMC 方法的計算時間大于ODEs。此外,由于狀態空間爆炸,DTMC 方法需要更多的計算資源,甚至需要計算機的內存。根據式(9),可以得到當N=10 時自主指數ΓA=0.942。

表2 測試系統的計算時間
接下來以上述案例為實例,分析這些參數對自主指數的影響。通過分析,可以發現提高自我管理能力的關鍵因素,為自主計算的進一步研究提供參考。為了簡化解決的過程,使用了PEPA Eclipse 插件[14]工具。
當可疑的服務需求或惡意攻擊發生時,系統可能會選擇適應,否則,它將無法在未被發現的情況下管理自己。在圖4中,給出了檢測概率對自主指數的影響,X 軸是參數β,表示自主計算系統檢測漏洞狀態的可能性;Y軸是自主指數。從圖4中可以看出,自主指數隨著檢測可能性的增加而增加。當β 接近1.0 時,自主指數有加速增長的趨勢。因此,提高檢測成功率對提高自主系統的能力具有重要意義。

圖4 適應可能性對自主指數的影響
自主計算的特點通常被稱為self-*,包括自我配置、自我優化、自我愈合和自我保護,這對于實現自我管理至關重要。在圖5中,所有的self-* 特征對自主指數的影響均在同一圖中給出。從這個角度看,自主指數隨著self-*的增加而增加。值得注意的一點是,如果單個self-* 接近0,自主指數將保持在一個較低的水平,但不會下降到0。這種假設與現實相匹配,例如,一個只能自我配置和自我優化的系統盡管自主管理水平不高,但也是一個自主系統,具有自主能力。

圖5 self-* 率對自主指數的影響
有時,自主系統由于知識庫的不完備性可能無法自我管理,這對于自主管理能力的影響是致命的。在圖6中,隨著失效率f的增長,自主指數也隨之下降。此外,當失敗率接近1.0 時,自主指數達到0.1 以下的值。可以發現,由于故障率的影響是非常嚴重的,因此應該盡力減少這種可能性。

圖6 失效率對自主指數的影響
根據自主計算的核心思想,本文提出了一種基于PEPA的自主計算能力評估模型,可以用于評估智能網絡系統的自主計算能力。與現有的ACS 評價方法或模型相比,該模型可以通過總結系統自我管理狀態的似然穩態概率來進行定量分析。根據Huang 方法的結果[15],避免了用戶設置一系列的系數,所有的系數都可以通過測量動作平均延遲時間來計算。實驗結果表明,提高自主檢測成功率和self-* 率對增強自主能力具有重要意義。