比特網(wǎng) 發(fā)表于:14年05月09日 09:17 [轉載] 比特網(wǎng)
虛擬機和云計算
虛擬機的發(fā)展催生硬件加速方案,也正是因為硬加速,又使得虛擬機可以大范圍應用,也正是如此,才將云計算的概念帶了出來,也就是硬件又反過來加速了軟件的變革。而隨著量的上升,會影響質(zhì)變,人們會發(fā)現(xiàn)其實VM這種東西是非常低效的虛擬化,VMM個人理解其實是一股具有邪性的陽氣,他看似光鮮實則非常損耗陰實的,體現(xiàn)為過多不必要的操作系統(tǒng)實例。操作系統(tǒng)本來就是利用線程/進程來虛擬化多任務多用戶的運行,每一次系統(tǒng)調(diào)用的開銷是非常高的,讓一個CPU同時運行多個操作系統(tǒng)實例,無疑是極大的浪費,上文提到過這種模式是單機性能過剩而整體資源又無法得到池化時代的產(chǎn)物。而云計算架構的出現(xiàn),會打破這個矛盾。云計算可能初生的時候就是一個全局虛擬機資源調(diào)度管理軟件框架,但是一個事物畢竟是不斷在成長進化的,云計算會最終找到它的使命,那就是大范圍全局資源的池化、分配調(diào)度管理監(jiān)控,也就是數(shù)據(jù)中心級的OS,做的事情與單機OS如出一轍。既然如此,那么AAAS(ApplicationAs a Service)應該是云計算最終要實現(xiàn)的狀態(tài),這就相當于打開屏幕,就出現(xiàn)一堆應用圖標,點進去完成你要的功能,退出,結束。既然用戶不需要IAAS,不需要直接面對操作系統(tǒng),那么搞那么多VM實例其實就是沒有必要的,空耗資源。云計算需要實現(xiàn)一個全局的應用進程級別的調(diào)度中樞,而不是調(diào)度VM。再來思考一下大機為什么需要VM?因為大機那個時代并沒有現(xiàn)在這種云計算的概念,xAAS這個思維,你可以說那時候人腦殘,那時候軟件技術是很封閉而且不發(fā)達的,所以進行資源細粒度切分,用VM也算是快刀斬亂麻的方案。我們也看到進程級虛擬機(比如LinuxContainer)業(yè)逐漸在受到關注。這些都是云計算這個軟件框架、這個宏觀的OS的定義,那么這種定義會對硬件有什么影響?我想那一定會催生兩個硬件形態(tài)的變革,一個就是上面所說的單點的性能要足夠低,力度要足夠細,單點性能“足夠低”,這可能讓人大跌眼鏡,不過將來可真說不定啊,眾核CPU就是個很好的胚子;另一個是局部多層高速Fabric核間通信,由于CPU/核心可以任意切分和組合,他們之間一定需要一個高速總線相互連接,目前存在多種Fabric方案和產(chǎn)品,這塊雖然比較低調(diào)冷門但是也還算成熟,加上硅光等技術會將Fabric隱身至機架外,這就為大范圍池化提供了支撐。而這次硬件的變革很可能又會影響軟件的架構,使得大規(guī)模并行計算不再需要MPI等遠程消息傳遞機制,消息傳遞直接使用Fabric硬件加速的隊列FIFO,會大大簡化編程,有利于HPC的模式最終可以全面得到普及。
云計算,宏觀操作系統(tǒng),數(shù)據(jù)中心級的NUMA機,一切皆有可能。