現在一般的網路伺服器所使用的處理器(CPU)大概都是 x86 架構,但是在未來有可能會因為智慧型手機處理器的崛起而改觀。
Facebook 公司內部最近進行了一項實驗,工程師們拿平常用來提供 Facebook 網頁服務的伺服器,作為實驗品,開始亂搞它的 CPU。
CPU 中有一塊 cache 記憶體,它是用於暫時儲存 CPU 計算用的資料的地方,藉由 cache 記憶體的幫助,CPU 在計算時就可以不需要每次都去存取系統記憶體的資料,而 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