氖奔洹�
事實是,當多人共用一臺計算機,即使該計算機是一個巨大的主機,你也不得不等待你的次序。需要重新生成財務報告嗎?沒問題——如果你不介意等到下午或明天早晨。在客戶機/伺服器環境中,即時訪問並非總是可行的,人們的需求很少能夠馬上得到滿足。
因此,儘管客戶機/伺服器模式也提供了類似的集中儲存,但它不是雲端計算,因為它不是以使用者為中心的。使用客戶機/伺服器計算,所有的控制都位於主機上,受單一主機的管理。這不是一個有利於使用者的環境。
對等計算:資源共享
如你所想,使用客戶機/伺服器系統是一種“緊急與等待”的體驗。客戶機/伺服器系統的伺服器部分會產生一個巨大的瓶頸。所有計算機之間的通訊不得不首先透過伺服器,然而這種做法效率可能是低下的。
無須經由伺服器,將一臺計算機連線到另一臺計算機,這一顯而易見的需求導致了對等(P2P)計算的發展。P2P計算定義了這樣一種網路結構,其中的每臺電腦都有相等的能力和責任。這同傳統的客戶機/伺服器的網路架構形成了鮮明的對比,在後一種架構中,一臺或多臺計算機專門用來為其他計算機提供服務。(這種關係有時也被稱為主/從關係,中央伺服器是“主”,而客戶計算機是“從”。)
P2P是一個平等的概念。在P2P環境中,每臺計算機既是客戶機又是伺服器,沒有主從之分。P2P把網路上的所有計算機都看作是對等的,因而使得直接的資源和服務交換成為可能。無需中央伺服器的存在,因為任何一臺電腦在需要的時候都能充當這一角色。
P2P也是一個分散的概念。控制是分散的,所有電腦平等執行。內容也分散在不同的電腦上。沒有集中的伺服器用來承載可用的資源和服務。
第一章 超越桌面:雲端計算導論(4)
也許最著名的P2P實現就是因特網。今天,許多使用者都已經忘記(或根本未曾知道),根據最早的阿帕網(ARPAnet)的想法,因特網最初被設計為一個對等的系統,用來共享分佈在美國各地的計算資源。不同的阿帕網站點——總數並不是很多——不是作為客戶端和伺服器,而是作為對等方連線在一起。
早期因特網的P2P特性可以透過新聞組(Usenet)網路來做最好的說明。新聞組,建立於1979年,是一個由計算機構成的網路(透過因特網訪問),每臺計算機都提供整個網路的內容。資訊在對等的計算機之間進行傳播,無論使用者連線到哪一臺新聞組伺服器上,都可以獲得張貼到每個單獨的伺服器上的所有(或幾乎所有)的資訊。雖然使用者到新聞組伺服器的連線具有傳統的客戶機/伺服器特性,但新聞組伺服器之間的關係肯定是P2P的,這就是今日雲端計算的雛形。
當然,並非因特網的每一部分都具有P2P特性。隨著全球資訊網的發展,計算模式由P2P重新回到客戶機/伺服器模式。在web上,每個網站都由一組計算機提供服務,網站的訪問者使用客戶端軟體(web瀏覽器)來訪問它。幾乎所有的內容都是集中的,所有的控制也是集中的,在此過程中,客戶沒有任何自主權或控制能力。
分散式計算:提供更多的計算能力
P2P模式的一個最重要的方面就是分散式計算,某個網路甚至整個因特網上的空閒個人電腦被組織起來,用來為大規模的、處理器密集型的專案提供計算能力。這是一個簡單的概念,所有的一切都圍繞著計算能力在多臺計算機之間的共享。
一臺每天執行24小時,每週執行7天的個人電腦能產生巨大的計算能力。然而,大多數人並不會以24/7的方式使用自己的計算機,因而計算機資源的很大一部分都未得到有效利用。分散式計算能夠使用這些資源。
當一臺計算機用於分散式計算專案時,為了在電腦空閒期間執行各種處理任務,需要在機器上安裝軟體。空閒時間處理的結果定期上傳到分散式計算網路中,與來自專案中其他計算機的類似結果進行合併。只要有足夠的計算機參與,上述做法的效果足以比擬更大的主機和超級計算機的處理能力——對於某些非常龐大和複雜的計算專案而言,這是必需的。
例如,基因研究需要大量的計算能力。採用傳統的手段,可能需要數年時間才能解決基本的數學問題。透過將數千(或百萬)臺個人電腦連線在一起,將更多的計算能力用於同樣的問題,很快就能得到結果。
分散式計算的歷史