專利名稱:面向?qū)ο蟮耐ㄓ米赃m應控制框架的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及計算機系統(tǒng)性能,特別涉及以一種通用并獨立于應用的方式對計算機系統(tǒng)和應用自動進行性能調(diào)優(yōu)的系統(tǒng)和方法。
背景技術(shù):
在過去幾年中,分布式和網(wǎng)絡(luò)化系統(tǒng)的復雜性快速提高。這在很大程度上歸因于客戶機一服務器體系結(jié)構(gòu)以及其他分布式計算范型(paradigm)的利用。這些計算機系統(tǒng)和軟件(操作系統(tǒng)、中間件和應用)已變得如此復雜,以致要把它們配置成具有最佳性能是困難的。
數(shù)據(jù)庫(如ORACLE、DB/2)、消息排隊系統(tǒng)(如MQSERIES)以及應用服務器(如WEBSPHERE、DOMINO)等復雜應用差不多有數(shù)十個甚至數(shù)百個參數(shù)來控制它們的配置、行為和性能(DOMINO/DB2系統(tǒng)管理員指南)。這種復雜系統(tǒng)的行為還受系統(tǒng)用戶放到系統(tǒng)上的動態(tài)載荷的制約。設(shè)置各單個參數(shù)需要相當多的專業(yè)技能,而更大的挑戰(zhàn)是對各參數(shù)間的相互作用及對系統(tǒng)行為和性能造成的影響的理解。增大對這些系統(tǒng)管理難度的另一因素是這類系統(tǒng)可以是非常動態(tài)的,因此可能需要不斷地監(jiān)視和調(diào)整它們的參數(shù),例如如果工作載荷隨時間變化的話。
這樣,不僅由于雇用專家?guī)椭某杀荆矣捎谙到y(tǒng)不是被適當配置而造成的潛在收入損失,使得特定系統(tǒng)的總體擁有成本(TCO)會增大。為降低TCO和加到系統(tǒng)管理人員身上的負擔,許多軟件供應商現(xiàn)在轉(zhuǎn)向軟件代理,以幫助應對管理這些復雜系統(tǒng)的復雜性。
軟件代理很適于控制這些系統(tǒng)的任務。現(xiàn)有的專家知識能被一勞永逸地納入該代理,從而降低對最終用戶專業(yè)技能的需求。此外,軟件代理能與系統(tǒng)更緊密地聯(lián)系在一起并能實現(xiàn)甚至比人更密切的監(jiān)視和更新。在控制論、最優(yōu)化、運籌學以及人工智能領(lǐng)域的新近進展提供了豐富的算法和技術(shù),供動態(tài)地調(diào)優(yōu)復雜系統(tǒng)的行為,即使是在沒有很多專家知識的情況下。
已開發(fā)出多種針對目標的或“定制的自動調(diào)優(yōu)系統(tǒng)”(CATS)。實例包括(1)由Abdelzaher等在“用于QoS自適應通信的終端主機體系結(jié)構(gòu)”IEEE實時技術(shù)和應用研討會,Denver,Colorado,1998年6月中描述的系統(tǒng),該文內(nèi)容被包含于此以供參考;以及(2)Aman等在“用于管理分布式數(shù)據(jù)處理工作載荷的自適應算法”IBM系統(tǒng)雜志,Vol.36,No.2,1997中描述的系統(tǒng),該文內(nèi)容被包含于此以供參考。Abdelzaher等的系統(tǒng)使用任務優(yōu)先級來控制多媒體在通信子系統(tǒng)中的分發(fā)的服務質(zhì)量。Aman等的系統(tǒng)提供一種手段,管理人員利用這一手段指定響應時間和吞吐量這些在MVS(多重虛擬存儲)系統(tǒng)中要實現(xiàn)的目標,它使用MVS專用機制實現(xiàn)這些目標。
“調(diào)優(yōu)”這一構(gòu)想試圖通過調(diào)整現(xiàn)有的資源分配來改善服務水平。為實現(xiàn)上述目標,需要訪問確定資源分配的那些度量和控制。一般地說,有三類度量,即(1)“配置度量”,它們描述不會由于調(diào)優(yōu)控制而發(fā)生改變的與性能有關(guān)的目標特性,例如,線(line)速度、處理器速度以及存儲器大??;(2)“工作載荷度量”,它們表征目標上的載荷,如到達速率和服務次數(shù);以及(3)“服務水平度量”,它們表征發(fā)布性能,例如響應時間、隊列長度以及吞吐量。
“調(diào)優(yōu)控制”是能調(diào)整目標資源分配因此能改變目標的性能特征的那些參數(shù)。我們給出幾個實例。LOTUS NOTES作為一個電子郵件系統(tǒng)和應用框架有很大一組控制參數(shù)。其中有NSF BufferPoolSize用于管理存儲器,Server MaxSessions用于控制服務器的準入,以及Server_SessionTimeout用于限定空閑用戶的數(shù)量。在支持差異服務的基于Web應用中,有按照服務類別和服務器類型確定路由分數(shù)的調(diào)優(yōu)控制。MQ SERIES作為分布式系統(tǒng)中的可靠傳輸機制,有對存儲器分配和賦予優(yōu)先級的控制。數(shù)據(jù)庫產(chǎn)品(例如IBM的DB/2)有對類別索引和分配緩沖池大小的控制。
CATS要求能預先識別出度量和調(diào)優(yōu)控制,以便能將解釋和調(diào)整這些度量和控制的機制納入自動調(diào)優(yōu)系統(tǒng)。因此,CATS的構(gòu)建和維護仍需要相當高的專業(yè)技術(shù)。隨著因特網(wǎng)的出現(xiàn),軟件系統(tǒng)及其組件快速地演變,它們處理的工作載荷也是這樣。于是,自動調(diào)優(yōu)系統(tǒng)的更新速率很可能必須趕上調(diào)優(yōu)發(fā)生的速率。在這種情況下,自動調(diào)優(yōu)的價值被嚴重削弱。
與自動調(diào)優(yōu)有關(guān)的現(xiàn)有技術(shù)大多集中于開發(fā)與目標系統(tǒng)(即受控制的系統(tǒng))緊密耦合的特定算法和體系結(jié)構(gòu)。在這些情況中,這些算法不容易再應用于其他系統(tǒng),其他控制方案也不能插入所提出的體系結(jié)構(gòu)中。
現(xiàn)有的獨立于目標的自動調(diào)優(yōu)技術(shù)不考慮對訪問度量和控制參數(shù)給予體系結(jié)構(gòu)上的支持。為了使通用的自動調(diào)優(yōu)系統(tǒng)能從目標那里訪問到所需參數(shù),實現(xiàn)通用、自動調(diào)優(yōu)需要很好定義的接口。先前的工作忽略了這些考慮。
通過陳述關(guān)于度量的語義和調(diào)優(yōu)控制的操作的信息有助于尋找調(diào)優(yōu)控制的適當設(shè)置。特別地,對于目標而言,把度量放入配置、工作載荷以及服務水平這些類別中是有幫助的。這些指定可以有助于通用系統(tǒng)的構(gòu)建。再有,應該有某種方式來表示對調(diào)優(yōu)控制的調(diào)整所造成的定向影響,因為具有這些知識會降低尋找調(diào)擾控制的適當配置的復雜性。以往的工作沒有集中在這些方面。
發(fā)明內(nèi)容
上述問題以及現(xiàn)有技術(shù)的其他相關(guān)問題已由本發(fā)明的面向?qū)ο蟮耐ㄓ米赃m應控制框架予以解決。本發(fā)明可應用于一個或多個目標系統(tǒng),如一個網(wǎng)絡(luò)中的一個或多個計算機系統(tǒng)。
有利地,本發(fā)明提供一個靈活的軟件體系結(jié)構(gòu),用于創(chuàng)建通用自動調(diào)優(yōu)代理(GATA),這些軟件代理由一個或多個控制器模塊(這里也稱作“自動調(diào)優(yōu)控制器”)以及一個或多個目標系統(tǒng)(應用)適配器(這里也稱作“自動調(diào)優(yōu)適配器”)構(gòu)成。再有,本發(fā)明允許用戶指定該代理的各構(gòu)件(控制器和適配器)之間的接口,從而能以即插即用的方式替換其他構(gòu)件。本發(fā)明還提供接口允許各控制器以任意的復雜方式互連,允許實現(xiàn)(和構(gòu)成)任何可計算的控制策略。再有,本發(fā)明提供一種機制,允許在該框架內(nèi)創(chuàng)建的各代理彼此互連和通信,以形成軟件代理的潛在復雜網(wǎng)絡(luò)和/或?qū)哟谓Y(jié)構(gòu)。此外,本發(fā)明提供定制器(customizer)接口,這允許可選地和靈活地人工監(jiān)視以及必要的人工干預。
這一體系結(jié)構(gòu)允許在通用框架內(nèi)實現(xiàn)許多控制策略。再有,它允許該控制策略以模塊方式實現(xiàn),從而它不必與目標系統(tǒng)綁在一起。模塊化還允許同一控制策略容易地應用于不同的目標系統(tǒng)。該體系結(jié)構(gòu)的靈活性足以實現(xiàn)需要多重控制器的策略。此外,它使得能夠進行代理間通信,這提升了現(xiàn)有基礎(chǔ)設(shè)施的作用(無需額外編碼)。這允許我們構(gòu)建復雜的代理網(wǎng)絡(luò)以控制復雜的、分布式系統(tǒng)。
根據(jù)本發(fā)明的一個方面,提供了一個調(diào)優(yōu)系統(tǒng),用于對一個或多個目標系統(tǒng)自動進行調(diào)優(yōu)。度量管理器管理對應于一個或多個目標系統(tǒng)的至少一組度量。一個或多個控制器根據(jù)這至少一組度量實現(xiàn)一個或多個控制策略。所述的一個或多個控制策略獨立于所述的一或多個目標系統(tǒng)中任何一個系統(tǒng)的特定體系結(jié)構(gòu)。一個或多個適配器針對一個或多個控制策略提供與一個或多個目標系統(tǒng)的接口。這一個或多個適配器中至少有一個是針對這一個或多個目標系統(tǒng)中的一個相應系統(tǒng)。
根據(jù)本發(fā)明的另一方面,該調(diào)優(yōu)系統(tǒng)進一步包含至少一個定制器,用于接收用戶輸入以便定制度量管理器、一個或多個控制器以及一個或多個適配器中的至少一個。所述的至少一個定制器是一個圖形用戶接口。
根據(jù)本發(fā)明的又一個方面,所述的一個或多個控制器包含一個主控制器,用于解決一個或多個控制策略之間的沖突。
根據(jù)本發(fā)明的再一個方面,該調(diào)優(yōu)系統(tǒng)可以調(diào)用其他調(diào)優(yōu)系統(tǒng),以便針對一個或多個目標系統(tǒng)形成具有層次結(jié)構(gòu)的調(diào)優(yōu)系統(tǒng)。
根據(jù)本發(fā)明的再一個方面,該調(diào)優(yōu)系統(tǒng)與其他調(diào)優(yōu)系統(tǒng)合作操作以實現(xiàn)這一個或多個控制策略。
根據(jù)本發(fā)明的再一個方面,這一個或多個控制器中至少有一些是模塊,因而能夠被從該調(diào)優(yōu)系統(tǒng)中刪除、修改或替換。
根據(jù)本發(fā)明的又再一個方面,這一個或多個適配器中至少有一些是模塊化的,因而能夠被從該調(diào)優(yōu)系統(tǒng)中刪除、修改或替換。
由下文中結(jié)合附圖對優(yōu)選實施例的詳細描述,本發(fā)明的這些及其他方面、特點和優(yōu)點將變得顯而易見。
圖1是一個方框圖,其描繪了根據(jù)本發(fā)明的一個實施示例可應用本發(fā)明的軟件代理的典型操作環(huán)境;圖2是一個方框圖,其描繪了根據(jù)本發(fā)明的一個實施示例構(gòu)成一個軟件代理的各構(gòu)件以及它們的相應互連;圖3是一個樹形圖,其表示了根據(jù)本發(fā)明的一個實施示例的度量類型層次結(jié)構(gòu);圖4是一個方框圖,其表示了根據(jù)本發(fā)明的一個實施示例使用單一控制方法控制單一應用的一個簡單代理;圖5是一個方框圖,其表示了根據(jù)本發(fā)明的一個實施示例在單一代理中如何能包括多重控制策略;圖6是一個方框圖,其描繪了根據(jù)本發(fā)明的一個實施示例的層次控制配置;圖7是一個方框圖,其表示了根據(jù)本發(fā)明的一個實施示例的一個代理,它是圖6所示層次控制配置的一個部分;以及圖8是一個流程圖,其說明了根據(jù)本發(fā)明的一個實施示例創(chuàng)建一個自動調(diào)優(yōu)軟件代理的方法。
具體實施例方式
圖1是一個方框圖,其描繪了根據(jù)本發(fā)明的一個實施示例可應用本發(fā)明的軟件代理的典型操作環(huán)境。代理110接收來自人(或軟件)系統(tǒng)管理員實體120的信息,涉及所希望的服務水平要求以及影響控制器操作的各種參數(shù)。從目標應用130本身接收對代理110的其他輸入,其涉及如這里討論過的配置、工作載荷和服務水平度量。使用這些輸入,代理110計算目標系統(tǒng)130或其他系統(tǒng)的控制設(shè)置。然后這些控制設(shè)置被傳送到目標系統(tǒng)130上。這樣,我們看到,代理110針對目標系統(tǒng)130進行閉環(huán)操作。圖1還表示了,目標系統(tǒng)130的行為受用戶140施加于它的工作載荷的控制。圖1的最后一個方面是,管理員120除了提供控制器參數(shù)外,還能訪問與控制器操作有關(guān)的度量。這能用于監(jiān)視自動代理110,以保證它的行為適當并測量它的操作效率。
這樣一個代理的內(nèi)部構(gòu)件圖示于圖2。具體地說,圖2是一個方框圖,其描繪了根據(jù)本發(fā)明的一個實施示例構(gòu)成一個軟件代理的各構(gòu)件以及它們的相應互連。我們把這一代理體系結(jié)構(gòu)稱作自動調(diào)優(yōu)代理。
圖2所示軟件代理包括主自動調(diào)優(yōu)控制器210;一個或多個從屬自動調(diào)優(yōu)控制器(下文中統(tǒng)稱“從屬自動調(diào)優(yōu)控制器”)220;一個或多個自動調(diào)優(yōu)適配器(下文中統(tǒng)稱“自動調(diào)優(yōu)控制器”)230;一個資料庫250;一個度量管理器240;一個管理員應用編程接口(API)265;定制器270、280和290。圖2所示軟件代理與一個或多個目標系統(tǒng)和/或一個或多個其他自動調(diào)優(yōu)代理260交互作用(在下文中可交換地稱作“目標系統(tǒng)”或“其他自動調(diào)優(yōu)代理”,以表明根據(jù)本發(fā)明的軟件代理可與其他代理以及不是其他代理的目標系統(tǒng)交互作用)。前述表明,一個自動調(diào)優(yōu)代理本身可為另一自動調(diào)優(yōu)代理的目標系統(tǒng)。
一個自動調(diào)優(yōu)代理可由一個或多個自動調(diào)優(yōu)控制器和一個或多個自動調(diào)優(yōu)適配器構(gòu)成。當在一個代理中有多個自動調(diào)優(yōu)控制器時,它們當中有一個被指定為主控制器210,并負責產(chǎn)生最終控制行動。取決于控制算法,主控制器210可以使用其他(從屬)控制器220中的任何控制器作為子例程幫助確定所希望的控制行動。
圖3是表示了根據(jù)本發(fā)明的一個實施示例的度量類型層次結(jié)構(gòu)的樹狀圖。度量390被分成只讀度量370和讀/寫度量380。在這里描述的本發(fā)明實施示例中,配置310、工作載荷320和服務水平330度量是只讀的,而調(diào)優(yōu)控制340被認為是讀/寫度量。當然,也可使用其他安排,同時仍保持本發(fā)明的精神和范圍。
通過度量管理器240管理度量。這一實體提供接口以添加、刪除和列表(圖2中的getMetric())該代理已知的度量組。度量管理器240允許管理員通過定制器280或管理員API 265來選擇已知度量的子集以記錄在資料庫250中用作日志。度量管理器240提供一組其他功能,如選擇日志記錄目的地和啟動/取消日志記錄功能。
自動調(diào)優(yōu)適配器230是該代理與目標應用260的接口。每個自動調(diào)優(yōu)適配器230定義一組它知道的度量。這組度量能通過查詢自動調(diào)優(yōu)適配器230獲取(圖2中的getMetrics())。對于只讀的度量,自動調(diào)優(yōu)適配器230提供了一個從目標系統(tǒng)260得到這些度量的最新值的手段(圖2中的過程process())。對于調(diào)優(yōu)控制度量,自動調(diào)優(yōu)適配器提供了在目標系統(tǒng)260上設(shè)置調(diào)優(yōu)控制之值的手段(圖2中的setControl())。自動調(diào)優(yōu)適配器230是目標專用的并且提供一個抽象,從而控制算法本身不需直接綁到一個特定目標系統(tǒng)上。為了把這同一控制算法應用到另一目標系統(tǒng),只需為那個目標系統(tǒng)替換自動調(diào)優(yōu)適配器。應該指出,目標系統(tǒng)266可以是任何外部實體,包括,例如,另一個自動調(diào)優(yōu)代理。這一性質(zhì)允許我們構(gòu)建代理鏈,下文中我們將用它構(gòu)建代理層次結(jié)構(gòu)。
自動調(diào)優(yōu)控制器210、220實現(xiàn)一個控制策略。自動調(diào)優(yōu)控制器210、220從度量管理器得到所有感興趣的度量(使用getMetric())。自動調(diào)優(yōu)控制器210、220提供機制計算誤差(與所希望的服務水平的偏差)、計算新的控制值并設(shè)置這些值(通過setControl()調(diào)用相應的自動調(diào)優(yōu)適配器230部件)。
一個典型的控制循環(huán)如下所示1.如果(同步方式),則a.調(diào)用同步適配器2.計算與所希望的服務水平的誤差
3.計算新的控制值(這實現(xiàn)控制算法)4.如果(當前控制器是主自動調(diào)優(yōu)控制器210),則a.設(shè)置該控制值5.重復應該理解,上面的步驟2(計算誤差)是一個可選步驟。盡管大多數(shù)控制算法對該誤差進行操作,但也有一些算法并不對該誤差進行操作。當然,其他變體是可能的而且不難由相關(guān)領(lǐng)域普通技術(shù)人員構(gòu)想出來。
自動調(diào)優(yōu)適配器230可以以同步方式或異步方式操作?!巴健笔侵竸偤迷谟嬎阈碌目刂浦抵罢{(diào)用自動調(diào)優(yōu)適配器230。在異步方式下,自動調(diào)優(yōu)適配器230被假定為以它自己的某一其他(由用戶定義的)頻率被調(diào)用以得到最新的度量值。這一特性允許我們在控制頻率不同于讀出頻率的情況下實現(xiàn)自動調(diào)優(yōu)控制器。
在計算與所希望的服務水平的誤差時,自動調(diào)優(yōu)控制器可在必要時訪問度量管理器240所知道的任何度量。
每個構(gòu)件(度量管理器240、自動調(diào)優(yōu)適配器230、自動調(diào)優(yōu)控制器210、220)的用戶接口是通過定制器270、280、290提供的。定制器是向每個構(gòu)件的底層細節(jié)提供GUI的實體。在這里描述的實施示例中,為每個作為代理一部分的部件提供一個定制器。當然,其他安排是可能的,包括,但不限于為作為代理一部分的每類部件(如自動調(diào)優(yōu)控制器、適配器等)提供一個定制器。例如,在度量管理器240的情況中,定制器允許用戶指定要記錄到日志中的度量、該日志文件的位置等等。在自動調(diào)優(yōu)控制器的情況中,定制器允許我們設(shè)置控制頻率,選擇主自動調(diào)優(yōu)控制器等。對于自動調(diào)優(yōu)適配器230,我們可以選擇操作方式同步/異步,并允許人工設(shè)置調(diào)優(yōu)控制(在我們不想讓自動代理進行操作的情況下)。定制器270、280、290還提供一種方式把可得到的度量展現(xiàn)給用戶,從而可實現(xiàn)實時監(jiān)視。
我們現(xiàn)在提供一些具體實例說明這一框架如何能用于容易地創(chuàng)建軟件代理以控制多種計算機系統(tǒng)。為了舉例說明一個特定代理,需要如下構(gòu)件用于每個目標系統(tǒng)的自動調(diào)優(yōu)適配器以及一個(或多個)控制算法。
圖4是一個方框圖,其表示了根據(jù)本發(fā)明的一個實施示例使用單一控制方法控制單一應用的一個簡單代理。圖4所示軟件代理包括一個單一自動調(diào)優(yōu)控制器410;一個自動調(diào)優(yōu)適配器460;一個資料庫450;一個度量管理器440;一個管理員API 465;定制器470、480和490。圖4所示軟件代理與目標系統(tǒng)或其他自動調(diào)優(yōu)代理(下文中可交換地稱作“目標系統(tǒng)”或“其他自動調(diào)優(yōu)代理”)460相互作用。
對于單個目標系統(tǒng)和單個控制算法(如圖4所示)的情況,其基本代理創(chuàng)建過程將在下文中針對圖8加以說明。
通過簡單地用新目標系統(tǒng)的適配器構(gòu)件代替當前的適配器構(gòu)件,可以將使用同一控制算法的同一代理用于另一個不同的目標系統(tǒng)。這使得能再次使用現(xiàn)有的知識。類似地,能通過替換控制器模塊容易地改變控制算法。
圖5是一個方框圖,其表示了根據(jù)本發(fā)明的一個實施示例在單一代理中如何能包括多重控制策略。
圖5所示軟件代理包括一個主自動調(diào)優(yōu)控制器510;一個或多個從屬自動調(diào)優(yōu)控制器(下文中統(tǒng)稱“從屬自動調(diào)優(yōu)控制器”)520;一個自動調(diào)優(yōu)適配器560;一個資料庫550;一個度量管理器540;一個管理員API565;定制器570、580和590。圖5所示軟件代理與一個目標系統(tǒng)或另一個自動調(diào)優(yōu)代理(下文中可交換地稱作“目標系統(tǒng)”或“其他自動調(diào)優(yōu)代理”)560相互作用。這里,主自動調(diào)優(yōu)控制器510實現(xiàn)頂級控制策略,它利用多個較低級控制策略計算控制值。這一代理可以如下文中針對圖8所作描述那樣創(chuàng)建。
圖6是一個方框圖,其描繪了根據(jù)本發(fā)明的一個實施例的層次控制配置。這里,“US自動調(diào)優(yōu)代理”640依次調(diào)用“東海岸”620和“西海岸”630自動調(diào)優(yōu)代理,而這些代理又依次調(diào)用它們的下屬640、650、660、670。下屬640、650、660和670分別控制/管理應用1 681、應用2 682、應用3 683和應用4 684這些應用。這一層次結(jié)構(gòu)能通過該層次結(jié)構(gòu)每一級上的控制器來實現(xiàn)。
圖7是一個方框圖,其表示了根據(jù)本發(fā)明的一個實施示例的一個代理,它是圖6所示層次控制配置的一個部分。特別是,圖7中描繪出在該層次結(jié)構(gòu)的一個內(nèi)部節(jié)點處的一個控制器(一個主自動調(diào)優(yōu)層次控制器710)。在該實施例中,指出這一點是有意義的對于較高級別的代理,該目標系統(tǒng)是若干較低級代理之一;自動調(diào)優(yōu)代理適配器730使這種遞歸關(guān)系成為可能,適配器730提供到另一個自動調(diào)優(yōu)代理760的標準適配器接口。這一實例說明我們的框架的完全通用性,并且說明我們能容易地使用這同一框架構(gòu)造復雜的代理和控制器鏈。除了主自動調(diào)優(yōu)層次結(jié)構(gòu)控制器710、自動調(diào)優(yōu)適配器730以及另一自動調(diào)優(yōu)代理760外,圖7所示實施例還包括一個或多個從屬自動調(diào)優(yōu)控制器(下文中稱“從屬自動調(diào)優(yōu)控制器”)720;一個資料庫750;一個度量管理器740;一個管理員API 765;以及定制器770、780和790。
圖8是一個流程圖,其說明了根據(jù)本發(fā)明的一個實施例創(chuàng)建一個自動調(diào)優(yōu)軟件代理的方法。應該理解,圖8所示方法的一些步驟針對自動調(diào)優(yōu)代理的某些部件表述為“指定/創(chuàng)建”。這允許用戶根據(jù)用戶需要和要對目標系統(tǒng)進行的調(diào)優(yōu)來或者創(chuàng)建該部件或者使用當前存在的部件。
一個或多個自動調(diào)優(yōu)適配器被指定/創(chuàng)建(步驟820)。然后確定該代理是否要利用不只一個控制策略或控制算法(步驟830)。如果是,則1到N個(N≥2)自動調(diào)優(yōu)控制器被指定/創(chuàng)建(步驟840),然后方法進入步驟860。否則,單個自動調(diào)優(yōu)控制器被指定/創(chuàng)建(步驟850),然后方法進入步驟870。
在步驟860和870,通過一個或多個定制器,控制參數(shù)被選擇/產(chǎn)生。步驟860和870二者都可包括選擇參數(shù),如控制器頻率、同步/異步方式、日志記錄的度量等。然而,步驟860必須包括從1到N個自動調(diào)優(yōu)控制器當中選擇一個主自動調(diào)優(yōu)控制器。
應該理解,本發(fā)明提供一個通用的自動調(diào)優(yōu)系統(tǒng)。有利地,本發(fā)明不需要專家把一個目標系統(tǒng)的詳細知識納入到調(diào)優(yōu)系統(tǒng)中。相反,本發(fā)明可以學習該目標的性能特性。這可以包括當目標系統(tǒng)的先驗知識可用、可靠和可持久時,使根據(jù)本發(fā)明的通用自動調(diào)優(yōu)系統(tǒng)利用這種知識。
盡管這里已經(jīng)參考附圖描述了實施示例,但應該理解,本系統(tǒng)和方法不限于那些精確的實施例,本領(lǐng)域技術(shù)人員可實現(xiàn)各種其他變化和修改而不脫離本發(fā)明的精神和范圍。所有這些變化和修改都被包括在所附權(quán)利要求定義的本發(fā)明范圍之內(nèi)。
權(quán)利要求
1.一種對一個或多個目標系統(tǒng)自動調(diào)優(yōu)的調(diào)優(yōu)系統(tǒng),包括一個度量管理器,用于管理對應于一個或多個目標系統(tǒng)的至少一組度量;一個或多個控制器,用于根據(jù)所述的至少一組度量實現(xiàn)一個或多個控制策略,所述的一個或多個控制策略獨立于所述的一個或多個目標系統(tǒng)中任何一個系統(tǒng)的特定體系結(jié)構(gòu);以及一個或多個適配器,用于針對所述的一個或多個控制策略提供與所述的一個或多個目標系統(tǒng)的接口,所述的一個或多個適配器中至少有一個適配器是專用于所述的一個或多個目標系統(tǒng)中的一個相應系統(tǒng)的。
2.權(quán)利要求1的調(diào)優(yōu)系統(tǒng),其中所述的一個或多個控制策略中的每一個策略對應于一個單獨的計算機程序。
3.權(quán)利要求1的調(diào)優(yōu)系統(tǒng),進一步包括至少一個定制器,用于接收用戶輸入以定制所述度量管理器、所述一個或多個控制器以及所述一個或多個適配器中的至少一個,所述的至少一個定制器是一個圖形用戶接口。
4.權(quán)利要求3的調(diào)優(yōu)系統(tǒng),其中所述定制器接收用戶輸入,以便為所述度量管理器、所述一個或多個控制器以及所述一個或多個適配器中的至少一個設(shè)置缺省值。
5.權(quán)利要求3的調(diào)優(yōu)系統(tǒng),其中所述定制器接收用戶輸入以選擇所述一個或多個適配器中的若干個適配器,這些適配器將用于針對一個或多個目標系統(tǒng)中的一個給定目標系統(tǒng)的調(diào)優(yōu)系統(tǒng)的一種給定應用中。
6.權(quán)利要求3的調(diào)優(yōu)系統(tǒng),其中所述定制器接收用戶輸入以選擇所述一個或多個適配器中的一個或多個類型,這些類型的適配器將用于針對一個或多個目標系統(tǒng)中的一個給定目標系統(tǒng)的調(diào)優(yōu)系統(tǒng)的一種給定應用中。
7.權(quán)利要求3的調(diào)優(yōu)系統(tǒng),其中所述定制器接收用戶輸入以選擇所述一個或多個控制器中的若干個控制器,這些控制器將用于針對一個或多個目標系統(tǒng)中的一個給定目標系統(tǒng)的調(diào)優(yōu)系統(tǒng)的一種給定應用中。
8.權(quán)利要求3的調(diào)優(yōu)系統(tǒng),其中所述定制器接收用戶輸入以選擇所述一個或多個控制器中的一個或多個類型,這些類型的控制器將用于針對一個或多個目標系統(tǒng)中的一個給定目標系統(tǒng)的調(diào)優(yōu)系統(tǒng)的一種給定應用中。
9.權(quán)利要求1的調(diào)優(yōu)系統(tǒng),其中所述一個或多個控制器包括一個主控制器,用于解決所述的一個或多個控制策略之間的沖突。
10.權(quán)利要求1的調(diào)優(yōu)系統(tǒng),其中該組度量包含只讀度量和讀/寫度量。
11.權(quán)利要求10的調(diào)優(yōu)系統(tǒng),其中所述一個或多個適配器直接從一個或多個目標系統(tǒng)得到只讀度量的最新值。
12.權(quán)利要求10的調(diào)優(yōu)系統(tǒng),其中所述一個或多個適配器設(shè)置所述的一個或多個目標系統(tǒng)上的讀/寫度量的對應值。
13.權(quán)利要求1的調(diào)優(yōu)系統(tǒng),其中所述度量管理器有能力添加、刪除和列出所述的至少一組度量。
14.權(quán)利要求1的調(diào)優(yōu)系統(tǒng),其中該調(diào)優(yōu)系統(tǒng)有能力調(diào)用其他調(diào)優(yōu)系統(tǒng),以形成針對所述的一個或多個目標系統(tǒng)的一個具有層次結(jié)構(gòu)的調(diào)優(yōu)系統(tǒng)。
15.權(quán)利要求14的調(diào)優(yōu)系統(tǒng),其中該調(diào)優(yōu)系統(tǒng)與其他調(diào)優(yōu)系統(tǒng)合作操作以實現(xiàn)所述的一個或多個控制策略。
16.權(quán)利要求1的調(diào)優(yōu)系統(tǒng),進一步包括一個管理員應用編程接口(API),用于指定所述的一個或多個目標系統(tǒng)的服務水平要求。
17.權(quán)利要求1的調(diào)優(yōu)系統(tǒng),進一步包括一個管理員應用編程接口(API),用于監(jiān)視該調(diào)優(yōu)系統(tǒng)的操作。
18.權(quán)利要求1的調(diào)優(yōu)系統(tǒng),其中所述度量管理器能接收一個輸入,該輸入指定所述的至少一組度量中的至少一個將被存儲的度量子集。
19.權(quán)利要求1的調(diào)優(yōu)系統(tǒng),其中該一個或多個控制器中有不只一個控制器用于針對一個或多個目標系統(tǒng)中的一個給定目標系統(tǒng)的調(diào)優(yōu)系統(tǒng)的一種給定應用中。
20.權(quán)利要求1的調(diào)優(yōu)系統(tǒng),其中所述的一個或多個控制器中至少有一些是模塊化的并且能被從該調(diào)優(yōu)系統(tǒng)中刪除、修改或替換。
21.權(quán)利要求1的系統(tǒng),其中所述的一個或多個適配器中至少有一些是模塊化的并且能被從該調(diào)優(yōu)系統(tǒng)中刪除、修改或替換。
22.權(quán)利要求1的調(diào)優(yōu)系統(tǒng),進一步包括一個用于以日志記錄度量的改變的共享的實用工具。
23.一種對一個或多個目標系統(tǒng)自動調(diào)優(yōu)的方法,包括如下步驟管理對應于一個或多個目標系統(tǒng)的至少一組度量;提供一個或多個控制器,用于根據(jù)所述的至少一組度量實現(xiàn)一個或多個控制策略,所述的一個或多個控制策略獨立于所述的一個或多個目標系統(tǒng)中任何一個系統(tǒng)的特定體系結(jié)構(gòu);提供一個或多個適配器,所述適配器用于針對所述的一個或多個控制策略提供與一個或多個目標系統(tǒng)的接口,所述的一個或多個適配器中至少有一個專用于所述的一個或多個目標系統(tǒng)中的一個相應系統(tǒng);以及使用所述一個或多個適配器自動地與所述的一個或多個目標系統(tǒng)接口,以針對所述一個或多個目標系統(tǒng)實現(xiàn)所述一個或多個控制策略。
24.權(quán)利要求23的方法,其中所述提供一個或多個控制器的步驟包括從多個控制器中選擇所述的一個或多個控制器的步驟。
25.權(quán)利要求23的方法,其中所述提供一個或多個適配器的步驟包括從多個適配器中選擇所述的一個或多個適配器的步驟。
全文摘要
本發(fā)明描述了一種用于構(gòu)建和實現(xiàn)對計算機系統(tǒng)和應用進行自動調(diào)優(yōu)的通用軟件代理方法和系統(tǒng)。該框架定義了模塊和接口以允許以模塊化方式創(chuàng)建代理。目標系統(tǒng)(260)的細節(jié)被適配器(230)獲得,適配器(230)提供到目標系統(tǒng)(260)的統(tǒng)一接口。該代理中的數(shù)據(jù)由度量管理器(240)管理,而控制器模塊實現(xiàn)所希望的控制算法。模塊化結(jié)構(gòu)和通用接口允許構(gòu)建可應用于多種目標系統(tǒng)和能使用多種控制算法的通用代理。
文檔編號G06F7/00GK1552019SQ03800962
公開日2004年12月1日 申請日期2003年1月29日 優(yōu)先權(quán)日2002年1月29日
發(fā)明者J·P·比格斯, J P 比格斯, J·L·赫勒斯坦, 赫勒斯坦, S·帕雷克, 卓, J·R·皮爾格林, 皮爾格林, D·A·施洛斯奈格爾, 施洛斯奈格爾, M·S·斯奎蘭特, 斯奎蘭特, J·S·薩撒查爾, 薩撒查爾 申請人:國際商業(yè)機器公司