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