分布式計算管理及SUN Grid Engine
隨著科學技術的發展,以及人們對新的更高目標的探索和追求,科學和生產領域對計算機的計算能力不斷地提出更高的要求,和計算能力的增長相比好像總在進行著 一場永無止境的競賽。例如,更高集成度的集成電路設計、更精致的三維動畫電影是在相關領域競爭中成功的需要,而在具體的設計生產方面更高的要求是如何在縮 短產品周期,降低總體的成本。高性能的大型專用計算機產品是非常昂貴的,而由大量小型計算機組成的計算“農場”卻能夠大大降低投資的前提下,提供近乎無限 的計算能力擴展。采用同樣的思路,我們甚至可以利用桌面工作站交互式應用的非持續性,從而使用那些工作站或PC的“剩余”計算資源。例如,工作站的平均使 用率為5%~20%。這些工作站計算資源在夜晚和周末尤其被閑置,這些資源對于那些可以用批處理方式完成而對計算資源又非常需要的應用來講無疑是為開采的 金礦了。我們必須采取一種辦法,利用小型計算機和工作站的計算能力完成更多的生產計算任務,從而使產品的周期和產品的成本都降到最低。
Sun Grid Engine軟件是用來在一個分布式環境里優化利用軟硬件資源的分布式計算管理軟件,它能夠聚合在一個專用的計算機“農場”中,或是一些大型的網絡服務 器,甚至于在那些桌面工作站上的所有可用的計算能力,把這些聚合起來的計算能力能夠達到以往只有超級計算機系統才能夠提供的性能,能夠滿足那些對計算資源 非常敏感的高性能計算、技術計算等領域的應用和算法程序,并且能夠給這些使用者程序一個單一的訪問點。通過分配負載給任何可用的系統計算資源的方法,可以 完成更多的工作,使計算機系統、軟件license達到最大的利用率,從而保證了我們在IT產品上的投資具有更大的回報率。
Sun Grid Engine軟件是分布式計算管理軟件Gridware家族的一部分。另外還在Sun Grid Engine軟件基礎的提供了一個增強工具“Global Resources Director(GRD)”,它進一步提供了增強的調度程序和策略管理等組件。SUN公司在2000年7月從Gridware公司收購了這兩個產品。
計算農場特點——
一個計算機“農場”是一個計算環境,它由任意數量的計算資源——工作站、服務器和存儲陣列組成,并把他們通過網絡連接在一起,同時使用特定的管理軟件管理,從而構成的可以面向所有用戶的一個單一計算整體。
一個計算機“農場”可以有由很多不同種類的計算機組成,但是單靠硬件是不能夠確定是否有足夠的計算資源可用的,盡管常常這些單獨的硬件本身并沒有滿負荷運 行。因此我們就需要管理軟件——例如Sun Grid Engine軟件提供了一個對于這些剩余計算資源的管理,更重要的是它提供給所有用戶一個單獨的訪問點。
很多工程師都有這樣的經驗:他們常常需要在公司內部的網絡上去尋找一個滿足相應的軟硬件環境要求、可用的、高性能的、可靠運行的系統來支持他們的本來在自 己PC上需要很長時間才完成的計算工作。這個過程是完全手動的、需要花費工程師的大量時間,工程師們所需要的是更快的看到結果,以了解剛完成的芯片設計是 否存在問題,或是軟件盡快編譯完成以便進行測試。工程師們不希望花費大量的時間在尋找最好的計算資源上去,他們不希望從一臺單獨的系統到另一臺單獨的系統 之間進行耗時的尋找,最佳的方式是他們只需面對一個單一的訪問點——Sun Grid Engine軟件,剩下的在分布的工作站或服務器系統上尋找可用的資源并監督工作的完成就全部交給它來執行。就像任何有一個英明統帥的的軍隊可以發揮強大 的戰斗力一樣,有了Sun Grid Engine軟件,分布在網絡上的計算機就構成了一臺邏輯上的大規模、高性能的計算機了。
Sun Grid Engine軟件結構和特點——
負載管理的概念已經存在了很多年了,尤其是在那些大型計算機時代,字符終端用戶向大型計算機提交計算任務,大型機的操作系統將這些任務放在計算批處理隊列 當中,等待合適的資源或排出相應的優先等級為相應的工作進行服務。由于計算機的昂貴和計算能力的有限,必須對負載和計算機進行詳盡的資源管理,才能夠滿足 為相應的用戶提供其所需的服務水準的要求。
隨后的負載管理概念,有了較大的改變,尤其是在分布式計算和網絡的出現。但是其最基本的機制仍然是“批處理隊列”,在一個分布式集群中,如果某項工作所需 的資源目前不可用,那么這項工作將被派到一個隊列當中,等待分布式管理軟件對其進行調度。分布式管理軟件監控著集群中的計算機,看它們的資源是否能夠滿足 隊列中某項工作的執行,這使得所有的計算機系統都不會發生超載或閑置的現象,起到了負載平衡的功能。
Sun Grid Engine軟件提供了下述分布式環境負載管理的基本特性:
·批處理隊列
·負載平衡
·無需重新連接應用程序
·具備在節點間的失敗切換能力,無單點失效
·工作記賬統計
·計算任務的容錯——未正常完成的任務可自動在其它主機上運行
·掛起/重新開始功能
·任務狀態顯示
·主機狀態顯示
·任務編排能力
Sun Grid Engine軟件使用多個Daemons運行在集群中的多臺計算機上,它們分別用來運行批處理任務、報告任務狀態、報告全面的機器負載等等。
Sun Grid Engine 軟件Daemon Daemon 功能 運行計算機
Execd 監視和報告某主機上的
負載 全部
Execd 監視過程信息 全部
Execd 運行批處理任務 全部
Commd 在各組件之間通信 全部
Schedd 確定批處理任務工作表 主控主機
Qmaster 分配和控制批處理工作 主控主機
Daemons運行時作為一個系統進程,因此不需要修改原來操作系統的內核。在Sun Grid Engine軟件管理之下的主機被稱作“主機”,在該軟件中,由分為幾種主機:Master(主控),execution(運行),submit(提交) 和administration(管理)主機。
Master Host
它是一臺單獨的計算機,具備以下功能:
·主控功能:服務級能力——分配任務,收集計算機負載報告,回答用戶的請求以及接收和控制批處理任務。
·工作表功能:運行級能力——持續分析未覺任務和可用資源,任務布置和掌握錯誤條件。
主控功能和工作表功能是必須具備的單確實兩類完全不同的功能,主控功能產生中斷驅動,工作表撥能應用決策算法。Schedd damon完成工作表功能,Qmaster daemon掌握主控功能。
劃分兩個功能在不同的進程有以下優點:
每個單獨的進程可以被優化
·提供更快速的響應
·快速的工作分配
·更好的伸縮性
另外,在集群中其它的主機可以被設置成為“shadow master”計算機,它可以監控在Master Host上的主控功能是否已經停止,如果是,“shadow master”計算機可以接管主控功能。以此消除了Master Host的單點失效,使整個集群具備容錯功能。
Execution Host
運行主機指那些符合條件運行的計算機,運行主機運行Commd和Execd Daemons。Execd監控在在運行主機上的負載情況,這些負載信息包括CPU負載,交換區,和內存信息。此外,任何可以被測量的負載可以被加入到負 載信息的收集機制當中。因此,某些特殊的負載信息,如某種特定的軟件License、網絡帶寬,或本地磁盤空間等等都可以被加上。這些資源能被Sun Grid Engine軟件的用戶請求。
Execution Host同時也可被配置為submit Host。
Submit Host
那些可以提交工作任務的主機被稱為submit Host。在submit Host上面沒有相應的Sun Grid Engine軟件Daemons運行。對于一個submit Host唯一的要求是它必須被加入到符合條件的提交主機列表中,這中設計主要是用來起到限制訪問Sun Grid Engine軟件功能。
Administration Host
這臺主機主要起到特殊的管理功能,例如,改變隊列參數,增加新的集群內部節點或增加或改變用戶,這些工作必須有管理員在管理主機上完成。同submit Host一樣,Administration Host上面也沒有相應的Sun Grid Engine軟件Daemons運行。對于一個submit Host唯一的要求是它必須被加入到符合條件的提交主機列表中。這樣,可以增加Sun Grid Engine軟件的安全性,例如我們可以將管理主機放在一個僅管理員可控制的安全的房間。
用戶接口和支持平臺
Sun Grid Engine軟件作為一個負載均衡的批處理系統,專門為用戶設計了一個批處理的shell軟件,Qtcsh,這允許遠程用戶的以shell的交互應用方式 透明的使用批處理系統。通過使用Qtcsh,對資源敏感的應用將會被自動送到適合的運行主機上而不需要用戶的干預。
目前Sun Grid Engine軟件可用于SUN Solaris2.6,7,8(32位和64位操作系統或linux操作系統環境。
Grid Engine 6.2 Beta 2 Binary Downloads
General Instructions for DownloadsYou can download most files by clicking on their corresponding links. In some cases, this will launch a browser's plug-in such as Adobe Acrobat for PDF files, or an archive extractor for ZIP files. If you prefer to download a file rather than viewing it with your browser's plug-in, click on the right mouse button, and select Save Link As for Netscape® or Save Target As for Microsoft® Internet Explorer to specify where the file will be saved on your system.Binaries from this page are available under the terms of a Sun Binary Code License. Grid Engine 6.2 Beta 2 Binary Download1. Download common files (necessary for all architectures)
2. Download DocumentationThe documentation and release notes for Sun[tm] Grid Engine 6.2 beta2 from Sun Microsystems is available from http://wikis.sun.com - Sun[tm] Grid Engine 6.2 Beta 2 Collection Most parts of the documentation are applicable for the courtesy binaries from the Grid Engine project site as well.3. Download platform-specific binary and data files |
4. Download ARCo files (optional)
Grid Engine ARCo package |
5. Download Service Domain Manager (optional)
Grid Engine Service Domain Manager |
6. Download source code
A tar.gz snapshot of the corresponding source code can be found in the Document and Files folder. The source code also can be checked out via CVS. See on the Announcement page the name of the CVS tag and name and link of the snapshot file for this version.posted on 2008-07-14 13:50 gembin 閱讀(1945) 評論(0) 編輯 收藏 所屬分類: 設計模式