我們準備介紹四個例子,用來說明網(wǎng)格計算的各種用法,包括在網(wǎng)格上運行生產環(huán)境、使用網(wǎng)格進行編譯、在網(wǎng)格上實現(xiàn)部分的數(shù)據(jù)存儲倉庫環(huán)境以及網(wǎng)格上的后臺辦公處理。我們知道還有更多可能的實現(xiàn)方法,但這些示例應該能夠給你足夠的啟發(fā),讓你用來啟動自己的頭腦風暴會議了。
1. 生產網(wǎng)格
第一種用法示例當然是在生產環(huán)境中使用網(wǎng)格計算了。對于那些要求實時用戶交互的應用(如SaaS公司的應用)來說,不太可能這樣使用網(wǎng)格。但對于某些IT組織來說,它們的應用中具有非常復雜的數(shù)學運算,如用于控制制造流程或航運控制等,這時網(wǎng)格計算就非常適用了。由于歷史原因,許多這樣的應用都駐留在大型機或中端系統(tǒng)中。許多技術組織都發(fā)現(xiàn),無論是從供應商還是從軟件開發(fā)的角度來看,要支持這種又大又老的機器,都是非常困難的?,F(xiàn)在越來越少有工程師知道如何在這種機器上編寫或者運行程序,也越來越少有人愿意放著Web程序開發(fā)技術不學,而學習這種技術。網(wǎng)格計算環(huán)境為這種陳舊的技術同時提供了機器的支持和軟件開發(fā)的支持。把應用從一一臺戰(zhàn)
略性硬件上遷移到運行在許多同質化硬件上的網(wǎng)格中,就能減少你對一個供應商的支持和維護的依賴性。網(wǎng)格不僅能為你制衡供應商,還可能會為你的組織極大地節(jié)省成本。同時,你應該很容易找到經(jīng)過培訓的工程師和管理員,他們知道如何運行網(wǎng)格,至少你也能找到些員工,愿意去學習一些新技術。
2.編譯網(wǎng)格
下一個示例是把網(wǎng)格計算基礎設施用作編譯機。如果你的應用在你的臺式機上編譯也只需花費幾分鐘,這樣做未免有點大材小用,但也有許多應用如果運行在一一臺主機或開發(fā)者的機器上,要編譯完整個代碼庫,可能需要幾天的時間。這時使用編譯場或網(wǎng)格環(huán)境,編譯就會變得非??旖荨>幾g很適合采用網(wǎng)格來做,因為編譯工作可以被劃分成許多子任務,而且它們都能被非順次執(zhí)行。編譯后期的工作(包括連接)開始變得比較有順次性,因此不能在網(wǎng)格上運行,但早期階段還是很適合分工的。
大多數(shù)公司每晚會編譯出一個簽人代碼的可執(zhí)行版本,這樣需要測試這個版本的人就都能夠訪問它,此外還可以確保代碼真的被編譯成功了。如果不知道簽人代碼是否被正確編譯了,那么在質量保證工程師測試這個版本之前,就需要軟件開發(fā)工程師花費幾小時(甚至幾天)的工作來修復它。如果每天都不能編譯成功,都要等到最后一步才能讓這個版本運行,這樣會給軟件開發(fā)人員造成延遲,很可能會使軟件開發(fā)人員不簽人代碼,直到最后才簽人一次,這樣會增加丟失工作成果的風險,還會在代碼中引人很多bug。每晚都編譯代碼庫中的源代碼,就能避免這些問題。晚上可以用于編譯的空閑資源是測試環(huán)境。它們通常只在白天使用,晚上可以占用它們,從而增加了編譯機器。這種CPU拾遺的概念我們之前討論過,這只是它的一種簡單實現(xiàn),能夠幫助你節(jié)省許多硬件方面的成本。
對于C、C++、Obiective C、Objective C++語言來說,要實現(xiàn)一個分布式的編譯流程,只需要運行distcc即可,正如它的站點( hp://ww/.distcc.org)所聲稱的。這是一個快速的、 免費的編譯器,只需在編譯網(wǎng)格中的所有服務器上運行istcc后臺進程,把這些服務器的名字存放到一個環(huán)境變量中,然后啟動編譯進程即可。
3. 數(shù)據(jù)倉庫網(wǎng)格
我們要介紹的下一個例子是把網(wǎng)格用作數(shù)據(jù)倉庫基礎設施的一部分。一個數(shù)據(jù)倉庫有許多組件,從主源數(shù)據(jù)庫到用戶查看的最終報告,不一而足。一個可以利用網(wǎng)格環(huán)境的部分是數(shù)據(jù)倉庫的提取一轉換一加載( ETL )過程中的轉換階段。ETL流程指的是如何從主源數(shù)據(jù)庫中提取數(shù)據(jù),然后把數(shù)據(jù)轉換為不同的形式(通常是非規(guī)范化的星型模式),再把它們加載到數(shù)據(jù)倉庫中。其中,轉換的步驟可能需要大量的計算,因此是利用網(wǎng)格計算能力的主要候選者。
轉換流程可以只是使數(shù)據(jù)非規(guī)范化,也可以是匯總幾個月來上千個交易的銷售數(shù)據(jù)。像匯總幾個月甚至一年的數(shù)據(jù)這樣需要高強度計算的處理,通常會被分解成幾塊,分配給一組計算機運行。這樣做是非常適合網(wǎng)格環(huán)境的。數(shù)據(jù)量過大通常是造成不能按照客戶或內部用戶要求按時完成作業(yè)(如ETL)處理的原因。當然,你應該考慮如何限制你要保留和處理的數(shù)據(jù)量,但你所希望得到達到流量猛增,也可能會導致大量的數(shù)據(jù)增長。一個解決方案就是為ETL實施一個網(wǎng)格基礎設施,以便及時完成這些工作。
4 .后臺辦公網(wǎng)格
我們想介紹的最后個例子是后臺辦公處理。在大多數(shù)公司中,這樣的后臺辦公處理的一個示例發(fā)生在每月財務結算時。這個時候通常有大量的處理、數(shù)據(jù)匯總和計算。通常這是由企業(yè)資源規(guī)劃(ERP)系統(tǒng)、財務軟件包、自主研發(fā)的系統(tǒng)或這些系統(tǒng)的組合來做的。如果系統(tǒng)不是專門被設計為在網(wǎng)格上運行,那么用這些現(xiàn)成的系統(tǒng)在網(wǎng)格計算基礎設施上進行處理,可能會非常困難,雖然不是沒有可能。通常非常大的ERP系統(tǒng)都能夠進行很多定制和配置。如果你曾經(jīng)負責過這樣的處理,或者等待這種處理結束等了幾天,那么你一定會認同我們的觀點,即在幾百臺主機上運行這個處理,在幾小時就完成它,這是一種劃時代的進步。有許多后臺辦公系統(tǒng)都需要高強度的計算,而且只在每個月末處理一次。 這些系統(tǒng)包括開發(fā)票系統(tǒng)、再訂購系統(tǒng)、資源規(guī)劃系統(tǒng)以及質量保證測試系統(tǒng)。你可以以這些為出發(fā)點,列出那些潛在的可能改進的地方。
在網(wǎng)格上運行生產環(huán)境、使用網(wǎng)格進行編譯、在網(wǎng)格上實現(xiàn)部分數(shù)據(jù)倉庫環(huán)境以及在網(wǎng)格上進行后臺辦公處理。我們知道還有許多可能的實現(xiàn),這里只是給你提供一些例子,你可以利用它們提出自己的應用使用網(wǎng)格計算的方法。之后你就可以分析這些網(wǎng)站設計方法的優(yōu)缺點,并賦予它們權重。
本文地址:http://m.cdrpkj.cn//article/3906.html