天天看點

雲計算與網格計算的深入比較

本文講的是<b>雲計算與網格計算的深入比較</b>,【IT168 資訊】在寫這篇文章之前,曾經有很多人問過筆者類似的問題,比如說,“雲計算跟網格計算到底什麼關系”、“他們兩個的差別到底在哪裡”、“能不能簡單地講一下其中的差別”?

  其實,一下子很難講清楚其中的具體差別。筆者此前曾經在首次接觸雲計算概念時,将雲計算看成“網格2.0,這一點得到了一些業内人士的認可;後來筆者也曾經翻譯了美國《Network World》的一篇文章,澄清了有關雲計算的一些定義。

  不過,筆者認為這些都似乎還比較空泛。在采訪過網格計算相關的技術專家和雲計算方面的技術專家之後,筆者嘗試着給出一些自己的看法。

  當然,從定義上來說,二者都試圖将各種IT資源看成一個虛拟的資源池,然後向外提供相應的服務。雲計算試圖讓“使用者透明地使用資源”,而網格計算當初的口号就是讓“使用IT資源像使用水電一樣簡單”。

  根據維基百科所提供的定義,雲計算是一種寬泛的概念,它允許使用者通過網際網路通路各種基于IT資源的服務,這種服務允許使用者無需了解底層IT基礎設施架構就能夠享受到作為服務的“IT相關資源”。

  而網格的内涵包括兩個方面,一個方面是所謂的效用計算或者随需計算,在這一點上面,網格計算跟雲計算是非常相似的,都是通過一個資源池或者分布 式的計算資源來提供線上的計算或者存儲等服務;另外一個方面就是所謂的“虛拟超級計算機”,以松耦合的方式将大量的計算資源連接配接在一起提供單個計算資源所 無法完成的超級計算能力,這也是狹義上的網格計算跟雲計算概念上最大的差别,也是本文要讨論的出發點。

  目标不同

  一般來說,談到網格計算大家都會想到當年風靡一時的搜尋外星人項目,也就是說通過在本機安裝一個螢幕保護軟體,就能夠利用大家每個人的PC閑暇時候的計算能力來參與搜尋外星人的計算。

  這也說明了網格的目标,是想要盡可能地利用各種資源。它通過特定的網格軟體,将一個龐大的項目分解為無數個互相獨立的、不太相關的子任務,然後 交由各個計算節點進行計算。即便某個節點出現問題,沒有能夠及時傳回結果,也不影響整個項目的程序,甚至即便某一個計算節點突然崩潰,其所承擔的計算任務 也能夠被任務排程系統配置設定給其他的節點繼續完成。應該說,從這一點來說,作業排程是網格計算的核心價值。

  現在談到雲計算的時候,我們就能夠立刻想到通過網際網路将資料中心的各種資源打包成服務向外提供。一般來說,盡管雲計算也像網格計算一樣将所有的 資源構築成一個龐大的資源池,但是雲計算向外提供的某個資源,是為了完成某個特定的任務。比如說某個使用者可能需要從資源池中申請一定量的資源來部署其應 用,而不會将自己的任務送出給整個網格來完成。

  從這一點來看,網格的建構大多為完成某一個特定的任務需要,這也是會有生物網格、地理網格、國家教育網格等各種不同的網格項目出現的原因。而雲計算一般來說都是為了通用應用而設計的,沒有專門的以某種應用命名的網格。

  配置設定資源方式的不同

  對于網格計算來說,其資源雖然也已經被池化,在外界看來就是一個巨大的資源池。對于要送出特定任務的使用者來說,他并不知道自己的任務将會在哪些網格的實體節點上運作。他隻是按照特定的格式,将作業任務送出給網格系統,然後等待網格傳回結果。

  而網格作業排程系統自動找尋與該任務相比對的資源,然後尋找出空閑的實體節點,将任務配置設定過去直至完成。雖然網格能夠實作跨實體機進行并行作業 處理,但是需要使用者先将并行算法寫好,并且通過排程系統将作業分解到各個不同的實體節點進行,這個過程相對比較複雜,這也是很多網格計算被建設用來完成特 定需求的原因。

  國家教育網格項目組負責人金海教授曾經對記者表示,現階段的教育網格還隻能實作将某一個特定任務派往特定的某一個節點,也就是說網格可以監控某 一個節點是空閑的,然後分派任務,但是如果沒有合适的節點能夠達到任務完成所需要的配置,那麼任務就必須等待其他任務将資源釋放出來,不能利用分散的配 置。

  而雲計算是通過虛拟化将實體機的資源進行切割,從這個角度來實作資源的随需配置設定和自動增長,并且其資源的自動配置設定和增減不能超越實體節點本身的實體上限。盡管從控制端來看,雲計算也将所有的IT資源看成是一個資源池,但是不同晶片的實體機會被歸類到不同的資源池中。

  比如說可以呼應某一個應用的請求,而給其配置設定一顆x86 CPU或者Power CPU、安騰CPU,配置設定記憶體、硬碟空間,再給其安裝Linux系統、相關的應用,但是不能同時配置設定一顆x86 CPU和一顆其他的CPU以構成一個異構的環境。而且,如果節點中的實體機最高CPU數量是4顆的話,那麼即使由10台這樣的節點構成一個40CPU的資源池,也不能為某一個應用配置設定8顆CPU的虛拟節點。

  從這種角度來說,Amazon在2006年所推出的EC2項目(Elastic Compute Cloud,彈性計算雲)的确算的上是雲計算項目,隻不過那個時候雲計算概念未興起,而網格計算的概念方興未艾,Amazon在那個時候依然用網格的概念向外推銷該項目。

  殊途同歸

  其實就像很多人大緻了解的那樣,網格計算與雲計算的确有很多的相似之處,這兩者都能夠被看成是分布式計算所衍生出來的概念,都是為了讓IT資源能夠對使用者透明,為了讓IT資源能夠達到更好的使用率。

  從這個提高資源使用率的角度出發,逐漸誕生了Web服務的概念,然後網絡公司通過部署數以萬計的伺服器構成龐大的計算資源,得以提供此前無法完成的新服務。企業或者個人能夠通過網際網路利用那些大網絡公司所釋放出來的計算資源,進行應用部署或者向外提供服務。這就是從網格計算到雲計算的曆史過程。

  二者的意義就在于,無論是使用者還是企業開發者,都能夠通過網際網路來獲得資料或者進行計算,盡管本地資源有限,但是能夠通過網絡進行複雜的運算,其資料的計算過程對于使用者來說就像網際網路網絡對于本地網絡使用者一樣,正如大家所記得那個網絡雲,後端的實作是透明的。

原文釋出時間為:2009-06-25

本文作者:IT168.com

本文來自雲栖社群合作夥伴IT168,了解相關資訊可以關注IT168。

原文标題:雲計算與網格計算的深入比較

繼續閱讀