SyntaxHighlighter

2008-06-03

Google透露自家資料中心的內部作業(上)

ZDNet新聞專區:Stephen Shankland 2008/06/02 13:49:02

Google資料中心的內部運作不再秘而不宣。

Google一向鮮少對外透露其資料中心的作業,但上週三(28日),Google伙伴Jeff Dean在Google I/O會議的滿場聽眾前,稍微揭開了公司基礎設施的神秘面紗。


一方面,Google用的是一般的伺服器、處理器、硬碟、記憶體等等。另一方面,Dean似乎認為1,800台伺服器的叢集是非常普通的狀況。而該公司使用的軟體,能在半秒之內回應涉及700至1,000台伺服器的搜尋請求,則完全是另一回事。


Google從未透露他們究竟擁有多少台伺服器,但我敢說至少不下數十萬台。Dean表示,每個機櫃存放40台伺服器。而根 據某項估計,Google目前在全球有36個資料中心,以每個中心有150個機櫃計算,Google的伺服器至少超過20萬台,而我認為實際數字大得多, 且每天都在增加中。


不論真正的數字有多少,Google的成就實在驚人,部分原因是他們推翻了電腦業的傳統作法。當所有的超大型資料中心,如紐約股票交易所或航空公司的聯合訂位系統都使用許多的主流伺服器和軟體,Google的資料中心,絕大部分是靠本身的技術構建而成。


我相信有些伺服器公司不以為然,但Google顯然相信,自己的技術命運最好操在自己手中。Google搜尋產品與使用者經 驗副總Marissa Mayer在29日的演說中提到,共同創辦人Larry Page鼓勵員工對「不可能的事情」保有一種健康的不敬(翻譯:別太相信有什麼不可能的事情)。


要維持如此大規模的運作,Google必須對每一台機器抱有一種隨時可犧牲的態度。伺服器製造商喜歡主打他們的高階主機承受故障或當機的能力,但Google寧願把錢投資在容錯軟體上。


Dean表示:「我們的觀點是,擁有兩倍數量但較不可靠的硬體,勝過一半數量但較可靠的硬體。你必須在軟體的層級提供可靠度,如果你有1萬台主機在運作,每天一定會有一些東西掛掉。」


Dean說,新叢集上線,最能顯示出硬體的脆弱。每個新叢集上線的第一年,通常會發生1,000次個別主機的故障,數千次硬 碟故障;一次電力輸送問題,導致500至1,000台主機失效約6小時;20次機櫃損壞,每次造成40至80台主機下線;5次機櫃搖晃,導致半數的網路封 包在傳送過程中遺失;整個叢集至少一次重新上線,在兩天之內的任何時間,影響5%的主機。整個叢集還有一半的機率會過熱,在5分鐘之內讓幾乎所有伺服器當 機,並且花上1到2天的時間恢復。

雖然Google用一般的硬體組件組裝其伺服器,卻不用傳統的封裝,他們要求英特爾提供特製的主機板。Dean表示,Google目前在每40台伺服器的機櫃外,包覆一層外殼,這是自行開發的設計,而不是傳統的每台伺服器有個別的外殼。

Dean表示,該公司有幾種伺服器組裝的方式,有些配備很多硬碟,有些數量較少。還有一些大範圍的差異,他說:「我們不同的資料中心都有一些差異,但資料中心內部不會。」

至於伺服器本身,Google偏好使用多核心晶片。許多習慣追求運算速度的軟體公司,都很難適應多核心晶片,但Google沒有這種問題。該公司在技術上早就必須適應橫跨數萬台電腦的結構,因此他們已經進入平行運算的世界。

Dean說:「我們真的、真的喜歡多核心主機。對我們而言,多核心主機就像很多相互連結俱佳的小機器,對我們來說相對好用。」

雖然Google對搜尋和其他服務都要求快速回應,其平行運算能在單一指令的執行相對較慢時,產生快速回應的結果。這對於多核心處理器和多線程模式設計者是一大鼓勵。Dean說:「單線程的表現對我們來說真的無關緊要。我們有很多平行化的問題。」

那麼Google要如何處理這些一般的硬體問題呢?用軟體—看到這裡你或許會想溫習以前學過的電腦科學。

Dean說明Google軟體的三個核心要素:GFS(Google檔案系統)、BigTable和MapReduce演算法。而雖然Google資助了許多有助其開展的開放原始碼計畫,這些東西仍屬專有的軟體。

Dean表示,三者中層級最低的GFS,幾乎在所有主機中運作,負責儲存資料。某些GFS的化身是「許多PB(petabyte)大小」的檔案系統。目前有超過200個叢集在執行GFS,其中許多都包含數千台主機。

GFS把一塊儲存的資料(通常是64MB),至少放在三台稱為chunkserver的主機內;假如chunkserver發生故障,主伺服器便負責把資料備份到一個新的地方。Dean說:「至少在儲存層級,主機故障完全由GFS系統處理。」

(Credit: Stephen Shankland-CNET News.com/Jeff Dean-Google)

0 件のコメント:

人気の投稿