1. 程式人生 > >雲端計算和分散式計算,網格計算,平行計算對比分析

雲端計算和分散式計算,網格計算,平行計算對比分析

現在把早上看到的雲端計算和分散式計算,網格計算,平行計算的概念對比分析一下。

其實是要了解雲端計算,但是這幾個名字叫得容易把問題搞混。就先從關係最不大的說吧。

平行計算(Parallel Computing)

並 行計算或稱平行計算是相對於序列計算來說的;所謂平行計算可分為時間上的並行和空間上的並行。時間上的並行就是指流水線技術,而空間上的並行則是指用多個 處理器併發的執行計算。平行計算科學中主要研究的是空間上的並行問題。從程式和演算法設計人員的角度來看,平行計算又可分為資料並行和任務並行。一般來說, 因為資料並行主要是將一個大任務化解成相同的各個子任務,比任務並行要容易處理。

空間上的並行導致了兩類並行機的產生,按照Flynn的 說法分為:單指令流多資料流(SIMD)和多指令流多資料流(MIMD)。我們常用的序列機也叫做單指令流單資料流(SISD)。MIMD類的機器又可分 為以下常見的五類:並行向量處理機(PVP)、對稱多處理機(SMP)、大規模並行處理機(MPP)、工作站機群(COW)、分散式共享儲存處理機 (DSM)。

 

平行計算機有以下五種訪存模型:均勻訪存模型(UMA)、非均勻訪存模型(NUMA)、全快取記憶體訪存模型(COMA)、一致性快取記憶體非均勻儲存訪問模型(CC-NUMA)和非遠端儲存訪問模型(NORMA)。

 

不像序列計算機那樣,全世界基本上都在使用馮·諾伊曼的計算模型;平行計算機沒有一個統一的計算模型。不過,人們已經提出了幾種有價值的參考模型:PRAM模型,BSP模型,LogP模型,C^3模型等。(雖然上過高效能課,但是這幾個模型都不清楚,很。。。。)

 

 

平行計算機是靠網路將各個處理機或處理器連線起來的,一般來說有以下幾種方式:
靜態連線:處理單元間有著固定連線的一類網路,在程式執行期間,這種點到點的連結保持不變;典型的靜態網路有一維線性陣列、二維網孔、樹連線、超立方網路、立方環、洗牌交換網、蝶形網路等。

動態連線:用交換開關構成的,可按應用程式的要求動態地改變連線組態;典型的動態網路包括匯流排、交叉開關和多級互連網路等。

 

 

節點度:射入或射出一個節點的邊數。在單向網路中,入射和出射邊之和稱為節點度。
網路直徑:網路中任何兩個節點之間的最長距離,即最大路徑數。
對剖寬度:對分網路各半所必須移去的最少邊數。
對剖寬度:每秒鐘內,在最小的對剖平面上通過所有連線的最大資訊位(或位元組)。

 

平行計算的效能度量

 

1,基本指標.

執行時間:

工作負載

儲存效能

2,加速比評測.

Amdahl定理:

Gastofson定理:

Sun-Ni定理:

3,可擴放性標準.

等效率標準:

等速度標準

平均延遲標準:

 

這些在高效能課上老師都講過,另附我不太喜歡這個老師。

 

剛才在平行計算部分已經提及分散式平行計算了,以我的理解分散式應該屬於平行計算的一種,因為它是把任務分配到多機上然後一起執行。

 

所 謂分散式計算是一門電腦科學,它研究如何把一個需要非常巨大的計算能力才能解決的問題分成許多小的部分,然後把這些部分分配給許多計算機進行處理,最後 把這些計算結果綜合起來得到最終的結果。 最近的分散式計算專案已經被用於使用世界各地成千上萬位志願者的計算機的閒置計算能力。

 

分 布式要解決的專案都很龐大,需要驚人的計算量,僅僅由單個的電腦或是個人在一個能讓人接受的時間內計算完成是決不可能的。在以前,這些問題都應該由超級計 算機來解決。但是, 超級計算機的造價和維護非常的昂貴,這不是一個普通的科研組織所能承受的。隨著科學的發展,一種廉價的、高效的、維護方便的計算方法應運而生——分散式計 算!

 

分散式計算是近年提出的一種新的計算方式。所謂分散式計算就是在兩個或多個軟體互相共享資訊,這些軟體既可以在同一臺計算機上執行,也可以在通過網路連線起來的多臺計算機上執行。分散式計算比起其它演算法具有以下幾個優點:

1、稀有資源可以共享,

2、通過分散式計算可以在多臺計算機上平衡計算負載,

3、可以把程式放在最適合執行它的計算機上,

其中,共享稀有資源和平衡負載是計算機分散式計算的核心思想之一。

實際上,網格計算就是分散式計算的一種。如果我們說某項工作是分散式的,那麼,參與這項工作的一定不只是一臺計算機,而是一個計算機網路,顯然這種“螞蟻搬山”的方式將具有很強的資料處理能力。網格計算的實質就是組合與共享資源並確保系統安全。

分散式計算使用的作業系統包括分散式作業系統,網路作業系統,基於中介軟體的作業系統

 

其中分散式作業系統又包括多處理器系統和多機系統,這個應該很好理解,多處理器系統肯定只有一個作業系統,多機系統的分散式也是隻有一個作業系統分配機器資源,這樣的分散式系統機器與機器之間具有非常高的透明性,

而網路作業系統,基於中介軟體的作業系統,都是由多個計算機組成,每個計算機有獨立 的作業系統。

這些分散式計算的區分還有通訊方式,資源管理方式等不同,這裡就先不說了,大家有興趣可以查一下。另附上面一段是根據我的分散式課的課件寫的,很感謝這位對自己要求嚴格,卻很懂變通的老師。

 

上面已經說了,網格計算是分散式計算的一種,依照我現在的判斷以上分散式作業系統除了多處理器分散式計算不是網格計算以外,其他的都可以稱為網格計算。

 

網 格計算是伴隨著網際網路而迅速發展起來的,專門針對複雜科學計算的新型計算模式。這種計算模式是利用網際網路把分散在不同地理位置的電腦組織成一個“虛擬的超 級計算機”,其中每一臺參與計算的計算機就是一個“節點”,而整個計算是由成千上萬個“節點”組成的“一張網格”,所以這種計算方式叫網格計算。這樣組織 起來的“虛擬的超級計算機”有兩個優勢,一個是資料處理能力超強;另一個是能充分利用網上的閒置處理能力。

 

 

下面終於輪到我們的主角雲端計算登場了。

 

雲 計算(Cloud computing),是一種新興的共享基礎架構的方法,可以將巨大的系統池連線在一起以提供各種IT服務。很多因素推動了對這類環境的需求,其中包括連 接裝置、實時資料流、SOA的採用以及搜尋、開放協作、社會網路和移動商務等這樣的Web2.0應用的急劇增長。 另外,數字元器件效能的提升也使IT環境的規模大幅度提高,從而進一步加強了對一個由統一的雲進行管理的需求。雲端計算被它的吹捧者視為“革命性的計算模 型”,因為它使得超級計算能力通過網際網路自由流通成為了可能。企業與個人使用者無需再投入昂貴的硬體購置成本,只需要通過網際網路來購買租賃計算力,“把你的 計算機當做接入口,一切都交給網際網路吧”。

 

 

狹義雲端計算是指IT基礎設施的交付和使用模式,指通過網 絡以按需、易擴充套件的方式獲得所需的資源(硬體、平臺、軟體)。提供資源的網路被稱為“雲”。“雲”中的資源在使用者看來是可以無限擴充套件的,並且可以隨時獲 取,按需使用,隨時擴充套件,按使用付費。這種特性經常被稱為像水電一樣使用IT基礎設施。

廣義雲端計算是指服務的交付和使用模式,指通過網路以按需、易擴充套件的方式獲得所需的服務。這種服務可以是IT和軟體、網際網路相關的,也可以使任意其他的服務。

 

 

雲端計算的特點

 

(1) 超大規模。“雲”具有相當的規模,Google雲端計算已經擁有100多萬臺伺服器, Amazon、IBM、微軟、Yahoo等的“雲”均擁有幾十萬臺伺服器。企業私有云一般擁有數百上千臺伺服器。“雲”能賦予使用者前所未有的計算能力。

(2) 虛擬化。雲端計算支援使用者在任意位置、使用各種終端獲取應用服務。所請求的資源來自“雲”,而不是固定的有形的實體。應用在“雲”中某處執行,但實際上使用者 無需瞭解、也不用擔心應用執行的具體位置。只需要一臺筆記本或者一個手機,就可以通過網路服務來實現我們需要的一切,甚至包括超級計算這樣的任務。

(3) 高可靠性。“雲”使用了資料多副本容錯、計算節點同構可互換等措施來保障服務的高可靠性,使用雲端計算比使用本地計算機可靠。

(4) 通用性。雲端計算不針對特定的應用,在“雲”的支撐下可以構造出千變萬化的應用,同一個“雲”可以同時支撐不同的應用執行。

(5) 高可擴充套件性。“雲”的規模可以動態伸縮,滿足應用和使用者規模增長的需要。

(6) 按需服務。“雲”是一個龐大的資源池,你按需購買;雲可以象自來水,電,煤氣那樣計費。

(7) 極其廉價。由於“雲”的特殊容錯措施可以採用極其廉價的節點來構成雲,“雲”的自動化集中式管理使大量企業無需負擔日益高昂的資料中心管理成本,“雲”的 通用性使資源的利用率較之傳統系統大幅提升,因此使用者可以充分享受“雲”的低成本優勢,經常只要花費幾百美元、幾天時間就能完成以前需要數萬美元、數月時 間才能完成的任務。

 

以上都摘自一個叫互動的wiki裡,現在web2.0的東西越來越多了,我們可以自己釋出學習資料,很方便。然而所謂的高深的雲端計算不過是分散式計算,和web2.0技術的結合,當然還有發展了。它的技術成熟必將給我們帶來很大的方便。

GoogleMap就是一個雲端計算服務,Google裡有很多服務,使用者如果想使用GoogleMap,只要上網找到它,Google公司的後臺伺服器便開始竭盡所能為你提供你所申請的map

並且非常快,這麼快捷的服務,當然依賴於各種資源分配演算法和分散式技術等等。有報道說GoogleMap有一天會變成收費的,雖然目前它是免費的。

雲 計算就是給我們承諾了一個這樣的未來,我們可以不用在本地機器上安裝軟體,直接去網上就可以使用它。這樣的好處當然是本地機器的處理能力不用很高,儲存容 量也不用很大就可以完成各種高難度的任務,如果你需要的話。比如不用安裝環境,就可以在網上程式設計,然後把編的程式存在網上,客戶端就得到了很大程度的解 放。而且我們中國的公司也不用擔心微軟再向我們討要什麼版權費啥的。目前網上已經有了各種office工具,打擊盜版的日子將隨著雲端計算的普及消失。