註解高端UNIX服務器之技術 - 中國WEB開發者網絡 (http://www.webasp.net) -- 技術教程 (http://www.webasp.net/article/) --- 註解高端UNIX服務器之技術 (http://www.webasp.net/article/11/10855.htm) |
| -- 作者:未知 -- 發佈日期: 2004-06-11 |
|
對於服務器而言(不管是PC服務器,還是UNIX服務器),單純地提高單個處理器的運算能力和處理能力正在變得越來越難,雖然許多製造商從材料、工藝和設計等方面進行了不懈的努力,近期內仍然使得CPU保持著高速的增長勢態,但高頻之下的高功耗所引起的電池容量問題和散熱問題等負面效應,以及這些負面效應對整機系統產生的電磁兼容性問題,又反過來將CPU運算能力的提升推到了暮年。顯然,提高單個處理器速度和性能已是強弩之末,而研發多個CPU的並行處理技術,才是真正提高現代服務器處理能力和運算速度的有效途徑。這也正是多處理器服務器不僅是UNIX服務器的專利,而且也是已經在PC服務器中普遍採用的原因。目前,業界比較關注的並行處理技術主要有SMP技術、MPP技術、COMA技術、集群技術和NUMA技術等。 1.SMP技術 在非對稱多處理系統中,任務和資源由不同處理器進行管理,有的CPU只處理I/O,有的CPU只處理操作系統的提交任務,顯然非對稱多處理系統是不能實現負載均衡的。在對稱多處理系統中,系統資源被系統中所有CPU共享,工作負載能夠均勻地分配到所有可用處理器之上。 目前,大多數SMP系統的CPU是通過共享系統總線來存取數據,實現對稱多處理的。如某些RISC服務器廠商使用Crossbar或Switch方式連接多個CPU,雖然性能和可擴展性優於Intel架構,但SMP的擴展性仍有限。 在SMP系統中增加更多處理器的難點是系統不得不消耗資源來支持處理器搶佔內存,以及內存同步兩個主要問題。搶佔內存是指當多個處理器共同訪問內存中的數據時,它們並不能同時去讀寫數據,雖然一個CPU正讀一段數據時,其他CPU可以讀這段數據,但當一個CPU正在修改某段數據時,該CPU將會鎖定這段數據,其他CPU要操作這段數據就必須等待。 顯然,CPU越多,這樣的等待問題就越嚴重,系統性能不僅無法提升,甚至下降。為了盡可能地增加更多的CPU,現在的SMP系統基本上都採用增大服務器Cache容量的方法來減少搶佔內存問題,因為Cache是CPU的「本地內存」,它與CPU之間的數據交換速度遠遠高於內存總線速度。又由於Cache支持不共享,這樣就不會出現多個CPU搶佔同一段內存資源的問題了,許多數據操作就可以在CPU內置的Cache或CPU外置的Cache中順利完成。 然而,Cache的作用雖然解決了SMP系統中的搶佔內存問題,但又引起了另一個較難解決的所謂「內存同步」問題。在SMP系統中,各CPU通過Cache訪問內存數據時,要求系統必須經常保持內存中的數據與Cache中的數據一致,若Cache的內容更新了,內存中的內容也應該相應更新,否則就會影響系統數據的一致性。由於每次更新都需要佔用CPU,還要鎖定內存中被更新的字段,而且更新頻率過高又必然影響系統性能,更新間隔過長也有可能導致因交叉讀寫而引起數據錯誤,因此,SMP的更新算法十分重要。目前的SMP系統多採用偵聽算法來保證CPU Cache中的數據與內存保持一致。Cache越大,搶佔內存再現的概率就越小,同時由於Cache的數據傳輸速度高,Cache的增大還提高了CPU的運算效率,但系統保持內存同步的難度也很大。 在硬件方面,SMP可以在UltraSPARC、SPARCserver、Alpha以及PowerPC架構上實現,也可以利用包括486以上所有Intel芯片來實現。 2.集群技術 常見集群技術有: (1)服務器鏡像技術 (2)應用程序錯誤接管集群技術 錯誤接管集群技術是將建立在同一個網絡裡的兩台或多台服務器通過集群技術連接起來,集群節點中的每台服務器各自運行不同的應用,具有自己的廣播地址,對前端用戶提供服務,同時每台服務器又監測其他服務器的運行狀態,為指定服務器提供熱備份服務。 錯誤接管集群技術通常需要共享外部存儲設備—磁盤陣列櫃,兩台或多台服務器通過SCSI電纜或光纖與磁盤陣列櫃相連,數據都存放在磁盤陣列櫃上。這種集群系統中通常是兩個節點互為備份的,而不是幾台服務器同時為一台服務器備份,集群系統中的節點通過串口、共享磁盤分區或內部網絡來互相監測對方的心跳。 錯誤接管集群技術經常用在數據庫服務器、MAIL服務器等的集群中。這種集群技術由於採用共享存儲設備,所以增加了外設費用。它最多可以實現32台機器的集群,極大地提高了系統的可用性及可擴展性。目前在提高系統的可用性方面用得比較廣泛的是應用程序錯誤接管技術,即我們通常所採用的雙機通過SCSI電纜共享磁盤陣列的集群技術。 (3)容錯集群技術 容錯集群技術的一個典型的應用即容錯機,在容錯機中,每一個部件都具有冗余設計。容錯集群技術的實現往往需要特殊的軟硬件設計,因此成本很高,但是容錯系統最大限度地提高了系統的可用性,是財政、金融和安全部門的最佳選擇。 3.NUMA技術 對稱多處理也是一種共享存儲器的多處理機結構。它的單一尋址空間、簡單的編程方式、操作方便是其容易普及的主要原因。大規模並行處理(MPP)屬於集群系統這一類體系結構,它的優勢是可擴展性好,但需要並行編程和並行編譯,使用不便。NUMA系統把SMP與集群的優勢結合在一起,它既有SMP的可編程性,又具有集群的可擴展性。實際上,這一「優勢的結合」實為一種折衷,其中關鍵是尋求結合的途徑並確定結合點。 NUMA3系統架構的由來 第三代NUMA系統採用不同的功能模塊(Brick)構成,這些模塊比第二代NUMA機的模塊小,功能更專一、更具可擴展性,而且尺寸標準化,這就進一步增加了系統的靈活性。 在第三代NUMA服務器中,採用性能更好的交叉開關Bedrock,所有的處理器和存儲器通過Bedrock連接在一起。這些處理器、存儲器和交叉開關的結合組成了稱為NUMAlink的互聯結構。另外,在第三代NUMA服務器中採用了更先進的路由芯片,通過使用特殊的光纜提供具有高帶寬和極低延遲的互聯網絡,路由芯片所有的Bedrock交叉開關連接起來形成一個單一的、連續的達1TB的存儲空間。處理器和本地以及遠程存儲器之間的通信寬帶(雙向)由原來的1.6GBps提高到3.2GBps。另外,電源採用N+1的冗余方式,因此可靠性也進一步提高。 在NUMA體系結構中,每個處理器與自已的本地存儲器和高速緩存相連,多個處理器通過處理器、存儲器互聯網絡相連。處理器還通過處理器、I/O網絡訪問共享的I/O和外圍設備。至於處理器之間的通信則通過可選的處理器之間的通信網絡來實現。NMUA技術在科學與工程計算領域具有不可替代的地位,在聯機事務處理(OLTP)、決策支持服務(DSS)和Intranet以及Internet中的地位也越來越重要。目前,NUMA並行機的處理器數目可達到512個,且帶寬可隨處理器數目基本上呈線性擴展。這樣大的處理器數,使單一系統映像的NUMA機足以覆蓋絕大多數的應用。首先,由於它具有與SMP相同的編程模式,因此在科學與工程計算領域具有不可替代的地位;其次,由於它具有共享內存和良好的可擴展性優勢,所以能很好適應企業數據中心的多種應用。 今天,NUMA系統能夠運行世界上一些最大的UNIX數據庫應用,而且正被廣泛接受為電子商務的主流技術,包括處理功能、I/O的大規模可擴展性、高可用性、工作負荷和資源管理的廣泛靈活性,而且無需改變SMP編程模型。 存儲一致性與ccNUMA 在ccNUMA系統中,每個CPU有一個私用高速緩衝存儲器。為了得到較好的性能,CPU經常在它的高速緩存中取指令及存儲數據。在這種系統中,一個存儲器地址的內容可以有許多獨立的拷貝給各個CPU。如果每個CPU指向同一個存儲器地址,則每個CPU的高速緩存將得到該地址的內容拷貝。但是當一個CPU修改該地址的內容後,必須阻止其他各個CPU使用當前已經「過時」的數據,這就是所謂高速緩存一致性問題。那麼如何保證所有高速緩存能反映存儲器的真實情況呢? 高速緩存一致性不是用軟件來實現,它必須用硬件來管理。高速緩存一致性問題也不是用CPU來實現,而是用Hub芯片中的部分輔助線路來實現。為了提高系統的帶寬和規模可伸縮性,在採用ccNUMA體系結構的服務器中,不採用基於總線的廣播方法,而是採用基於目錄的高速緩存一致性方案。任何時候,當一個節點請求訪問存儲器中某一Cache行時,它的集線器就啟動曾經訪問過該行節點的高速緩存,並把Cache行的存儲器數據拷貝到這一節點的高速緩存中。當存儲器中的Cache行未被獨佔時,其他各節點就可按同樣方式通過互聯網絡從高速緩存中讀取該行數據。當一個CPU要修改一個Cache行時,它必須取得獨佔權。為此,集線器從目標行的狀態位中進行檢索,並發送一個無效信息給對該行數據作過拷貝的每個節點,在目錄存儲器中設置了對內容作修改的節點的編號。當一個CPU要讀一個Cache行,且該行被獨佔時,集線器就要求該節點對這個Cache行作拷貝。其他節點則通過互聯網絡從擁有獨佔權節點的高速緩存中拷貝該Cache行的最新信息。如果兩個節點要求同時訪問某一Cache行時,則有協議來保證某個節點去訪問該Cache行。 ccNUMA結構的服務器在性能、靈活性、可用性方面都能適合用戶多種應用的要求,它已成為當今互聯網經濟時代非常卓越的Internet/Web服務器,特別是在寬帶因特網中作為多媒體應用的核心服務器。與集群不同的是,集群採用一種鬆散的結合方式,在幾台機器之間相互通信,內部交換時間長、消耗大,而且把幾台機器作為一個系統管理,勢必增加了管理上的難度。而ccNUMA計算機則不同,無論它內部有多少個處理器,對用戶來說,它也僅僅是簡單的一台計算機。 總而言之,ccNUMA克服了SMP和集群的某些弊端,在他們不能施展才能的地方發揮了作用。 模塊化結構 模塊化服務器的最大好處之一,就是可以保護客戶的投資。模塊化服務器是一種可伸縮的服務器,客戶可以隨著業務需要,通過向服務器中添加各種模塊,擴展他們的服務器系統;另一個顯著優點是維護管理十分方便。模塊化服務器增強了系統的可用性和容錯性。從高性能多處理器計算機體系結構觀點來看,ccNUMA體系結構,把多個處理器通過路由器光纖互聯在一起,系統帶寬可隨系統規模擴大而增加,從而克服了基於總線的SMP體系結構所造成的瓶頸。ccNUMA結構採用超立方體的多維互聯特性,加上模塊化計算所帶來的靈活性,使系統的可伸縮性達到了前所未有的水平,同時節省了費用。因此,模塊化的NUMA服務器在靈活性和經濟性方面達到了一個新境界。 硬件分區 長久以來一直存在著一個話題:UNIX服務器能否替代專有系統。這同樣是一個見仁見智的問題,但是不容忽視的事實是,各UNIX廠商在高端產品不斷推陳出新,增加產品的技術內涵,既以達到並超過大型主機為目標,又作為自己UNIX技術的集中體現,與其他UNIX廠商競爭。 當然, UNIX技術的發展決不能僅限於性能和功能上。在安全性和管理性上,UNIX服務器有不少需要向主機學習的地方。但是,高端UNIX系統已經基本可以滿足主機用戶的要求,並且在各廠家的推動下更快地進步。UNIX佔據主機的部分市場也將是不可避免的。這就和NT服務器和低端UNIX服務器的競爭有些類似。 隨著市場競爭的日益加劇和IT企業的大規模兼併,曾經出現的幾十家UNIX廠商競相角逐的景像已不復存在。目前僅剩下幾家UNIX廠商,他們把持了UNIX服務器的市場和技術發展趨勢。下面我們就看看幾款有代表性的產品。 HP 9000 Superdome高端UNIX服務器 Superdome服務器主要面向大型互聯網企業、互聯網服務提供商,以及開發電子商務戰略,需要處理大量數據的企業。 Superdome是惠普公司在繼V系列之後推出的第一款支持64個及可無限擴展微處理器的服務器,可以同時支持PA-RISC和IA64處理器。64個CPU的一款可支持256GB內存,I/O插槽最多可達192個。Superdome提前做好了開放系統的集成工作,可在同一台系統上分區,運行HP UX-11i、Linux、MPE和Windows NT;性能可以通過硬件物理分區、多級分區、軟件虛擬分區和綜合動態分區等功能獲得提高。惠普為Superdome制定了全新的銷售定價方式和服務模式-「全面客戶服務模式」。Superdome的客戶將得到惠普公司的全套解決方案,使客戶在系統革新、建設、運行和發展升級四個使用階段中都能全程享受到惠普提供的支持服務。 IBM p系列680服務器
680中配備的微處理器採用了絕緣硅(SOI)技術。該技術通過在芯片電路上塗上一層絕緣體,降低了電流發熱。芯片熱度的降低不僅可以提高運行速度,還可以減少運行錯誤,或系統崩潰的機率。680配備的CPU運行頻率為600MHz,每一枚微處理器的緩存容量為16MB,系統內存容量為96GB,SMP配置最多可達4個6路處理器模塊。 Sun Enterprise 10000服務器 Sun Enterprise 10000運行在Solaris操作環境下,對於基於主機的或客戶機/服務器的各類應用,如在線交易處理、決策支持系統、數據倉庫、通信服務或多媒體服務等,它都是理想的通用服務器或數據服務器。 Sun E10000脫胎於CRAY的CS6400,是第一個具有硬件分區(Hard Partition)功能的UNIX高端服務器,同時也是第一個達到64路SMP計算的UNIX單機。它採用Sun UltraSPARCII 400MHz處理器,最多可配置64個CPU,最大內存容量為64GB,可以實現最多16個分區(或稱為域),在線磁盤存儲容量可達64TB,具有動態重組特性(可提供在線服務能力)和動態系統域特性。通過在系統的核心部位採用Gigaplane-XB互連,提供的數據帶寬可達到每秒12.8GB。 SGI Origin 3000服務器 SGI Origin 3000高性能服務器新產品採用SGI NUMAflex結構,即SGI新型模塊化計算結構或稱為第三代NUMA架構。SGI 3000服務器可以從兩個64位的MIPS RISC CPU的最低配置擴展到512個CPU的共享存儲的多處理器系統。另外,SGI的InfiniteReality3圖形子系統也可以集成到該結構中。 第三代NUMA服務器採用模塊化設計,7種基本模塊分別是CPU擴展模塊、磁盤存儲器擴展模塊、基本的I/O模塊、PCI擴展模塊、路由器互聯模塊、XIO擴展模塊和圖形擴展模塊。模塊化設計使系統配置更加靈活,更加經濟高效,並具有很高的容錯性和系統擴充性,能為客戶提供可靠的總體投資保護和卓越的性能。 |
| webasp.net |