自主運算(Autonomic computing,簡稱AC)是指分散式運算系統中的自我管理特性,可以適應不可預期的變化,而且可以封裝其本質上的複雜,不需讓使用者以及操作人員瞭解。自主運算是IBM在2001年提出的倡議,此倡議後來的目的是要開發可以自我管理的電腦系統,可以面對運算系統管理快速成長的複雜性,並且減少複雜性對未來系統擴充造成的阻礙。
敘述
自主運算系統的概念是要用高層次的政策,進行可適應環境的決策。系統會持續的檢查其自身狀態,並且進行最佳化,自動調適系統以適應變動的條件。自主運算框架是由彼此互動的自主組件(AC)組成。自主運算可以用二個主要控制架構(區域及全域)組成,配合传感器(可以進行)、执行器(自我調整)及知識,並且有規劃器/調適器,利用基於自我意識和環境意識的政策,以進行調整。此架構有時會稱為Monitor-Analyze-Plan-Execute(MAPE)。
在此願景的驅使之下,已提出許多以「自我調整」自主组件為基礎的架構框架。另一個類似的趨勢是許多有關多智能体系统的研究。不過大部份的作法是用集中式或是雲端服务器架構, 主要是為了降低管理成本,而不是為了要有複雜軟體系統或是提供創新的服務。有些自主系統和移動代理(mobile agents)有關,其介面是透過鬆耦合的通訊機制。
自主導向運算(Autonomy-oriented computation)是Jiming Liu在2001年提出的範式,用人工智慧系統模仿社会性动物的集合性行為,以此來解決複雜的計算問題。例如,蚁群算法可以會在此範式下進行探討。
複雜度持續成長
根據預測,人們使用的運算裝置每年會以38%的比例成長,設備的平均複雜度也在逐漸增加。運算系統因為其速度及自動化,帶來許多的助益,但目前因為經濟上的考量,自動化維護的需求也非常迫切。
Kephart和Chess在2003年电气电子工程师学会《计算机》的文章中。人體神經系統可以控制重要的人體機能(例如呼吸、心率和血壓),不需要人有意識的介入調整。
在自我管理的自主系統中,人員的角色也和以往不同:人不再直接控制系統,而是訂定一般性的政策和規則,以此引導自我管理的流程。為了這個流程,IBM定義了以下四種特性,稱為self-star(也稱為self-、self-x或auto-)性質。
自我配置(Self-configuration):組件的自動組態。
自我修復(Self-healing):自動發現故障,並且自動修正故障
(Self-optimization):自動監控以及控制資源,在定義的要求下確保機能的最佳化。
自我保護(Self-protection):針對任何的攻擊,可以主動識別並且保護。
而Poslad將以下的概念加入self-star集合裡。
自我管理(Self-regulation):系統為了維持某些參數(例如服务质量)而運作,在沒外部控制下有一定的重新啟動區間。
自我學習(Self-learning):系統用不需外部控制的機器學習技術(例如無監督學習)。
(Self-awareness),也稱為自我檢測(Self-inspection)及自我決策(Self-decision):系統要瞭解系統本身。必須知道其自身資源的其連結資源的極限。為了控制以及管理,系統需要知道其內部元件以及外部連結。
自我組織(self-organization):在沒有外在壓力或是外來介入下,由實體模型驅動的系統結構。
自我創建(Self-creation)也稱為自組裝(Self-assembly)或自我复制(Self-replication):系統在沒有具體壓力或是系統外部參與的情形下,被生態以及社會類別旳模型所驅動。系統成員有self-motivated和自我驅動(self-driven)的特性,在持續變化的策略需求以下產生了開創性的回應,並在其中呈現複雜性以及秩序。
自我管理(Self-management)也稱為自我治理(self-governance):系統在沒有外界介入的情形可以自我管理。要管理的東西可能會依系統以及應用而變化。自我管理也代表一組的self-star程序(例如自主運算),而不是單一的self-star程序。
自我敘述(Self-description)也稱為自我解釋(self-explanation)或自我呈現(Self-representation):系統可以解釋自己。可以在不需進一步解釋的情形被人所瞭解(和反射式编程有關)。
IBM更訂定了自主系統的八個條件:
系統要
知道本身存取哪些資源,其容量以及限制,以及和其他系統連接的方式以及原因。
可以依變化的計算環境,自動的進行自身的組態和重新組態。
可以將自身的性能最佳化,以確保計算程序可以最有效率
可以避開所遇到的問題,可能是修補自身的系統,或是可以有繞道演算法,可以避開有問題的點。
在面對不同的攻擊時,可以進行偵測、識別和保護,以維持整體系統的安全性(security)和完整性。
在環境變化時可以適應環境,和周圍的系統互動,並且建立通訊協定
以開放標準為基礎,不會處在某個私有的環境下
可以預測對資源的需求情形,同時對使用者保持透明。
演進程度
IBM針對自主系統的佈署情形,定義了五個演進的程度,也稱為自主佈署模型(autonomic deployment model):
- 第1級是最基礎的,代表目前的系統是用人工來管理。
- 第2至4級表示較多的自主管理機能。
- 第5級表示自主系統完全自我管理的終極目標。
設計模式
自主系統的設計複雜度可以用设计模式來簡化,例如使用MVC模式,透過封裝和機能有關的關注來達到关注点分离。
控制迴路
控制迴路也是會應用自主運算中的基本概念。此一概念源自过程控制理論。在本質來看,自主管理系統中的控制迴路會監控資源(軟體或是硬體的資源),自主調整,設法在其參數保持在一定範圍內。
依照IBM所述,大型的自主管理電腦系統中會有上百到數千個控制迴路。
概念模型
自主系統的基礎建構模塊就是感知能力(感測器Si),讓系統可以觀察其外在的運作情形。自主系統的固有特性就是有關其運作目的的知識,以及在沒有外在介入時,可以自行運作的知識(可能是透過、組態知識、針對感測資料的詮釋等)。自主系統的實際運作是由「邏輯」所決定,邏輯是為了達到運作目的所進行的決策,同時也會受到感測器所感測的外在運作情形所影響。
此一模型強調自主系統的運作是由其目的(purpos
评论 (0)