數據中心需要“全能”操作系統嗎?
操作系統可以存在于PC,甚至存在于手機上。為什么數據中心沒有一個操作系統?當然,制作一個能夠處理數據中心全部資源的操作系統要比制作一個允許一臺設備運行應用程序的操作系統困難得多。
數據中心有IT專業人員團隊來保證所有的服務器運行和保證應用程序有足夠的存儲等等。但是,這個工作量很大,以至于有必要推出一個更昂貴的能夠處理整個數據中心事務的操作系統。
這是加州大學伯克利分校博士生Matei Zaharia在俄勒岡州波特蘭舉行的Usenix年度技術會議上發表的觀點。
他不是第一個提議為計算系統集群制作一個操作系統的人。但是,他認為這個需要變得越來越迫切,因為應用程序和用戶、編程框架和存儲系統越來越多樣化。
數據中心操作系統能夠把所有這些集中在一個管理平臺并且提供資源共享、數據共享、編程抽象和調試。
Zaharia稱,我們開發時間共享和計算機操作系統也是出于同樣的原因。
一位聽眾成員指出,為計算機集群制造操作系統的想法已經出現幾十年。他駁斥了Zaharia把它稱作一個新的想法和為什么現在會取勝的觀點。
Zaharia認為,早期版本的數據中心操作系統已經在制作。他指出,谷歌已經在使用高級的技術運行其數據中心。這個技術還沒有完全向大眾公開。谷歌的軟件棧就像是按照操作系統式的思路設計的。
Zaharia和他的同事在一篇題為“數據中心需要一個操作系統”的論文中解釋了他們的想法。在Usenix網站上可以看到這篇論文。
這篇論文稱,數據中心已經托管了許多種類的應用程序(存儲系統、網絡應用、長期運行的服務和批量分析),隨著新的集群編程框架的開發,我們預計應用程序的數量還將增長。例如,谷歌已經利用Pregel (一種用于圖片應用的特殊框架)、Dremel (一種用于交互式數據挖掘的低延遲系統)和Percolator (一種增量索引系統)來增強其MapReduce框架。同時,計算機集群用戶數量正在增長。例如,Facebook的Hadoop數據庫處理數百個用戶的幾乎同時互動的SQL查詢。因此,數據中心操作人員能夠在一個應用程序的用戶與多個應用程序之間有效地反復利用資源是非常重要的。
Zaharia沒有說他們已經制作了一個數據中心操作系統。但是,他說,他的團隊已采取初步的步驟,設計了一個名為“Mesos”計算機集群管理器,可在應用程序之間實現精確的共享。
仍需要解答的一些問題包括如果制作標準化的節目、如何處理流數據和保障存儲性能。但是,Zaharia認為包括谷歌、亞馬遜和微軟在內的許多公司正在解決這些問題。
Zaharia在論文中稱,Hadoop stack、LAMP、亞馬遜的Web服務、Windows Azure和谷歌的GFS/BigTable/ MapReduce等軟件平臺是目前事實上的數據中心操作系統。這些平臺將逐步發展以應對數據中心用戶和工作量的多樣性。
數據中心應用程序仍然很難開發并且不能容易的相互兼容。這些還要等待更多的相關工作者去解決和探索。
【編輯推薦】