作者 鄧侃 | 2010-04-04 19:10 | 類型 云計(jì)算, 互聯(lián)網(wǎng) | 5條用戶評(píng)論 »
系列目錄 云計(jì)算漫談【7】天上究竟會(huì)有幾朵云? 上一章長(zhǎng)篇大論地討論,云計(jì)算是否能夠提供有效的加密措施,保障客戶的內(nèi)容以及程序,不被云計(jì)算平臺(tái)的擁有者偷窺。 我們的結(jié)論是悲觀的。 既然云計(jì)算平臺(tái)無法提供有效的加密措施,那么云計(jì)算平臺(tái)只能吸引那些對(duì)于自己的內(nèi)容和程序的保密不那么敏感的企業(yè)。 但是大型企業(yè),包括銀行和電信,它們對(duì)云計(jì)算能夠提供的超大規(guī)模存儲(chǔ)能力,以及超大規(guī)模并行數(shù)據(jù)處理的能力,有天然的需求。 怎么辦? 現(xiàn)實(shí)的解決辦法是幫助大型企業(yè)建設(shè)屬于它們自己的云計(jì)算平臺(tái)。 換而言之,未來的天空中,將漂浮著Google和Microsoft幾朵云,這是幾朵大云。在大云的周圍,散落著一些小云。 如何構(gòu)建云計(jì)算平臺(tái)? 說來也不很神秘。云計(jì)算平臺(tái)的基本思想,可以簡(jiǎn)單概括為,設(shè)計(jì)一套操作系統(tǒng),同時(shí)管理多臺(tái)電腦,尤其是把多臺(tái)電腦結(jié)合起來,當(dāng)一臺(tái)超級(jí)電腦使用。 想深入了解云計(jì)算技術(shù),以下論文是不能不看的。 1. Google File System: http://research.google.com/archive/gfs-sosp2003.pdf 把多個(gè)電腦的硬盤組合起來,形成一個(gè)超大規(guī)模的硬盤,用來存儲(chǔ)海量數(shù)據(jù),同時(shí)保障萬一有某些硬盤崩潰了,不至于遺禍整個(gè)系統(tǒng)。 2. MapReduce: http://labs.google.com/papers/mapreduce-osdi04.pdf 如何實(shí)現(xiàn)并行計(jì)算。道理很簡(jiǎn)單,但是用好卻不容易。下面兩篇論文,可以作為范例,指導(dǎo)如何正確使用MapReduce。 2.1. Large Language Models in Machine Translation http://acl.ldc.upenn.edu/D/D07/D07-1090.pdf 2.2. Parallelizing Support Vector Machines on Distributed Computers http://books.nips.cc/papers/files/nips20/NIPS2007_0435.pdf 3. Chubby lock service: http://research.google.com/archive/chubby-osdi06.pdf 電腦操作經(jīng)常要用到鎖機(jī)制,譬如用鎖防止兩個(gè)進(jìn)程同時(shí)向同一個(gè)文件寫數(shù)據(jù)。這篇論文談的是,在由多臺(tái)電腦組成的分布式系統(tǒng)中,集中管理鎖的機(jī)制。 4. BigTable: http://research.google.com/archive/bigtable-osdi06.pdf 這篇文章既是講如何實(shí)現(xiàn)分布式數(shù)據(jù)庫(kù),同時(shí)也可以把它看成范例,如何正確使用Chubby鎖機(jī)制,和GFS文件系統(tǒng)。 5. The Google cluster architecture: http://www.computer.org/micro/mi2003/m2022.pdf 各個(gè)組成部分完成以后,如何組建一個(gè)計(jì)算中心。這是這篇文章的主題。 Google式云計(jì)算平臺(tái)有兩大特色, 1. 便宜。即使用幾臺(tái)窮人買得起的爛PC,也能構(gòu)建一個(gè)麻雀雖小但是五臟俱全的Google式云計(jì)算平臺(tái)。其實(shí),Google自己就是這么起家的。 2. 穩(wěn)定。便宜的機(jī)器經(jīng)常死機(jī)。Google式云計(jì)算平臺(tái),能保證一部份機(jī)器死機(jī)不會(huì)造成整個(gè)系統(tǒng)的崩潰。 A cluster consisting of many cheap PCs 以前CMU有個(gè)教授,說過這么一段話,大意是:遇到一篇以前沒有讀過的論文,最好先蹲在廁所里翻翻。很多論文無病呻吟,或者裝神弄鬼。對(duì)待這樣的論文,處 理的辦法是立刻沖掉。不幸的是,大多數(shù)論文都可以這樣處理。 后來,這段話被記者捅了出去。系主任不得以,不僅公開道歉,而且內(nèi)部通報(bào)批評(píng)該教授,不該說這種politically incorrect的話。但是暗地里,很多師生都非常認(rèn)同教授的看法。 前面幾篇文章,不僅不能被沖掉,而且值得反復(fù)讀,再三讀。讀完這些論文,你一定會(huì)對(duì)這兩個(gè)人感到親切,Jeffrey Dean和Sanjay Ghemawat。 如果說Google的兩位創(chuàng)始人Larry Page和Sergey Brin確定了Google搜索引擎的算法和數(shù)據(jù)結(jié)構(gòu),那么奠定了Google后臺(tái)的集群系統(tǒng),也就是我們今天耳熟能詳?shù)腉oogle云計(jì)算平臺(tái),就是 Jeffrey Dean 和Sanjay Ghemawat這兩位。 Jeffrey Dean, Ph.D Sanjay Ghemawat, Ph.D 但是,只讀這么幾篇論文是不是就足夠了呢? No! 對(duì)比一下傳統(tǒng)的單機(jī)的操作系統(tǒng),如果把GFS理解為云計(jì)算版的文件系統(tǒng),把MapReduce理解為云計(jì)算版的進(jìn)程管理,把Chubby理解為云計(jì)算版的 synchronization。 缺了什么? 1. Memory management。2. Scheduling。 為什么不列舉這兩個(gè)方面的論文,方便大家閱讀? 因?yàn)镚oogle沒有發(fā)表?;蛟S是Google把這兩個(gè)方面的技術(shù),視為Google云計(jì)算的核心機(jī)密,所以才沒有發(fā)表論文公開介紹。 讀完論文后,想構(gòu)建一個(gè)云計(jì)算平臺(tái),是不是必須寫程序,從頭實(shí)現(xiàn)? No! Hadoop是一個(gè)開源項(xiàng)目,把前面提到的幾個(gè)Google式云計(jì)算技術(shù),用Java實(shí)現(xiàn)了。 我們不妨站在Hadoop臺(tái)階上,把未盡的事業(yè)推向前進(jìn)。 前進(jìn)方向, 1. Memory management。2. Scheduling。 | |
工具箱
本文鏈接 |郵給朋友 | 打印此頁 | 5條用戶評(píng)論 »
“云里霧里云計(jì)算 【7】天上究竟會(huì)有幾朵云?”有5個(gè)回復(fù)
聯(lián)系客服
大部分內(nèi)容都略老了一點(diǎn)
可以看看Berkeley RADLab的工作,以及white paper: A Berkeley View of Cloud Computing.
云管理可以理解為,虛擬機(jī)技術(shù)上面,包裝了一層API么?
同樣來自Berkeley RAD Lab的文章,發(fā)表在今期的Communications of The ACM http://cacm.acm.org/magazines/2010/4/81493-a-view-of-cloud-computing/fulltext
云計(jì)算如果只是虛擬機(jī)上的一層api,那就太簡(jiǎn)單了,在google開始的時(shí)候,vmware應(yīng)該還不存在。
在云操作系統(tǒng)里面,內(nèi)存管理我認(rèn)為不是重點(diǎn),而任務(wù)調(diào)度卻是個(gè)難點(diǎn)。之所以不用進(jìn)程調(diào)度,原因是云計(jì)算系統(tǒng)還是在傳統(tǒng)的操作系統(tǒng)之上的一個(gè)抽象,下面還是傳統(tǒng)的操作系統(tǒng),它的資源管理,應(yīng)該是node(或者是虛擬機(jī),或者不是),job(這個(gè)和process應(yīng)該有所區(qū)別),index(文件系統(tǒng))。這個(gè)操作系統(tǒng)是平臺(tái)無關(guān)的,而且與位置無關(guān)。
To 1樓,侃哥在后文會(huì)提到這篇文章。另外我覺得本文的價(jià)值在于提供了不少經(jīng)典論文,作為一篇導(dǎo)讀對(duì)于學(xué)習(xí)者有更大的價(jià)值。啥都別說,先把侃哥提到的論文讀幾遍。