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