在當今時代,說互聯網支撐起了整個世界的半邊天毫不過分。無論金融、工業,還是機關、社會,各行各業都被互聯網串聯起來。那么你對支撐起互聯網的服務器有了解嗎?服務器的構架又是怎樣的呢?
服務器可不是你的電腦主機
要了解服務器構架,首先要先知道服務器是什么。在不少人眼中,服務器無非就是一個大機箱,和PC主機沒什么區別。
事實上,這種觀點只是說對了一半。服務器與pc主機在結構上確實有很多相似之處,都包括了中央處理器、內存、芯片組、I/O總線、I/O設備、電源、機箱和相關軟件等。但從本質上來講,服務器有固定的地址,可以為互聯網用戶提供服務節點,實現互聯網資源共享,并具備承擔和保障服務的能力。
而且,由于用戶數量的不同,服務器與電腦主機還有很多的區別。PC主機一般只針對個人,提供給單個用戶計算等服務。而服務器作為網絡的節點,需要為多用戶、多任務提供可靠的服務。服務器存儲并且處理了互聯網80%的數據和信息,是網絡的中樞和信息化的核心所在。
而從要求方面來看,服務器需要為很多共享服務(如數據庫、web應用、網絡等)提供高性能服務,這就要求其必須具備高速計算能力、長時間運行的穩定性和強大的外部數據處理吞吐能力。與PC在處理能力、安全性、可擴展性、可管理性、穩定性等多方面性能有著本質差異。
也正是因為這些不同,服務器在安全和穩定方面的要求也變更高,應對突發事故能力更強。當遭遇停機、斷網、斷電、網絡攻擊時,PC機往往會產生數據丟失等后果,而這是服務器所不能允許的事件。服務器面對的是整個網絡大量的用戶,需要保障7×24小時的穩定不間斷的工作。
為了保障服務器的安全,其采用了大量技術也是PC機所不具備的。這其中,冗余技術、系統備份、故障預警技術、內存糾錯技術、在線診斷技術、遠程診斷技術以及熱插拔技術等,由于這些技術的存,大多數情況的系統故障可以在不關閉服務去的條件下得到解決修復,這也增加了服務器的可管理性和風險應對能力。
采用對稱多處理器技術的服務器
那么如何才能保障服務器的穩定工作呢?我們都知道,服務器和pc機的核心組件叫做中央處理器,即CPU(Central Processing Unit)。而一般的PC機內部只有一個CPU,這足以運轉單個用戶正常的處理要求。而服務器則往往采用對稱多處理技術(Symmetrical Multi-Processing,SMP技術)。
采用了SMP技術的服務器可以安裝插入多個CPU,提高處理能力。但是相對的,這樣的處理器可擴展性則會較差。一般國產的小型服務器以2路、4路、8路為主,即內部裝有2/4/8個CPU。而16路和32路服務器近年來也開始變得常見,UNIX服務器,也就是我們所說的小型機,可支持多達64個CPU,而且近年來已經開發到了恐怖的128路服務器。
而且,服務器的CPU與普通PC機不同,其穩定性、緩存能力、接口、指令集、多路支持能力以及價位都有著明顯的差異。而相應的,作為網絡節點,服務器的內存在容量、性能、技術等更多方面有著根本的不同。
服務器架構該怎么分
現在的服務器多種多樣,而關于服務器分類的辦法也各有不同。
最貼近用戶分類辦法為按照服務器檔次劃分,這也是目前最普遍的一種分類方法。這種分類主要根據服務器在網絡中的層次或者檔次進行劃分。而所謂的檔次并非是指服務器CPU主頻的高低,而是以服務器的綜合性能為依據,尤其是服務器的專用技術不同而進行的劃分。
以這種分類方法來看,服務可以被分為:入門級服務器、工作組服務器、部門級服務器、企業級服務器和視頻服務器。
但是這種分類無法幫助大家認清服務器本質,而且分類太多,特點不夠明確。而另一種分類方法是以服務器的CPU設計模式,即其指令集類型來對服務器分類。這樣的話可以將服務器分為兩類:
一類是CISC(Complex Instruction Set Computer復雜指令集)架構服務器,也叫作IA(Intel Architecture,Intel架構)架構服務器,即通常所用的PC服務器。這類服務器基于PC機體結構,采用英特爾或者與之兼容的其他處理器芯片,這一架構以小巧穩為特點。
另一種則是RISC(Reduced Instruction Set Computing精簡指令集)架構服務器。這類服務所采用的CPU與日常所用CPU完全不同,使用RISC芯片并且一般會采用UNIX操作系統。此類服務器價格昂貴,但性能和數據處理能力強大。
而還有種分類則比較極端了,這種分類是以市場情況來進行劃分,將服務器分為x86服務器和非x86服務器。這種分類方法事實上是對上一種分類方法的補充和改進,CISC服務器目前以x86為其代表,但RISC服務器卻并不是服務器市場剩余的全部,一些新興的CPU設計模式正在崛起并搶占市場。但是由于x86服務器所在份額巨大,達到服務器市場的九成左右,因此采用這種分類也更為合適。
x86:帝國崛起
提到芯片巨頭英特爾,每一個互聯網用戶應該都不會感到陌生,英特爾的CPU制造技術冠絕全球,但是你知道這家巨頭企業是如何發家的么?
事情要從1978年6月8日說起,Intel發布了一款新型的微處理器“8086”。而這款處理器在新出現時并沒有得到什么關注,可是他卻創造了一個新的時代。8086意味著x86架構的誕生,而x86作為特定微處理器執行計算機語言的指令集,定義了芯片的基本使用規則。8086也直接帶動了Intel成為全球首屈一指的芯片巨頭。
而x86不僅僅使Intel平步青云,也成為了業界的一種標準。在過去的幾十年里,無論是筆記本、服務器、超級計算機還是編寫設備,都可以看到x86的身影。而且,x86架構還在通過不同的方法進行改進,無論AMD、VIA都可以通過X86指令集的彈性來對付Intel,迫使x86進行改變。
通過幾十年的技術積累,x86服務器在服務器領域的地位幾乎是獨孤求敗。小巧靈活的x86服務器在市場上應用十分廣泛,互聯網以及局域網內的文件、打印、通訊、web、電子郵件、數據庫以及應用服務等多個領域都可以一展身手。
x86:江湖紛爭
x86服務器最大的特色在于可以兼容Windows操作系統,全部都采用了Intel的CPU。而Intel的x86服務器也可以分為兩代,最初采用的80x86系列在發布了產品80486后,Intel對該系列產品進行了重新命名并注冊,這也就是現在Intel的Pentium系列,當然,這個系列在中國還有個更響亮的名字,即奔騰系列。
目前奔騰系列的CPU包括:Pentium、Pentium MMX、Pentium Pro、PII、PII Xeon(至強)、PIII、PIII Xeon、P4 Xeon、Celeron2(賽揚)等。
IBM ThinkServer情歸聯想
x86服務器的CPU由Intel一家獨大,可服務器的競爭缺頗為激烈。2014年初,聯想以23億美元并購了IBM x86服務器業務,一舉成為服務器領域全球頂級的企業。可是即便聯想得到了IBM的x86業務,整個x86市場依然混亂非常,惠普、戴爾、Oracle以及壯士斷腕的IBM依然實力強勁。回看國內,浪潮、曙光、華為等國內企業也把不同級別的服務器市場做的風生水起,服務器江湖一片混亂。
x86:廉頗未老
x86老么?從時間上來看,確實老了。x86從1978年至今已經將近40年。可經過各種風云變幻之后,x86依然是服務器行業絕對的領導者,說這樣的一個服務器行業領袖已經老去,那無非便是在指摘支撐起整個互聯網的服務器行業已老。
而且,經歷了很多代的改進和變革,x86架構服務器依然是最快的架構之一。而且現在x86也是整個行業的標桿,從技術上來看x86從未落后過,只不過是和其他架構的服務器相比差距大小是否被拉近了。
從指令集架構來看,CISC確實是有些陳舊了。即便是Intel也已經承認,CISC架構確實限制了CPU的發展。在CISC微處理器程序的各條指令相互串聯執行,指令操作也需要串行執行,按照這種方式來進行任務執行,其控制當然十分簡單,但計算機的整體利用率卻被拖了后腿,執行速度相對偏慢。這也是CISC架構為中低檔服務器所采用的原因之一。
復雜指令集是一種伴隨著計算機誕生便存在的一種指令集。其擁有較強的處理高級語言的能力,對于提高計算機性能有一定好處。而日趨復雜的指令系統不僅帶來的效率的低下,還致使系統結構的復雜性增加,這種復雜性也將導致了CISC的通用性不佳。
RISC:高手對決
事實上,CISC的問題存在并非一兩年了,在1979年,也將是x86誕生后的次年,美國的加州大學伯克利分校便發現了這一問題,而針對這些問題,一些人提出了精簡指令的設想,也就是將指令系統中使用頻率較高的少量指令提出,并提供一些必要的指令來支持系統操作和高級語言。而這個原則經過發展,于1980年IBM 801計劃完成,精簡指令集,也就是RISC正式面世。
RISC要比CISC精簡太多
RISC與CISC出生的時間相差不多,但是技術上確實針對了CISC的弱點,可謂是高手過招,滴水不漏。而RISC的特點則是指令的格式全部一致,指令周期也一樣,并采用了流水線技術。而與CISC小巧靈活的定位不同,RISC在中高端市場的優勢會更大。
也許有的人會有疑問,既然RISC 在技術上要比CISC精簡,那么為何現在稱霸服務器市場的是CISC的代表x86而不是RISC呢?這是一個很矛盾的事情,事實上,采用精簡的一系列指令來完成相同的任務要比采用單一的復雜指令會更慢。因為微處理器的設計者一般沒有時間去調整每一條可能會用到的指令,因此他們只會優化那些常用的指令,而RISC的速度自然會慢一些。
而且在上世紀80年代,CISC會使得程序變得更加緊湊,雖然操作復雜但是速度確實會更快。而RISC在輸入指令完成簡單程序時,需要從存儲器中度日指令的次數會更多,因此需要的時間也更長,在當時的工業和設計領域都對RISC的前景產生過擔憂。
但隨后人們也開始認識到一些問題,微處理器的運行速度開始變得要比內存更快了,這也就意味著增加處理器的利用率會使得整個過程變得更快。而這種趨勢正在隨著時間變得越來越強,很明顯,更多的緩存支持更高頻率的操作正在變得越發有必要,而降低CPU原本的復雜度才可能節省出一定的空間,來留給新增的緩存。
RISC:爭久必合
降低CPU復雜程度促進了RISC地位的提升,可是Intel是不會允許自己一手打造的X86就此沒落的。而事實也是如此,我們今天x86依然是行業絕對的主角,那么他是如何做到以弱克強的呢?
準確來講,現在的x86架構已經不是標準的CISC了,他吸收了RISC和CISC雙方的性能的有點,形成了獨特的、自主的x86架構。這種X86架構依然是CISC 的骨和皮,卻加入了很多RISC的特色技術,因此雖然在高端市場無法與RISC競爭,但是在占了市場主流的中低檔x86架構仍然是最快的。
而且,RISC和CISC之爭在上世紀就已經見了分曉,Pentium和P6時代二者幾乎都走向了融合的方向。CISC指令集發展為現在的x86,而RISC 指令集提醒結果則發展為現在的ARM和MIPS為代表的高性能RISC 指令集。
IBM大型機便是采用RISC構架
RISC指令位數較短,內部有快速處理指令的電路,使得指令的譯碼和數據處理等能力更強,執行效率更高,但這一切的前提都是需要編譯程序的處理,也就是上世紀所困擾RISC 的原因。而CISC指令譯碼較長,還需要機構微指令協助執行,但開發較為容易,可執行效率低,處理數據的速度慢,因此這項技術更多的被應用在中低檔的服務器構架之中。
RISC:戰火點燃
RISC和CISC握手言和,這并非服務器市場競爭結束,而是新一輪戰火點燃的信號。雙方短暫的和平還因為現在的處理器速度與指令集構架的關系越來越小,指令集構架的影響力早已被CPU微結構,甚至更為貼近底層的設計所超越。
而反觀服務器市場,在中低檔服務器全盤被x86所統治的情況下,高端服務器的競爭形勢也很激烈。在高檔服務器市場中,Compaq的Alpha、惠普的PA-RISC、MIPS公司的MIPS、SUN公司的Sparc,以及IBM的PowerPC。
在非x86服務器當中,藍色巨人IBM在技術方面的領先使其無人能當。而這一領先優勢也是讓IBM可以大膽的放手將x86業務全盤賣給老合作伙伴聯想的原因之一。無論是IBM的Z系列還是P系列,其穩定可靠性方便都得到了市場廣泛的認可。
而RISC的前景已經不再像過去的年代一樣模糊,各大公司也都意識到這一領域的重要性,開始競相發力,IBM的優勢也不再像過去一樣穩如泰山。
ARM:異軍突起
在PC領域,Intel的CPU一枝獨秀。而在移動端呢?那就當屬ARM了。ARM全稱為Advanced RISC Machine,也就是進階精簡指令集機器。ARM是RISC微處理器的代表作之一,其廣泛的在嵌入式系統設計中被使用。而且ARM處理器最大的特點在于節能,這也是其在移動通信領域無人能敵的原因之一。
谷歌高通聯手打造ARM64位服務器
在過去,ARM專注于發展32位架構,在移動端稱霸多年,讓Intel眼饞不矣。而在PC和服務器領域,Intel的市場也讓ARM十分眼紅。ARM于2011年底發布的ARMv8為其首款64位處理器,而戴爾在2013年發布了其首款基于ARM64位構架的服務器,相應的服務器解決方案也被開發出來。
專家認為,盡管Intel的x86處理器在服務器領域依然無敵,但64位的ARM構架應該可以找到自己的一席之地,ARM在內存和網絡接口同計算核心間的距離會被盡可能的拉近,并借此承載起密度極高的大量計算進程,這種特性與Web服務器及其應用十分契合。
在服務器領域,Intel的芯片也有很多水土不服的領域,比如內存容量、I/O和處理性能不成比例時,ARM處理器的表現會更加合格。ARM處理器的ISA復雜程度要低很多,開發成本也要低,相應的,ARM服務器廠商針對這些應用場景所開發的服務器也就擁有了打敗Intel的前提條件。而從這些應用環境所切入服務器市場的ARM架構服務器其針對客戶也正是x86的原有部分客戶。
而Intel是不會輕易放手的,在服務器領域,其工藝對ARM保持領先,其處理器性能也遠高于ARM處理器,可在功耗方面一直是Intel的一個心病。此外,Intel也想進軍移動端,要打敗ARM,在低功耗的服務器領域發力便是一個好的選擇。采用了14nm工藝的Xeon-D,其包括的2個1.4G的Broadwell內核和GPU的功耗才僅僅為6W,在性能功耗比方便比ARM要高出不少。
在2008年,Intel推出了Atom處理器,這款處理器是Intel史上體積最小,功耗最低的處理器,其開創出去便是之中彌補自己在移動計算領域先天不足的問題,而這一領域被ARM霸占多年,在技術和經驗中Intel都不占優勢,想要打敗ARM又談何容易?
ARM:虎口奪食
既然雙方都對對方的領域虎視眈眈,那么ARM和Intel的大戰絕對是不可避免的。那么想要進入Intel的服務器領域,ARM就需要拿出來真本事了,以其64位元處理器作為基礎的芯片設計,功耗低、成本低,具備構架彈性,以這些優勢去硬碰Intel又能有幾成勝算呢?
換個角度看,ARM芯片架構具備一定的靈活性,可以實現很多企業的特性需求,比如緩存一致性以及容錯和高可用性等,其軟件的生態環境成熟度卻不及Intel,即便是有了更多的企業關注也未必就能有把握擊敗Intel,那么又是什么支持這ARM來客場挑戰Intel呢?
決戰,無可避免
虛擬機的興起,讓ARM看到了反擊的機會。ARM64位元處理器的處理能力越來越強,而以云計算為代表,服務器的需求產生了新的變化,ARM構架服務器作為云計算的支撐構架有了新的形勢和優勢。而且隨著移動網絡和互聯網融合互通日趨明顯,ARM發展后臺數據中心已經是大勢所趨,所以與其說ARM虎口奪食倒更像是背水一戰,無論是ARM還是Intel,雙方都沒有任何退路可言。
早在2013年,百度位于南京的云計算數據中心首度對外曝光,這也是全球首個ARM架構服務器端的規模應用。在此之后,ARM架構用于云支持的案例便越來越多,相比節省能耗的x86芯片,ARM處理器功耗還要更小,這對于動輒上千臺服務器需求的云計算數據中心來講,無論是成本還是能源消耗都有著不小幅度的節省。
而且ARM構架本身是開放的, ARM本身也不生產芯片,以授權的商業方式與各種半導體芯片廠商聯手,這種商業模式也對于ARM服務器的進一步發展提供了更強的生命力。如果有一天,ARM服務器挑戰Intel x86服務器成功,請千萬不要驚訝。
MIPS:另一個攪局人
RISC的代表作ARM已經展現出足夠的強大去對抗x86,而另外一個代表MIPS則展現了足夠的潛力。
MIPS體系
MIPS(Microprocessor without interlocked piped stages )架構是有潛力和ARM相抗衡的另一個種采取精簡指令集(RISC)的處理器架構。該架構基于一種固定長度的定期編碼指令集,采用了導入/存儲(load/store)數據模型,具有從32位到64位的可擴展性。
MIPS構架有科技公司MIPS公司在1981年開發出來,經過長時間的發展,其相應的軟件開發工具和廠商支持較廣的一種嵌入式架構。MIPS包含有大量的寄存器、指令數和字符、可視的管道延時時隙,而這些特色也讓MIPS的能耗低到可以和ARM相抗衡。
MIPS的高性能緩存區及緩存管理方案具有很強的靈活性,增加了密集型數據處理、數據量、斷言操作等功能,在嵌入式市場不斷增長的計算需求里仍然可以保持領先。而且作為 MIPS最初是面向高性能科學計算支持,所以在指令集設計的時候更注重速度和性能,而非功耗和面積。
此外,相比ARM,MIPS的兼容性會更強。MIPS架構可完全向后兼容,也就是說MIPS32位架構可以在MIPS64位上無障礙運行。這一點也是MIPS可能打敗ARM的殺手锏之一。
RISC-V:顛覆者
如果說MPIS威脅到了ARM的地位,那么RISC-V便是直接威脅到了RISC的存在。RISC-V從2010年開始設計,花費了大約四年的時間才完成了RISC-V的開發過程。
顛覆者RISC-V
值得注意的是,RISC-V是一款完全開源的架構。這也就意味著RISC-V是一個現代化、完全沒有專利問題、沒有歷史問題的全新指令集,并且以BSD許可證發布。相比之下,ARM指令集架構的許可證可能高達千萬美元。
RISC-V的開發者認為,開源是這個時代不可逆轉的潮流,RISC-V不僅能讓公司受益,也可以讓大學和研究機構更好的研究全新的處理器技術和架構。這種新的商業模式不僅提高了企業的效率也降低了成本,從云計算、大數據到容器技術無一不是開源項目的受益者。
與ARM架構對比,RISC-V在功耗、性能、面積等各種層次都不輸給ARM,甚至有些層面已經超越了ARM,并且相比之下,其可擴展性更強、指令更豐富,提供免費的開源編譯和仿真環境,目前唯一需要期待的便是RISC-V的相應生態進一步的建立和成熟,當相關的產品產生后資本流入并且進一步發展,那么RISC-V取代RISC,指日可待。