現在一般的網路伺服器所使用的處理器(CPU)大概都是 x86 架構,但是在未來有可能會因為智慧型手機處理器的崛起而改觀。

Facebook 公司內部最近進行了一項實驗,工程師們拿平常用來提供 Facebook 網頁服務的伺服器,作為實驗品,開始亂搞它的 CPU。

CPU 中有一塊 cache 記憶體,它是用於暫時儲存 CPU 計算用的資料的地方,藉由 cache 記憶體的幫助,CPU 在計算時就可以不需要每次都去存取系統記憶體的資料,而 Facebook 的工程師則是要測試如果把部份的 cache 記憶體關閉,會發生什麼事情。


因為 cache 記憶體的存取速度跟一般系統的記憶體比起來快上非常多,所以它的成本也非常貴,工程師想測試一下 Facebook 的伺服器可以多低的 cache 記憶體下正常運作。

首先,他們把 cache 記憶體從 3MB 調降至 2MB,然後在降低至 1MB 與 0.5MB,最後在提昇至 1MB,在這個過程中,伺服器的效能表現都一樣好,每秒可以處理相同的 requests,而速度上除了 0.5MB 的情況之外,都沒有影響。

雖然這只是一項小測試,不足以代表所有伺服器的狀況,但是這樣的結果代表像 Intel 與 AMD 所生產的 CPU 並不完全符合 Facebook 伺服器的需求,換句話說,如果可以重新專門為 Facebook 伺服器來設計 CPU 的硬體,把一些沒有用的部份拿掉,在硬體上可以節省非常多的成本。

Facebook 目前已經將他們伺服器上的晶片,委託 Intel 與其他的硬體公司重新設計過,讓各種硬體可以完全符合他們的需求,避免造成任何的資源浪費,接下來他們將著眼於每個主機板上的元件,希望可以讓每個元件的效能發揮到最大。

這個 Facebook 的 cache 測試是在一個新的「智慧型手機 CPU」(或稱為 wimpy cores)上執行的,基本上這是一種專門為手機所設計的硬體架構,所以它非常省電。而另外像一些硬體大廠 Dell 與 AMD 等也正在發展 ARM 架構的伺服器,至於 Intel 則是使用 Atom 的架構。

有些人低估了 wimpy core 的能力,會質疑它是否可以承受伺服器的覆載量,但事實上它是將伺服器上沒有用的部份拿掉,用較少的成本做更多的事情,就像 Facebook 這次的 cache 記憶體實驗一樣。

在目前 32 位元的 ARM 架構處理器還沒辦法取代現在主流的 CPU,但是在未來 64 位元的處理器推出之後,就有可能了,再加上 ARM 架構的處理器在授權上會比 Intel x86 的處理器更有彈性,你會有更多機會可以買到更適合自己的 CPU,例如 Facebook 不需要 3MB cache 記憶體的 CPU,他只要買 0.5MB cache 的 CPU 就夠了。

參考資料:WIRED