功能單一、控制嚴(yán)格的工作負(fù)載 — 如果您可以嚴(yán)格控制所運(yùn)行的應(yīng)用,那么您就可以優(yōu)化硬件,從而提供最出色的價格、性能和功耗。數(shù)據(jù)庫就是一個很好的例子,它非常重要,因此值得這么做。目前,Oracle 等已經(jīng)意識到這一點(diǎn),甚至提供了 Exadata等優(yōu)化的硬件系統(tǒng)。ARM 是否適合,都取決于您是否對功耗或性能進(jìn)行優(yōu)化。例如 Oracle的 Exadata 優(yōu)化了性能并使用英特爾至強(qiáng)處理器,而沒有使用 ARM,但是其他工作負(fù)載可能更適合使用ARM。
云計算 — 云計算在許多方面都與傳統(tǒng)的 Windows 和 Linux 實(shí)例類似。如果服務(wù)提供商不能準(zhǔn)確預(yù)測將要運(yùn)行的應(yīng)用,那么將默認(rèn)提供基于 x86 的廣泛兼容服務(wù)。此外,如果對云提供商的性價比指標(biāo)進(jìn)行判斷和對比,那么高端的至強(qiáng)處理器將是。
大型 web 資產(chǎn) — 有時候在一句話中能看到ARM 與Facebook 等名稱同時出現(xiàn)。大型 web 資產(chǎn)是一項(xiàng)特殊資產(chǎn)。首先,它規(guī)模宏大,因此節(jié)能對于整體來說非常重要。其次,工作負(fù)載受到相當(dāng)嚴(yán)格的控制,足夠穩(wěn)定。Facebook 的數(shù)據(jù)庫運(yùn)行構(gòu)成 Facebook 應(yīng)用的所有個體工作負(fù)載,但是這些工作負(fù)載通常具有相對較高的穩(wěn)定性。如果公司可以隔離部分這樣的工作負(fù)載,那么就適當(dāng)優(yōu)化基礎(chǔ)設(shè)施。
例如,可能部分與 IO 捆綁的 Facebook 處理無需大量處理。這是向環(huán)境推出 ARM 的最好時機(jī)。Facebook 嚴(yán)格控制在 ARM 處理器上運(yùn)行的應(yīng)用并可以移植它們所需的信息。大量 Facebook 應(yīng)用都是以 PHP 格式編寫的,可以在 HipHop JIT編譯引擎中執(zhí)行。如果 Facebook 將 JIT 擴(kuò)展至支持 ARM,那么公司可以在此后快速遷移大量 PHP 代碼。其他 web 資產(chǎn)也可以采用類似戰(zhàn)略。但是 Google 和微軟都已經(jīng)就使用所謂的“wimpy 核心”進(jìn)行處理進(jìn)行了撰文,而且得出了不同的結(jié)論:Google 表示不會使用,但是微軟則持謹(jǐn)慎的樂觀態(tài)度。
由此,得出一個共同主旨:在應(yīng)用兼容性方面 x86 相對于 ARM 來說具有明顯競爭優(yōu)勢。如果您運(yùn)行控制嚴(yán)格的應(yīng)用,那么使用 ARM 進(jìn)行功耗優(yōu)化則可能適合您;但是如果您希望處理各種工作負(fù)載和應(yīng)用,那么 x86 則是更好的選擇。
因此,英特爾最近推出的凌動產(chǎn)品可能是最理想的選擇。雖然它沒有 ARM 那樣絕對的高能效,但是它大幅降低了功耗,而且還保持了 x86 的軟件兼容性,并能提供服務(wù)器級別的特性,如 64 位處理能力、虛擬化和內(nèi)存糾錯。微軟發(fā)現(xiàn)
軟件兼容性這一強(qiáng)大影響因素幫助英特爾 x86 家族攀上了現(xiàn)代 CPU 的頂峰。雖然在低功耗方面 ARM 較 x86 具有明顯優(yōu)勢,但是 ARM 要求用戶放棄 x86 軟件的兼容性。在某些情況下,這是可以接受的,比如智能手機(jī)、平板電腦和高度受控的數(shù)據(jù)中心和云計算工作負(fù)載。無論是用戶不需要或者不想運(yùn)行現(xiàn)有 x86 二進(jìn)制還是代碼庫太小,遷移至 ARM 都是一個現(xiàn)實(shí)的任務(wù)。
但是,除了這些使用情形外,ARM 還面臨著一件棘手的事情。英特爾最近針對微服務(wù)器優(yōu)化的凌動處理器不僅可實(shí)現(xiàn)低功耗,而且還保留了 x86 的兼容性。雖然面臨著這些挑戰(zhàn),但是 ARM 在智能手機(jī)和平板電腦這些無需 x86 兼容性的市場還是實(shí)現(xiàn)了大幅增長。最終,智能手機(jī)/平板電腦市場的擴(kuò)大將幫助創(chuàng)建一個基于 ARM 的大型生態(tài)系統(tǒng),該生態(tài)系統(tǒng)可在數(shù)據(jù)中心內(nèi)對 x86 發(fā)起挑戰(zhàn),但是要想在專門應(yīng)用以外的領(lǐng)域?qū)崿F(xiàn)這一目標(biāo)還有很長的路要走。
雖然 ARM 架構(gòu)提供了令人不可思議的潛能,但是它仍然還處于起步階段而且面臨著許多巨大挑戰(zhàn)。首先,最新一代的 ARM 芯片尚未在第一時間為企業(yè)的數(shù)據(jù)中心做好準(zhǔn)備。到目前為止,ARM 架構(gòu)僅支持 32 位指令集,這會導(dǎo)致在企業(yè)中出現(xiàn)問題。大部分服務(wù)器操作軟件和企業(yè)級應(yīng)用都基于 64 位架構(gòu),無法在當(dāng)前的 ARM 芯片和平臺上運(yùn)行。Calxeda、Applied Micro 和 AMD 都已經(jīng)意識到這一大問題,因此都宣布將在 2013 年末或 2014 年初發(fā)布 64 位版本。
其次,即使 64 位 ARM 芯片可用,也需要針對 ARM 架構(gòu)對許多企業(yè)應(yīng)用進(jìn)行重新編寫或重新編譯。微軟已經(jīng)開始開發(fā)面向 ARM 的 64 位版本,而 Facebook、惠普、AMD、三星和其他廠商最近發(fā)起成立了 Linaro Enteprise Group,以加速基于 ARM 架構(gòu)的軟件開發(fā)。目前尚無廠商使用 ARM 處理器構(gòu)建商用云。雖然去年 7 月,Rackspace、惠普、Canonical 和其他 OpenStack 成員宣布了他們開發(fā)基于 ARM 的云的意圖,但是目前唯一上市的產(chǎn)品僅是 ARM sandbox 上可通過 TryStack使用的 OpenStack Essex 。