盛蒙蒙 羅 維 葛亦斌 邱 燁
[摘要]機(jī)群技術(shù)從上個世紀(jì)90年代初提出到現(xiàn)在,經(jīng)過十幾年的發(fā)展,已經(jīng)逐漸成為一種比較成熟的技術(shù)。機(jī)群體系結(jié)構(gòu)具有高的性能價格比、良好的系統(tǒng)伸縮性、高可用性、易管理性和易使用性,因此,它已成為構(gòu)建高性能計算機(jī)的最通用的途徑。而機(jī)群操作系統(tǒng)是機(jī)群的核心。就機(jī)群系統(tǒng)的操作系統(tǒng)進(jìn)行分析、討論,使了解和認(rèn)識機(jī)群系統(tǒng)的操作系統(tǒng),為今后更好的應(yīng)用機(jī)群、及時排除機(jī)群故障奠定基礎(chǔ)。
[關(guān)鍵詞]機(jī)群操作系統(tǒng)核心映像
中圖分類號:TP3文獻(xiàn)標(biāo)識碼:A文章編號:1671-7597(2009)1110076-01
一、引言
機(jī)群是一組物理上通過高速互連網(wǎng)連接在一起的計算機(jī)集合,通過附加的機(jī)群系統(tǒng)軟件,互相協(xié)作,作為一個整體對外提供服務(wù)。隨著機(jī)群系統(tǒng)規(guī)模的增大,節(jié)點數(shù)目的增多,機(jī)群系統(tǒng)整體的可靠性會相應(yīng)降低,故障的發(fā)生不可避免。同時,隨著機(jī)群應(yīng)用日益普及尤其是機(jī)群上商業(yè)應(yīng)用服務(wù)的迅速發(fā)展,人們對機(jī)群系統(tǒng)的可用性提出了更高要求。
為了提高機(jī)群系統(tǒng)上應(yīng)用運行的可靠性和連續(xù)性,作為用戶、應(yīng)用開發(fā)者和系統(tǒng)管理員提供單一系統(tǒng)映像支撐的機(jī)群操作系統(tǒng)必須具有對機(jī)群應(yīng)用提供高可用服務(wù)的功能,同時其自身也應(yīng)是一個可修復(fù)的高可用系統(tǒng)。
二、機(jī)群系統(tǒng)操作的概念和組成
機(jī)群操作系統(tǒng):機(jī)群操作系統(tǒng)建立在節(jié)點操作系統(tǒng)基礎(chǔ)之上,是機(jī)群中最基本的一個系統(tǒng)軟件集。
機(jī)群操作系統(tǒng)支持系統(tǒng)的單一系統(tǒng)映象、可用性、并行性、通信和負(fù)載平衡。并可以實現(xiàn)對機(jī)群資源的配置、管理、調(diào)度、控制和監(jiān)視,同時提供使用機(jī)群所必需的環(huán)境和工具。機(jī)群操作系統(tǒng)是機(jī)群實現(xiàn)對外提供服務(wù)的途徑。一個較為完備的機(jī)群操作系統(tǒng)應(yīng)該至少具備以下的功能:系統(tǒng)配置、任務(wù)管理、應(yīng)用管理、系統(tǒng)管理、系統(tǒng)監(jiān)控、文件管理、用戶編程環(huán)境和并行文件系統(tǒng)。
三、機(jī)群操作系統(tǒng)的發(fā)展趨勢
隨著機(jī)群規(guī)模的不斷擴(kuò)大,應(yīng)用領(lǐng)域的不斷拓展,一體化成為了機(jī)群操作系統(tǒng)的發(fā)展趨勢,而構(gòu)件技術(shù)成為了構(gòu)造一體化機(jī)群操作系統(tǒng)的主要技術(shù)。
早期研制的機(jī)群操作系統(tǒng)一般都采用從基本的通訊到上層的服務(wù)全部由開發(fā)者自主設(shè)計和實現(xiàn)。機(jī)群操作系統(tǒng)的軟件基本上是獨立、分離的,各軟件只實現(xiàn)一個或有限的幾個功能,如作業(yè)管理軟件、系統(tǒng)監(jiān)控軟件等。當(dāng)用這些軟件構(gòu)造機(jī)群服務(wù)器時,會導(dǎo)致如下問題的出現(xiàn):
(1)功能冗余,系統(tǒng)龐雜,效率低。(2)各軟件難以實現(xiàn)彼此的互操作。(3)缺少一致的系統(tǒng)概念,各軟件間有不一致情況出現(xiàn)。(4)缺少通用性。
目前有許多采用一體化設(shè)計的機(jī)群操作系統(tǒng)軟件。為了實現(xiàn)一體化設(shè)計,構(gòu)件技術(shù)被引入機(jī)群操作系統(tǒng)的構(gòu)造中。構(gòu)件化機(jī)群操作系統(tǒng)就是采用構(gòu)件技術(shù)構(gòu)造機(jī)群操作系統(tǒng)。系統(tǒng)中各功能子系統(tǒng)或模塊被封裝成不同的構(gòu)件對外提供服務(wù),構(gòu)件間可以實現(xiàn)彼此位置透明的交互。構(gòu)件化機(jī)群操作系統(tǒng)是一個集成的、一體化的系統(tǒng)。用構(gòu)件化方式構(gòu)造機(jī)群操作系統(tǒng)可以有效地減少機(jī)群操作系統(tǒng)軟件在功能上的冗余,模塊間的沖突,并實現(xiàn)軟件間的互操作性和軟件的通用性。
四、機(jī)群操作系統(tǒng)軟件組成
從機(jī)群操作系統(tǒng)構(gòu)造的角度,機(jī)群操作系統(tǒng)的軟件框架分為兩層,第一層是機(jī)群操作系統(tǒng)核心,它定義了滿足用戶核心需求的最小功能子集。第二層是機(jī)群操作系統(tǒng)用戶使用環(huán)境,它是用戶使用機(jī)群資源完成特定目標(biāo)的途徑。
(一)機(jī)群操作系統(tǒng)核心
機(jī)群操作系統(tǒng)核心為上層子系統(tǒng)提供穩(wěn)定而健壯的構(gòu)造塊(building block)并以服務(wù)的方式為上層提供統(tǒng)一語義的不同形式的接口(如Socket、RPC和ORB等)。因此機(jī)群操作系統(tǒng)核心是一個基于構(gòu)件構(gòu)造的服務(wù)集合,為構(gòu)造用戶使用環(huán)境中的構(gòu)件提供公共服務(wù)和基礎(chǔ)設(shè)施。
機(jī)群操作系統(tǒng)核心包括:組服務(wù)、檢查點服務(wù)、事件管理服務(wù)、數(shù)據(jù)公告服務(wù)、并行加載服務(wù)、偵測服務(wù)、配置服務(wù)、安全服務(wù)。
(二)機(jī)群操作系統(tǒng)用戶使用環(huán)境
機(jī)群操作系統(tǒng)用戶使用環(huán)境包括:控制中心、配置中心、作業(yè)管理子系統(tǒng)、并行編程環(huán)境、應(yīng)用管理子系統(tǒng)、系統(tǒng)管理與監(jiān)控子系統(tǒng)等。機(jī)群操作系統(tǒng)用戶使用環(huán)境是機(jī)群操作系統(tǒng)同用戶的交互的界面,為用戶了解機(jī)群當(dāng)前的狀態(tài)和配置信息、提交并運行科學(xué)計算任務(wù)和商業(yè)應(yīng)用軟件運行任務(wù)、進(jìn)行科學(xué)計算開發(fā)以及進(jìn)行系統(tǒng)的部署和引導(dǎo)提供可視、智能和高可用的服務(wù)。
五、機(jī)群操作系統(tǒng)的高可用性
為了保證機(jī)群操作系統(tǒng)提供高可用服務(wù),必須保證提供高可用服務(wù)的相關(guān)構(gòu)件是高可用的,同時機(jī)群操作系統(tǒng)核心的配置服務(wù)雖然沒有提供高可用服務(wù),但是由于核心的其他構(gòu)件依賴于配置服務(wù)構(gòu)件,所以配置服務(wù)需要保證高可用性。從而,也能看出機(jī)群操作系統(tǒng)核心是滿足用戶核心需求的最小功能子集。
六、核心構(gòu)件高可用實現(xiàn)方案
解決構(gòu)件的高可用問題有兩種方案:一種是構(gòu)件的高可用自己負(fù)責(zé),也就是說每個構(gòu)件都要設(shè)計和實現(xiàn)自己的高可用部分,這種設(shè)計在構(gòu)件很少時比較適合,它可以有效地提高每個構(gòu)件服務(wù)的自治能力,使系統(tǒng)形式上更加簡單,調(diào)試更加方便。但這種方案在系統(tǒng)核心構(gòu)件增多時就會造成很大的功能冗余,系統(tǒng)功能下降。并且,這個方案也不符合構(gòu)件服務(wù)設(shè)計的思想,它把和構(gòu)件服務(wù)本身功能邏輯不相關(guān)的高可用功能強(qiáng)行的加到每個構(gòu)件中,違背了構(gòu)件功能獨立的設(shè)計思想。另一種就是提出一種服務(wù)構(gòu)件,由它來負(fù)責(zé)機(jī)群操作系統(tǒng)其他構(gòu)件的高可用。這樣把高可用從其它每個構(gòu)件中抽離出來,以一種公共服務(wù)的形式提供給集群中的其他構(gòu)件,不但能提高整個系統(tǒng)的工作效率,使構(gòu)件的功能更加細(xì)化,也為以后系統(tǒng)的升級、服務(wù)構(gòu)件的增加帶來了方便。因為機(jī)群操作系統(tǒng)中所有的構(gòu)件服務(wù)都可以依賴它來實現(xiàn)自身的高可用了。
七、結(jié)束語
隨著機(jī)群系統(tǒng)的發(fā)展,機(jī)群的應(yīng)用領(lǐng)域已經(jīng)從科學(xué)計算領(lǐng)域擴(kuò)展至商業(yè)計算領(lǐng)域。不論科學(xué)計算領(lǐng)域還是商業(yè)計算領(lǐng)域,都對機(jī)群系統(tǒng)的可用性具有較強(qiáng)的需求。了解機(jī)群的操作系統(tǒng)對機(jī)群的深一步學(xué)習(xí)是有幫助的。
參考文獻(xiàn):
[1]王磊,機(jī)群操作系統(tǒng)高可用服務(wù)研究[D].中國科學(xué)院研究生院(計算技術(shù)研究所),2006.
[2]孫凝暉、劉淘英,支持網(wǎng)格的機(jī)群操作系統(tǒng)的設(shè)計[J].計算機(jī)研究與發(fā)展,2002,(08).