關於小型機的話題近來比較熱,因為很多無論是PC服務器還是安騰服務器都聲稱自己做到了“小型機”水准。但是隨之卻把老百姓給攪暈了,以前清晰的小型機概念越來越模糊,到底什麼時候應該選擇傳統小型機,什麼時候應該選擇PC服務器呢?我把在IBM UNIX WORLD上聽到的IBM系統科技事業部System p系統工程師朱漢東先生的講解搬來共享給大家。你從中趙自己想了解的那部分吧。
小型機說了很多年,PC服務器也是大家比較熟悉的,他們區別還是非常大的,UNIX跟PC服務器的CPU不同,最簡單台式機、筆記本用的CPU Intel的奔騰等非常清楚。但是提小型機處理器的名字都搞不清楚,現在他們用的CPU處理器都叫RISC處理器,常見的Intel包括AMD都是CISC處理器,那RISC跟CISC有什麼區別,RISC是精簡指令集計算機,CISC是復雜指令計算機。RISC技術是IBM一個研究院在1974年發明的,IBM對計算機研究非常深入,在70年代就發現我們能夠用20%的指令就可以完成80%的工作,並且這20%的指令都是非常簡單和基礎的指令。如果要另外完成20%工作需要非常復雜的指令,如果要在CPU裡面實現指令,就導致CPU非常復雜,這個機器效率非常低,所以這就導致RISC技術的產生,RISC技術改寫了計算機發展的歷程。技術產生導致RISC System/6000的誕生。
其實RISC技術,CPU是一種架構,這裡面有非常多的型號,POWER5是比較典型的代表。IBM的POWER在RISC芯片裡面典型代表,RISC有一個二次跟八次法則,它的效率非常高,功率非常低,可靠性非常高。CISC代表性是大家非常了解的x86,在至強這一代處理器是非常典型的,它的特點主頻非常高,但是效率非常低,散熱量非常大,曾經看到一個新聞,以後CPU可以煮雞蛋都有可能。RISC和CISC兩種架構,設計的理念完全不同,所以中間的主頻沒有任何可比性,最重要看實際的性能。IBM POWER6會出超過4個G的了。這裡要談一下大家非常關心安騰,這兩天大家看到網上關於Intel 安騰2CPU終於出來了,現在談雙核已經不是先進技術了,IBM在2001年POWER4已經是業界第一款雙核處理器。安騰是不是RISC,安騰不是RISC架構,那它是什麼架構,他有一個架構是EPIC,這是這兩年剛剛誕生的,它是不是比RISC或CISC更先進的,它不是,它是兩個不兼容的東西,它既不是一個更先進的技術,也不是有什麼新的發明。
跟CPU緊密相關的,64位、32位,這是我們經常說的x86,從8位到16位到32位,這兩年炒64位和雙核非常多。這64位和32位有什麼區別,為什麼64位包括X86體系架構,如果32位物理內存只能訪問4G,一次訪問最大的物理內存,當然也可以通過其他的手段訪問超過4G的內存,以前8086、8088要訪問1M內存采用非常復雜的技術,在今天4G的內存對於很多應用顯得太小了,尤其是數據庫的操作,尤其是一些Java的應用服務器,Java非常吃內存的,4G內存非常小的,我這個機器配了1G內存,IBM跑System p系列服務器,如果我給你做一個方案,我們就要做一個配置,我們怎麼配,怎麼連,這程序是Java寫的非常吃內存,所以在64位機器可以提供存儲空間到64位,64位的空間多大?也就是2的64次方,比2的32次方高太多,並且可以對64位數據進行數學和邏輯運算。它表示數據的范圍更大,它的精度更准,對於大型數據庫支撐能力更強,以及對SMP擴展能力,一個存儲器支持CPU個數更多了。其實64位計算從IBM,從p的角度談得很少,因為我們在1997年、1998年談得最多的,IBM RS/6000就發布了RS64處理器,是第一款64位處理器,從那時代開始我們CPU已經全部是64位,這中間經過POWER4,POWER4+,POWER5以及POWER5+,所以我們今天64位已經是非常成熟的技術。AMD64跟Intel EM64T是什麼關系?在x86情況下的擴充,引進了64位的指令,在32位模式下不能算作典型的64位處理器,所以現在應該叫x86-64,而不是+64,真正64位處理器IBM POWER是真正64位處理器。包括EM64T是什麼意思?是增強型的64位內存技術,僅僅是一個訪問64位的內存,很多寄存器還是32位上操作,所以不是一個典型或完全意義的64位操作期,這跟我們說RISC64位完全兩碼事。
這裡面看一下IBM POWER的處理器,今天談的2001年POWER4是一個劃時代的,2001年p系列,UNIX有絕對優勢領先競爭友商,業界第一款雙核機器,到今天很多人討論真雙核,假雙核,其實真正第一款雙核處理器IBM2001年p690到p615已經全部商品化了,我們客戶享受雙核技術已經很多了年。中間經過POWER4+引進動態邏輯分區,現在大家討論做虛擬機,實際上IBM在POWER4+已經到動態邏輯分區。到POWER5引進並發多線程,到POWER5+引進了四核處理器,引進了微分區,這都是我們非常先進的技術。並且我們POWER6是呼之欲出的產品,很快大家可以看到更先進的產品。
今天POWER5+產品上的CPU類型,一個是505、510到570年用的DCM的類型,也就是雙核模塊處理器,一個裡面有兩個CPU。兩個CPU在藍顏色裡面,粉色的是緩存。高端服務器是多核模塊,在一個裡面封裝了八個POWER5+的處理器,其實中間四個裡面每個兩個CPU,角上四個是三級緩存,每個裡面有36M。在POWER5的時候,在中低端服務器,主要用雙核處理器,505到570用的效率非常高。在高端服務器上,590、595擴展到32個、64個CPU,我們發展了更先進的MCM技術,用戶對性價比要求非常高,IBM從去年開始發布了QCM(四核處理器),把先進的封裝工藝放到中低端服務器上,產生了四核處理器,今天505Q到560Q,今天的產品線凡是產品後面帶Q都采用4顆處理器,既具有高端服務器的先進封裝技術,又具有高端的性能,我們可以在同樣的機器裡面安裝更多CPU個數,性價比更高一些,讓中低端用戶可以用到高端的先進性和優越性。
坦白來說關於內存方面翻一番質量,我們用處四的都是DDR533的內存,這已經是非常先進的內存了,PC服務器也有DDR533的內存,當然更多是SDR,還有更高端用DDR633和DDR667的內存,內存有兩個關鍵,一個是內存的帶寬,是DDR多少的主頻,還有一個就是內存的可靠性是一個非常重要的話題,比如碰到Windows藍屏那是典型的內存錯誤,p系列用的內存是DDR533,這不是最好的也是差不多最好的內存。內存Chipkill什麼意思?中間相當於一個內存橋,上面有一些空閒或多余的內存位置,比如內存條1G,實際上內存容量比1G要多,設計專門留出一部分做冗余,大家看到存的信息非常像讀取硬盤,分配到四個ECC words裡,如果有原因導致內存錯誤,就可以把錯誤的信息有可能恢復回來,這樣避免非常多的內存錯誤。這是我們Chipkill內存,早在p系列誕生之前就已經發明了這個技術,我們把這個技術用在IBM的System p上面。在PC服務器裡面,非常多的主流內存保護技術,HP的ProLiant非常有代表性,它主要是Advanced ECC,還有Online Spare,ECC談了很多年,就是錯誤檢測的校驗,只能修正一位的錯誤,如果兩位錯誤修正不了,Chipkill可以檢測和修復多位錯誤,到底可以修復多少錯誤,根據你錯誤發生的原因不同,有不同的級別,有能恢復和不能恢復的,這有一個第三方的研究報告,采用Chipkill內存以後可靠性比ECC提高100倍。
前面談了CPU和內存,你用一台小型機也不會拆開來看看,所以大家在使用的過程中經常涉及小型機的擴展性,這是我們實際應用非常重要的考慮因素,你的服務器要滿足什麼樣的應用環境非常重要。擴展性兩方面,一個水平擴展性,另一個垂直擴展性。水平擴展性是指一台服務器內部有多大的擴展空間,同一台服務器配多說CPU和內存,有多少卡,有多大連接能力,以及它的靈活性。p系列服務器,從最低端到最高端的595都有強大的擴展性,System p550Q,在4U的主機櫃,這裡面可以選擇配兩顆CPU或四顆CPU雙核的,如果配雙核可以配兩顆或四顆的,也可以選擇四顆處理器,或者8個,如果選擇4個有1.5/1.6不同的配置,所以一個4U的服務器,可以配出非常多的組合,所以擴展性非常好。
垂直擴展性是整個產品線上下有多大的跨度,一台機器應用,現在國家經濟發展非常快,我的應用在這上面部署,可能過了三年,業務的壓力翻了一個數量級,需要更大的機型才能支持,p5機型,算POWER5的處理器,不算其他POWER PC和刀片服務器,最少配一個1.5GHz CPU,最大是63個2.3GHz處理器,最高tpmC可以做到400萬。
PC服務器支持的可擴展性一般不超過4路CPU配置,只有IBM可以做到16個CPU,因為x86體系結構只能允許4顆CPU,並且市場上PC服務器大部分是1路、2路以下的服務器占據市場絕大部分市場份額。如果你的應用將來增長非常大,選PC服務器遲早有一天不夠用。
這裡是看一下p系列產品,IBM p系列擴展有三,一種是向上擴展,一種水平向外擴展,還有一種是內部擴展。從最低端p5185到最高端590、595的64顆2.3GHz為MCM的處理器。這裡面帶Q的是四顆處理器。還有刀片服務器,工作站等產品線。向上擴展和向外擴展很好理解。什麼叫內部擴展,買一個POWER5+處理器可以同時運行兩個線程,有人說這和多線程沒什麼區別,但是這裡面IBM並發多線程跟大家說的多線程有什麼區別?其實有一個非常大的區別,它是CPU自己實現的硬件多線程,假設一個505Q只有1U配了4個CPU,操作系統會列出8個CPU,有4個是物理CPU,每一個CPU有兩個並發的多線程,所以系統認為是8個CPU的服務器。如果是64個CPU配滿,操作系統會認為128個CPU的服務器。所以這可以內置每一個POWER5的處理器。有了這技術可以無償獲得性能的提升,尤其是數據庫,或者Java的服務器,根據實驗室統計是可以免費獲得40-45%之間的性能提升。
下面介紹一下擴展性,這是IBM System p5 560Q的機櫃,後面有非常多的PCI擴展線,可以支持非常多的網絡設備、存儲設備等。這是內部這是CPU book,每一個裡面就有4個CPU,如果裝兩個book就8個CPU。560Q是一個中檔的服務器,它tpmC值可以滿足相當多客戶的要求,可以個CPU,這裡面配一個板子,再加一個CPU的book。如果八顆CPU服務器的560的tpmC值接近60萬,很多中小型客戶最大值也就這麼多,但是考慮將來業務的擴展性,這機器要到16路,你再會再加一個,你的系統不會重裝,也不需要重新部署。
前面談的都是一些具體的物理上的東西,CPU、內存、主頻、擴展性等,小型機和PC服務器架構完全不同,它們比較CPU主頻沒什麼可比性,更多的是看服務器的最終性能,這在大家平時的選型和使用過程當中有直接聯系的。一般考慮性能並不等於主頻,性能到底等於什麼?性能最好用你跑的應用是在線交易,是Java服務器,還是網絡服務器等,比如TPC-C測試,它是衡量服務器的綜合性指標,不是只衡量CPU或者內存,是衡量機器CPU到內存到I/O體系的連接,可以說是一個全能的體現。從TPC-C交易委員會官方網站上得到的結果,不分廠商還是單機,現在達到最好的結果前四名,這裡面沒有一台PC服務器進入這個排名,其實不光沒有進入前四名,實際上離前十名遠得很。我們看在已經公布的47次測試結果,有45次在10萬以下,只有兩次一個是11萬,一個是14萬。如果你的業務tpmC要超過10萬,比如校園一卡通的項目,tpmC值都奔著2、30萬去了,所以PC服務器根本做不到。從性能角度來看,它們的差別非常大。
回到最早的UNIX和Windows操作系統不同,PC服務系更多跑Windows,也有用戶跑Linux,如果跑Linux非常接近UNIX,小型機都是跑UNIX,前面提到對小型機廠商CPU型號不太了解,可能覺得UNIX操作系統的名字也怪怪的,UNIX AIX是我們小型機操作系統的名字。UNIX主要是多用戶,多任務的網絡操作系統,而Windows主要面向個人用戶的操作系統,從開始誕生到現在發展就是完全不同的,UNIX安全性非常高,系統管理性強,UNIX主要跑後台服務,以及中間件或數據庫等。有人覺得奇怪UNIX那麼難用,都是命令行怎麼還說是管理功能很強的操作系統,當你真正要管理一個後台服務器的時候,你發現命令行非常簡單、非常直接。反過來Windows操作系統的安全性差,經常會中病毒,甚至把整個機器廢掉的可能性都有,它的漏洞和Bug太多。但是Windows也有優點就是界面美觀,易用性強,以及游戲軟件和辦公軟件豐富。小型機裡面UNIX操作系統非常多,比如IBM的AIX等大家平時接觸的更少,Gartner做了一個預測,2008年以後,操作系統僅存在三種AIX、Linux和Windows,也就是在小型機UNIX領域,AIX是代表性的環境,其他的友商UNIX操作系統的份額將越來越少。今天在AIX上的投入是有保證的。
AIX操作系統是一個穩定性、擴展性、操作性強的UNIX操作系統,它的安全性非常好,AIX帶一個L是什麼意思,和Linux有非常好的親和性,親和到什麼程度,一種在AIX上面可以跑絕大部分Linux的應用,比如不喜歡AIX的環境和界面,喜歡Linux的KDE的界面。
總結一下,回答最開始的問題,我們給大家客觀比較一下,UNIX和PC服務器有什麼不同,UNIX小型機性能好、安全性高,擴展性強,運行關鍵性服務,是企業級客戶的選擇。PC服務器性能低,安全性較差,擴展性受局限,有大量廉價的兼容配件,並且便宜,界面也好,個人使用方便。
當你考慮小型機的時候,IBM p系列有非常大的優勢,相對友商的UNIX的小型機,我們有POWER虛擬化技術,以及POWER5的強大性能,還有RAS功能,內存可靠性只是其中一方面,以及對POWER的長久承諾,這是一個關鍵的技術,IBM POWER是IBM核心技術,IBM對這個架構有非常長久的承諾,不像其他廠商像RISC芯片前途已經十分渺茫。UNIX和Linux有很好的結合性,在我們產品有非常多的選擇,包括最低端一直到最高端的,從價格上從5萬不到一直到幾十萬、幾百萬的服務器都有,有非常大的靈活性供大家選擇。