暢談云計算五個主要原因
云計算,其實并非新事物;新瓶子里面裝的是改良的‘舊酒’-NetPC.在90‘s年代,Oracle提出的是Network Computer架構是由Oracle旗下的Network Computer Inc.提出,獲得Apple、Sun、IBM、Netscpae的支持。
NetPC則是由微軟和Intel在1997年4月之後提出獲得Intel、HP、Dell、Compaq的支持。不管是NC架構或是NetPC架構, 其實都是一樣的東西;也可以說NetPC其實就是微軟版的NC Architecture(Sun和Oracle也都有各自的NCA);只是微軟不愿意將自己提出的架構置於NC架構之下, 所以另外取了個名字叫做NetPC。
基本上, NC是主張個人電腦功能不用太強,藉由連到主機獲得主機在硬碟空間和運算能力的支援程式在主機執行完畢之後再將結果送回個人電腦。
不過云計算與NetPC,二者所站的理論高度不同。從思維模式來看,NetPC側重的是計算的實體;而云計算則側重的是服務。從商業運作模式來看,當時90’s環境下主要是賣計算機與操作系統;現在云計算機則主要是為了賣軟件與服務。
關于云計算所提供服務的度量
建議采用“MIPS幣”來作為在虛擬世界中對某個功能真正價值的衡量,以避免“在現實世界中的貨幣,因為無法統一采用基于真實物理含義的單位來衡量商品真實價值,而導致通貨膨脹與剝削”等現象。
云計算的發展原因
五個主要原因使得分布式計算必然會越來越普遍,逐漸發展成主流的計算模式而取代集中式的大型計算機:
1、現在分布式系統的第一個原因就是因為他具有比集中式系統更好的性能價格比。你不要花幾十萬美元就能獲得高效能計算。
2、多數應用本身就是分布式的。如工業企業應用,管理部門和現場不在同一個地方。
3、高可靠性。冗余不僅是生物進化的必要條件,而且也是信息技術。現代分布式系統具有高度容錯機制,控制核反應堆主要采用分布式來實現高可靠性。
4、可擴展性。買一臺性能更高的大型機,或者再買一臺性能相同的大型機的費用都比添加幾臺PC的費用高得多。
5、高度靈活性。能夠兼容不同硬件廠商的產品,兼容低配置機器和外設而獲得高性能計算。
粗略地計算,目前的個人計算機每個CPU芯片的處理能力是200MIPS,就是每秒種執行200M也就是兩億次指令,而最近Yahoo!公司報道他們已經實現了有一萬個節點(node)就是一萬臺PC計算機連接的分布式系統,總的處理能力是 2,000,000MIPS,最快的芯片也達不到這個速度,因為在一定面積上設計的芯片的速度是存在一個極限的,不可逾越。而當前世界著名的超級計算機所謂的TOP500,達到每秒幾百萬億次指令執行,都是采用分布式設計的,世界第一的IBM BlueGene超級計算機采用了32部機架,每部機架部署有768個PowerPC440 CPU。順便說一句,這TOP500基本都是使用Linux操作系統的!現在社會和家庭擁有的個人計算機就是PC,只有30%的計算能力被利用,甚至更低,而其余70%的實際上是被閑置的,這些閑置的計算機資源和計算能力只有通過分布式系統才能得到有效的利用,這樣可以大大提高一個國家的計算能力,而計算能力是衡量一個國家國力和科學研究能力的指標,這一點現在還沒有被國人充分認識到。
一個國家和地區的計算能力現在已經成為一種重要的戰略資源,不亞于石油和其他戰略物資的重要性。云計算就是把普通的服務器或者個人計算機連接起來以獲得超級計算機也叫高性能和高可用性計算機的功能,但是成本更低。這在世界上也是個先進的項目。云計算模式必定能大大提高我國科學計算機和商業計算能力,使得我國經濟競爭力大大提升。美國和歐洲有許多社會分布的分布式計算系統,他們動員和使用這些社會計算能力進行人類基因組學(Genomics)的研究、天文學問題研究、數學難題研究以及其他的科學問題研究。去年的一個研究報告估計我國個人計算機PC保有量接近兩億臺。
按照計算機操作系統的宗師Andrew S. Tanenbaum(AST)給分布式系統的的定義:“分布式系統是這樣的系統,它運行在不具有共享內存的多臺機器上,但在用戶的眼里卻像是一臺計算機”。(引自《現代操作系統》,機械工業出版社,1999年中文版)。它的目標是讓每個用戶感覺聯網的計算機是一個分時系統——就像使用個人計算機一樣 ——而不是一個由許多計算機聯合起來的集體,即使由五個節點組成的分布式系統也應該讓用戶感覺自己是在使用一臺價值20萬美元的大型計算機,唯一不尋常的感覺是處理速度提高了許多,別的沒有什么不同。例如,這里有一個簡單的例子,在機器A的用戶要使用安裝在機器B上用戶的目錄里的文件,A用戶要使用遠程登錄命令rlogin B登錄到機器B的目錄上,那么這就不是一個真正的分布式系統,因為用戶A意識到了另外一臺機器的存在,分布式系統必須要做到,用戶A登錄到一個目錄上的時候不知道自己是在本地機器上還是在遠程機器上的目錄上,對于用戶A來說機器B是透明的,這就是分布式系統設計時考慮的“透明性”要求。其他有關的問題包括:分布式文件系統的問題,目錄和文件訪問機制以及一致性問題,分布式系統進程的通信問題等等。目前的云計算嚴格說還沒有到達真正的分布式計算的語義學水平。
【編輯推薦】