網格服務的未來
網格服務目前正以爆炸式增長勢頭向前發展。但是我們該如何選擇網格解決方案呢?您正在考慮相關的標準、Web 服務相容性、開發環境相容性等問題嗎?這一切是否只是一場騙局?有關網格服務和平台的訊息如此眾多,又相互矛盾,人們很難看出某個公司是提供服務,還是提供構建服務的工具箱。在本文中,我們將研究一下目前可用的多種網格開發平台,並介紹一些提供實用網格服務的項目與公司。
網格概述
我們都知道,電腦在大多數時間中都是閒置,它無所事事,只是在裝置之間來回傳送電子,然後顯示最新的螢幕保護裝置程式。這些電腦在消耗能量,但是實際上它的處理器中並沒有產生任何有用的事件或資訊。據估計,一台電腦用來執行重要處理任務的時間少於其處理能力的 5%。甚至大多數伺服器只使用了其 15% 以下的處理能力來滿足使用者的需要,剩下的伺服器時間(CPU、RAM、硬碟等等)仍然空閑著未被使用。
於是,網格服務出現了。但是網格中到底有些什麼東西,居然能協助我們在我們自己的項目中利用這些未被使用的資源?我們又應該如何使用網格技術,才能從我們在裝置上的投資中獲得更大的收益。
網格服務今天僅僅是一種用於搜尋外太空生命的工具,它的未來取決於我們用目前的技術與服務對其進行宣揚、促進和擴充。
我們需要研究兩個系統,其一是開發平台,可以使我們開發與部署網格技術,其二是已有的網格服務,我們可以用這些服務來支援自己的網格項目。
網格開發平台
當我們選擇開發平台的時候,需要研究的一個關鍵特性就是是否與開放網格服務架構(Open Grid Services Architecture,OGSA)及與之相伴的開放網格服務基礎設施(Open Grid Services Infrastructure,OGSI)相相容。這些標準通過設定一些特定的參數,使不同的網格服務之間能夠進行互動,並使您能夠用多種不同的工具箱來設計和開發應用程式,這些應用程式之間也能夠相互對話。
即使與 OGSI/OGSA 不相容,我們還可以考慮其他一些特性,比如有哪些部署選項。如果您在開發自己公司內部使用的網格,那麼最好不要選擇與已有硬體裝置不相容的解決方案。
還有一個問題值得考慮,即系統是否能長久使用,是否具有靈活性。開放原始碼的解決方案吸引力更大一些,因為這樣您就能通過對原始碼進行修改和擴充,來擴充系統的功能。即便您不能訪問到原始碼,如果系統的可擴充性很好,或是可以與多種來源程式語言一起使用,那也是不錯的。
主要的網格開發工具箱包括:
IBM Grid Toolbox,這個工具箱基於 Globus Toolkit(稍後介紹),是一套非常容易安裝的網格開發工具。人們在 Globus Toolkit 中擴充了文檔,並專門為運行 AIX 或 Linux 的 IBM eServer 硬體系統開發定製的指令碼與組件。這個工具箱的主要目標是計算網格,所謂計算網格就是將獨立的計算任務分割成若干規模較小的工作單元組,並單獨進行處理。
Globus Toolkit 是第一個支援 OGSA 3.0 版的通用工具箱。Globus 是第一個用於開發網格應用程式的通用工具箱,其中的組件可以在多種不同的網格系統中使用。作為系統靈活性的部分體現,Globus 工具箱提供了一組連接器(稱為 Commondity Grid Kits),這使我們能夠在 Java、Python 以及 Perl 的應用程式中使用 Globus 系統。
OGSI.NET 是用 Microsoft.NET 技術實現的 OGSA/OGSI 標準,可以在已有的 Windows 系統上運行網格系統。
Python Extension for the Grid 是專門用於 Python 的網格實現,與 OGSA/OGSI 並不相容,但是它確實能夠提供一種靈活的網格應用程式開發環境。Python 具有跨平台相容性,因此能夠在一種通用代碼的基礎上跨越多種不同的平台來部署應用程式,而且,因為這個工具是開放原始碼的,所以您可以對代碼進行修改和更新,以適應您自己的需求。
所有這些工具箱都必須證明自己要麼能夠依賴於標準,要麼具備足夠的靈活性,能夠延長您的設計和網格解決方案的生命期。
網格開發公司
很多公司都提供網格服務或平台,但它們或多或少都不能滿足您的計算需求。一些產品是工具箱、一些產品是硬體,或者兩者都是。您可以在一個相對較短的時間內用這些產品來支援您的網格項目。另一些產品是可以啟動並執行網格平台,其中包括一些已經存在的客戶機(網格提供者),可以為您切實提供所需的計算力。
一般說來,這些服務的設計方式是用基於 Internet 的客戶機來提供計算力,通常情況下,公司和服務提供者可以提供成千上萬,或數十萬,甚至數百萬的潛在 CPU 資源,用來支援您的計算需求。
然而,有些服務的設計僅供自己企業內部環境中安裝,用自己的空閑計算力來進行計算。這顯然受到組織內計算力的限制。如果您只具有幾百或者幾千台機器,那麼網格中的總計算力顯然比基於 Internet 的服務所能提供的計算力差很多。
在這種情況下,一種解決方案是使用現成的工具箱,利用專門的軟體和硬體,提供網格平台和計算力。少數公司能提供這種服務,通常這些服務能夠適應該公司提供的更加靈活的計算服務。這些服務的靈活性表現在,我們可以通過釋放或者購買裝置,向網格中增加新的電腦,從而擴充網格的計算力。
這一領域的參與者包括:
IBM:IBM 提供的產品不僅限於構建和部署網格服務的工具箱。IBM 更是率先開展了一系列項目,為特定計算問題領域提供網格服務和建議,如研發、工程與設計、業務分析等等。IBM 目前正在將網格技術與特性整合到它的一些產品線中,其中就包括 DB2 和 WebSphere。像 WebSphere 這樣的 Web 開發產品,將會在 2003 年底實現與網格技術的結合。IBM 還致力於研究基於網格的儲存產品,使資訊能夠在網格上傳播,而不是隔絕於少數特定的伺服器上,這樣就減緩了單伺服器解決方案中經常發生的負載和瓶頸問題。網格技術還是 IBM 隨需應變戰略的核心組件。這一戰略構建在 IBM eServer 技術之上,用刀片式伺服器提供計算力。刀片式伺服器是一种放置在卡片上的超小型電腦,可以配置在一個典型的 19# 架上,從而實現一種密度非常高的計算力。通過使用網格技術,我們可以將刀片伺服器網路看作一種單一的、異常快速的資源來操作。因為刀片架很容易升級,也很容易通過增加新的伺服器來擴充,所以這些伺服器只是一個強大的網格中的額外計算資源。這樣,公司就可以很容易實現計算力的升級,即便是臨時性的升級,而不用重新構建、配置和開發電腦所使用的軟體。
Parabon:Parabon 生產的系統名字叫做 Frontier,其計算引擎名叫 Pioneer。這是一種通用的計算平台,使用 Java 技術作為用戶端環境,這樣,Pioneer 就可以在多種不同的環境中得到支援,不過目前該系統僅僅支援 Windows 和 Linux。Frontier 系統提供的提交和管理系統可以接受所提交的工作,並將工作重新分配給獨立的 Pioneer 客戶機。一旦客戶機完成了分配給它們的工作單元,就將資訊發送回 Frontier 伺服器,用於和其他的結果進行比較。Parabon 作為一種面向福士的的服務,具備大量可用的機器,可以滿足您的計算需求。目前,在伺服器一端,Frontier 引擎提供廣泛的監視和報告功能,使新任務的提交和對已有任務項目處理過程的研究變得極為容易。您還可以對工作進行優先順序排序,以便更好地控制網格中特定項目的流程。在安全性方面,資訊的交換是在 Frontier 伺服器和 Pioneer 客戶機組件之間,通過加密的通道完成的。在一個單獨的客戶機上,我們可以擷取到相關的狀態資訊。Paradon 的報告機制實際上是十分精確的,可以根據每一個單獨的客戶機所提供的計算時間,為其支付費用。儘管這項特性目前沒有使用,但是在將來,這一點可能導致公司出於明確的盈利目的向網格提供計算力。
United Devices:United Devices 基於網格技術,提供一組不同的解決方案,既包括內部的、企業級的網格解決方案,也包括基於 Internet 的格線運算方案。他們已經安裝了大量基於 Internet 的客戶機(截至 2003 年 7 月,大約有 180 萬台 PC),並且已經開始為若干個不同的項目和客戶機提供計算力。該公司的 Grid MP Enterprise 是一種企業級解決方案,可以在多種客戶機(案頭電腦與筆記本)、工作站 以及伺服器上部署。該系統用於提交任務的前端非常靈活,是計算性計算問題的傑出解決方案。Grid MP on Demand 利用了 United Devices 的網格平台,這個平台可以供中小型公司使用,其使用方式是按照項目劃分的。這樣,客戶機就可以向網格基礎設施提交項目,而不用擔心 Internet 上的安全隱患,也不會碰到自己內部網路中的負載和系統需求不能滿足的問題。Grid MP Global 是該公司基於 Internet 的項目。目前一些研究分析人員正用該系統進行蛋白質合成之類的工作。
許多這樣的服務目前已經開始運行。還有一些正處於開發、調研、改進階段。不過,這些服務表明,網格技術在逐漸成為主流。
結束語
就現在這些技術來看,網格服務的未來是十分健康的。隨著更多的公司開始提供易用靈活的網格服務,越來越多的人會利用網格服務,並提供他們自己的網格服務。在獨立的客戶機上精確監視組件執行情況的能力也很具有吸引力,因為有很多公司想把自己已經具備的計算力資源提供給其他的網格項目。比如說,假使大公司具有幾千台閒置機器,他們就可以將自己的計算力賣掉,通過給科學研究和其他 CPU 密集型任務提供 CPU 資源,從網格技術的應用中賺到錢。
隨著在開發實現網格服務的過程中引入 OGSA/OGSI 標準,網格服務的使用和可用性將在今後幾年之內急劇增長。
參考資料
有關為網格環境啟用應用程式的更多資訊與詳細討論,請參閱 IBM 紅皮書“通過 Globus 啟用應用程式的格線運算功能”。
IBM 格線運算網站的網址為 http://www.ibm.com/grid。
有關 Globus Project 的詳細資料,請訪問 http://www.globus.org。
有關轉向標準化平台上的資訊,請參閱 developerWorks 的文章“格線運算 —— 邁向標準化平台” 。
要瞭解 OGSA 標準及其工作原理,請參閱 developerWorks 的文章 “開放網格服務架構之旅 ”
有關 United Devices 網格解決方案的更多細節,請訪問 http://www.ud.com/solutions/。
與 Python Extensions for the Grid 有關的資訊,可以從 http://grail.sdsc.edu/projects/peg/ 上找到。
有關 IBM eServer 及其在網格環境中的應用,請訪問 http://www-132.ibm.com/content/home/store_IBMPublicUSA/en_US/eServer/eServer.html。
Parabon 的 Frontier 與 Pioneer 組件在 Parabon Web 網站上有更詳細的描述,網址為 http://www.parabon.com。
Parabon 與 Pioneer 客戶機可以從 http://www.parabon.com 上找到。