ARM和英特爾處理器架構之爭不斷升溫。英特爾x86如今的地位確實難以動搖,但是ARM具有顯著的功耗優勢,在未來更具吸引力。那么什么樣的CPU最能滿足未來的需求呢?
ARM于2011年發布了Cortex-A15處理器,它采用多核無序超標量設計,主頻可高達2.5GHz。Cortex-A15具有重要意義,因為它與前代的ARM設計背道而馳,前代ARM處理器以犧牲性能為代價實現最低能耗。相反,Cortex-A15以實現強大的性能指標為明確目標,而把低能耗放在了次要位置。ARMHoldings從本質上來說是一家向其他制造商發放自身設計許可的知識產權公司,由制造商制造芯片,然后再將芯片應用于其他制造商的系統產品之中。2012年底,市場上開始出現采用Cortex-A15設計的產品,預計2013年將會出現更多此類產品。
但是,想要贏得未來競爭的處理器公司并不只ARM一家。幾周前,英特爾針對數據中心發布了基于自身凌動架構的全新低功耗CPU。凌動S1200系列旨在提供x86在低功耗片上系統上的指令集兼容性,。凌動S1200系列主要針對微服務器和其他以性能為導向、功耗較低的應用。
以下是三星Exynos5250(對最近推出的Cortex-A15的授權實施)和英特爾凌動S1260(S1200系列的高端產品)的簡要對比情況。Exynos5系列應用于最新的SamsungGoogleChromebook和Nexus10平板電腦中。需要特別說明的是,三星Exynos5250與英特爾凌動S1260這兩款處理器都僅是龐大的處理器家族中的,因此對某一市場所進行的最佳優化并不完全適合另一個市場。最典型的示例就是Exynos的4GB內存限制,這對于移動應用來說很正常,但是顯然并不適合云計算。但是,Cortex-A15架構采用了一個40位的分頁內存算法(“大物理地址擴展”),可支持高達1TB的內存。
注意:Exynos5250的功耗目前尚且未知,難以獲取。我尋遍所有三星文檔,也未能發現。我唯一的收獲是在StreamComputing找到了電壓預估。這一數值可能并不正確。此處的主要目的是說明它的功耗相當低,可能低于凌動1260。
現在的問題是ARM和英特爾x86哪款CPU更好?然而這將引發另外一個問題:在哪方面更好?Leverhawk主要感興趣的兩個市場是移動計算和云計算,因此,此后的分析也將更側重于這兩方面的內容。
將要進行對比的主要因素包括:
功耗
性能
應用兼容性
數據中心特性
移動計算
在移動世界,如果其他條件都相同,那么功耗則是取得成功重要的決定性因素。雖然晶體管數量、內存大小和磁盤容量都在不斷增加,但是電池性能并未隨之增強。ARM架構具有相當出色的能效,因此,目前它廣泛應用于包括智能手機和平板電腦在內的各種移動設備中。但是除了智能手機和平板電腦外,移動市場還包括筆記本電腦和上網本。
談到智能手機和平板電腦時,用戶通常會有這樣的想法,“我希望設備能夠隨身攜帶,而且至少能夠運行一整天不用充電。設備不能太重,所以不能使用巨大的電池;設備必須具有出色的能效。但是除了電池需要能夠保持一整天外,我還需要設備保持較快的速度,因為我希望一直在設備上運行各種應用。我無需在手機或平板電腦上運行與臺式機相同的系統;我希望購買新軟件,以適合新的使用模式。我不需要TB級的內存或者像ECC那樣卓越的數據中心特性。”
只要摒棄對現有操作系統和應用的依賴并假定會出現新的應用環境(比如iOS和Android),那么ARM將是絕對的贏家,因為它具有更出色的能效,同時還能提供良好的性能。
而筆記本電腦和上網本市場考慮的則會稍有不同。可能會是這樣,“我希望電池能使用3到6個小時而無需充電。設備可以大一點、重一點,因此可以使用容量更大的電池。希望它能夠像臺式機設備那樣,只不過是移動的。所以,我希望設備能夠運行臺式機的應用。使用電池時我可以在性能上做出一些犧牲,而插上電源后則可以獲得出色的性能。我需要幾GB的RAM,但是無需卓越的數據中心特性。”
在這種情況下,操作系統和應用的兼容性是需要考慮的主要特性,因此高能效的x86設計將是更好的選擇。
現在,這一切都顯而易見,因為市場已經在按照這個趨勢發展。讓我們來看一下我們能否提取出一些要點:
ARM將繼續在移動設備領域中表現出色,而移動設備中出現新操作系統和應用環境則是再正常不過的了。用戶無法運行臺式機應用,而且電池使用時間也非常重要。
但是,ARM短期內在筆記本電腦或上網本領域難以取得重要斬獲。如果我需要一臺可移動的臺式機,我希望能使用所有現有軟件。除非iOS或Android可以在具有傳統鍵盤的設備上運行,并開發一個足夠豐富的生態系統來替代我的所有臺式機功能,否則這種現狀難以改變。
可能會有一種例外,那就是高度受限的筆記本電腦/上網本,比如GoogleChromebook。在這些設備上使用web瀏覽器通過網絡運行應用。這些設備并非適用于所有人,但是由于對全部軟件堆棧的嚴格控制以及使用的相關轉變,他們可以而且已經使用了ARM。
英特爾在手機和平板電腦等較小設備上的表現并不盡如人意。雖然最新的凌動設計與傳統的x86標準相比具有相當出色的能效,但是它們的性能功耗比還是難以媲美最新的ARM設計。如果不需要與傳統的臺式機電腦軟件相兼容,那么x86則沒有任何優勢。比如,我們看到微軟新的SurfaceRT平板電腦使用的是ARM,而新的SurfacePro因為需要提供傳統Windows臺式機的兼容性,則使用的是x86。不過,SurfacePro電池的使用時間只有SurfaceRT的一半。
這些要點最終顯示,對于傳統的Wintel生態系統巨人微軟和英特爾來說,ARM是一個巨大的威脅。如果再考慮到智能手機和平板電腦正在成為許多移動員工的主要設備、移動是主要增長市場等因素,那么這一威脅將無限放大。風險投資公司KleinerPerkinsCaulfieldandByers的合伙人MaryMeeker最近發布了一份報告,證明了這一觀點。目前,為iPad或Android平板電腦加裝鍵盤變得越來越普遍,而這將提高其與筆記本電腦和上網本的競爭力,推動ARM需求的增長。
云計算
那么,云計算和服務器端應用呢?在這種環境中,英特爾x86架構適合在家庭中應用。事實上,目前大多數數據中心使用的都是英特爾至強產品。但在未來,是否將發生改變?ARM在數據中心內的價值定位簡單明了:ARM具有出色的能效,而數據中心則需要大量耗能。使用基于ARM的處理技術可以降低數據中心的整體功耗,從而降低運行成本;同時更出色的散熱密度還有助于推動小型數據中心的發展。
理論上聽起來不錯,但實際能否站得住腳呢?
為了回答這個問題,我們需要對將要運行的預期工作負載有所了解。關鍵的幾個工作負載包括:
傳統的Windows和Linux實例
功能單一、控制嚴格的工作負載,如數據庫
云計算
大型web資產
讓我們依次來了解這些工作負載
傳統的Windows和Linux實例——這是如今我們所熟知的傳統的IT工作負載。用戶希望運行各種隨機的Windows或Linux工作負載。在這一應用中,應用軟件的兼容性是關鍵所在。硬件必須能夠在各種應用間提供出色的性能。x86在該情況下大放異彩。目前,微軟正在研究面向ARM的Windows端口。雖然這將幫助遷移部分工作負載,但是它不能幫助遷移已經在x86上運行的數十萬企業應用。
功能單一、控制嚴格的工作負載——如果您可以嚴格控制所運行的應用,那么您就可以優化硬件,從而提供最出色的價格、性能和功耗。數據庫就是一個很好的例子,它非常重要,因此值得這么做。目前,Oracle等已經意識到這一點,甚至提供了Exadata等優化的硬件系統。ARM是否適合,都取決于您是否對功耗或性能進行優化。例如Oracle的Exadata優化了性能并使用英特爾至強處理器,而沒有使用ARM,但是其他工作負載可能更適合使用ARM。
云計算——云計算在許多方面都與傳統的Windows和Linux實例類似。如果服務提供商不能準確預測將要運行的應用,那么將默認提供基于x86的廣泛兼容服務。此外,如果對云提供商的性價比指標進行判斷和對比,那么高端的至強處理器將是。
大型web資產——有時候在一句話中能看到ARM與Facebook等名稱同時出現。大型web資產是一項特殊資產。首先,它規模宏大,因此節能對于整體來說非常重要。其次,工作負載受到相當嚴格的控制,足夠穩定。Facebook的數據庫運行構成Facebook應用的所有個體工作負載,但是這些工作負載通常具有相對較高的穩定性。如果公司可以隔離部分這樣的工作負載,那么就適當優化基礎設施。例如,可能部分與IO捆綁的Facebook處理無需大量處理。這是向環境推出ARM的最好時機。Facebook嚴格控制在ARM處理器上運行的應用并可以移植它們所需的信息。大量Facebook應用都是以PHP格式編寫的,可以在HipHopJIT編譯引擎中執行。如果Facebook將JIT擴展至支持ARM,那么公司可以在此后快速遷移大量PHP代碼。其他web資產也可以采用類似戰略。但是Google和微軟都已經就使用所謂的“wimpy核心”進行處理進行了撰文,而且得出了不同的結論:Google表示不會使用,但是微軟則持謹慎的樂觀態度。
由此,得出一個共同主旨:在應用兼容性方面x86相對于ARM來說具有明顯競爭優勢。如果您運行控制嚴格的應用,那么使用ARM進行功耗優化則可能適合您;但是如果您希望處理各種工作負載和應用,那么x86則是更好的選擇。
因此,英特爾最近推出的凌動產品可能是最理想的選擇。雖然它沒有ARM那樣絕對的高能效,但是它大幅降低了功耗,而且還保持了x86的軟件兼容性,并能提供服務器級別的特性,如64位處理能力、虛擬化和內存糾錯。微軟發現,使用凌動處理器處理Bing工作負載時,雖然為了滿足性能需求需要進行悉心優化,但可帶來大量優勢。
結論
軟件兼容性這一強大影響因素幫助英特爾x86家族攀上了現代CPU的頂峰。雖然在低功耗方面ARM較x86具有明顯優勢,但是ARM要求用戶放棄x86軟件的兼容性。在某些情況下,這是可以接受的,比如智能手機、平板電腦和高度受控的數據中心和云計算工作負載。無論是用戶不需要或者不想運行現有x86二進制還是代碼庫太小,遷移至ARM都是一個現實的任務。但是,除了這些使用情形外,ARM還面臨著一件棘手的事情。英特爾最近針對微服務器優化的凌動處理器不僅可實現低功耗,而且還保留了x86的兼容性。雖然面臨著這些挑戰,但是ARM在智能手機和平板電腦這些無需x86兼容性的市場還是實現了大幅增長。最終,智能手機/平板電腦市場的擴大將幫助創建一個基于ARM的大型生態系統,該生態系統可在數據中心內對x86發起挑戰,但是要想在專門應用以外的領域實現這一目標還有很長的路要走。
內幕
雖然ARM架構提供了令人不可思議的潛能,但是它仍然還處于起步階段而且面臨著許多巨大挑戰。首先,最新一代的ARM芯片尚未在第一時間為企業的數據中心做好準備。到目前為止,ARM架構僅支持32位指令集,這會導致在企業中出現問題。大部分服務器操作軟件和企業級應用都基于64位架構,無法在當前的ARM芯片和平臺上運行。Calxeda、AppliedMicro和AMD都已經意識到這一大問題,因此都宣布將在2013年末或2014年初發布64位版本。
其次,即使64位ARM芯片可用,也需要針對ARM架構對許多企業應用進行重新編寫或重新編譯。微軟已經開始開發面向ARM的64位版本,而Facebook、惠普、AMD、三星和其他廠商最近發起成立了LinaroEntepriseGroup,以加速基于ARM架構的軟件開發。目前尚無廠商使用ARM處理器構建商用云。雖然去年7月,Rackspace、惠普、Canonical和其他OpenStack成員宣布了他們開發基于ARM的云的意圖,但是目前唯一上市的產品僅是ARMsandbox上可通過TryStack使用的OpenStackEssex。
此外,尚存的疑慮還包括ARM服務器是否在數據中心內支持特定工作負載,或者它們是否能夠真正取代x86架構。ARM特別適合web擴展應用和數據分析,但是更多常用企業工作負載和常見云服務的價值定位還有待觀察。
最后一個挑戰是數據中心采購者本人的性格,這些人通常保守、善變、不希望有任何風險存在。他們不僅需要熟悉ARM技術和廠商,而且需要熟悉多個架構的潛在需求,以便支持他們的數據中心。
2014年將是ARM、企業和云具有發展機遇的一年。雖然問題和挑戰依然存在,但將值得期待。
評論