多路服務器一直是技術復雜度最高的領域,在實際應用中,承擔的都是關鍵應用,如數據庫、云計算等,而且隨著新一代信息技術的發展,用戶對其更是青眼有加。出色的擴展性和可靠性是多路服務器最明顯的優勢,本文就談談多路服務器的擴展性和可靠性設計。
擴展性就大規格
當業務實現了翻番增長后,是要購買一臺新服務器,還是購買一些模塊來擴展原來的服務器?客戶顯然更傾向于后者,因為可以節省投資。這就是擴展性帶來的直觀受益。
多路服務器在設計方面要將規格盡量做大,將處理器、芯片組等核心器件的擴展能力發揮至極限。以八路服務器 天梭860為例,CPU支持3組QPI總線,通過排列組合,可以實現8顆處理器全線速互聯;內存擴展方面,每個處理器有4個訪存通道,在每個通道上配置Memory buffer,擴展內存數量至每處理器24條,確實把CPU,Memory buffer的擴展能力發揮至極限。
在I/O擴展方面,TS860支持26個PCI-E3.0插槽,也是業界最大的擴展性。
高擴展還會有效提高平臺的負載能力,這對于虛擬化、云計算、數據庫等應用至關重要。浪潮新一代高端8路服務器TS860,單機配置144個核心,12TB的內存容量,這樣的基礎平臺可以支持更多的虛擬機。對數據中心而言,將虛擬機部署在多路服務器上,可大幅降低能耗,并可減少被管理的節點。
高擴展性會給服務器設計帶來一系列難題,最大的難題是走線數量多,密度大,高速信號的串擾問題不好解決,而且中背板連接器數量增加,插拔力增大,對中板以至機箱的機構強度挑戰很大,浪潮都很好的解決了這些問題。
高擴展需要高性能設計
值得注意的是,讀者可能存在一個誤區,那就是擴展性是部件的堆砌,配置越高,擴展性越高。其實不然,擴展性必須有良好的性能設計作為保證,系統整體優化尤為重要,而且這也是一項非常專業和重要的工作。舉個例子,仔細研究Intel內存控制器說明書的人會發現,同一個內存通道插兩根內存比插三根內存跑的速率高;在整系統中也是一樣,CPU間的訪問機制是以Home Snoop還是以Source Snoop,放幾顆CPU,通過哪種機制訪問其性能是不一樣的;訪存性能尤為關鍵,文章前部分也說明了訪問cache,本節點訪存,和跨節點訪存在性能方面的差異,那么如何保證cache的高命中,如何控制數據盡量在本NUMA域操作,是浪潮人研究的重點;同時良好的散熱環境和較低的數據傳輸誤碼率都將提升系統性能。
細致、周到、專業,浪潮在性能設計方面有很強的技術積累,有因必有果,天梭860在SPEC CPU測試中全球排名第一。
可靠性設計,要并聯不要串聯
最后,說說系統的可靠性,也是作為多路服務器最為關鍵的特性。
試想如果多路服務器不穩定,那么數十TB的內存計算,幾百個的虛擬機將遭受滅頂之災。所以多路服務器的可靠性至關重要,業界要求至少5個9,也就是99.999%。
可靠性設計,要考慮兩種模型,一種是并聯模型,另一種是串聯模型。并聯模型是指該部件或器件損壞后仍有其他的并聯設備正常工作,整系統仍可保持工作狀態;串聯模型是指如果該部件或器件損壞,那么這里就是個單點故障,系統無法正常工作。
所以,在設計時,要注意盡可能設計并聯模型,降低單點故障點。如業界常見的冗余風扇,冗余電源,都屬于并聯模型。浪潮不但在部件上做到并聯模型,在功能電路上也做了并聯設計,如核心總線byteline就是并聯設計,出現故障時,通過降級帶寬的方式保證數據繼續傳輸;再者,所有的數據都是參考時鐘的,為了保證系統可靠性,浪潮將特定的數據lane設計為時鐘的并聯模型,當時鐘出現問題是,數據lane降級帶寬,拿出特定的數據lane代替時鐘傳輸,以保證系統正常運行。
可靠,要遞進式容錯
系統不僅要能夠容忍各類錯誤,還要偵知、記錄和管理這些錯誤,因而,關于可靠性設計,還有一個重要的方法就是遞進式容錯。
意思是將容錯分為幾個階段,如初級,中級和高級。以出現訪存故障為例,當有1bit數據錯誤時,系統采用自動設置的ECC校驗并修復出錯bit。我們認為系統處在初級容錯階段,只記錄日志不去干預處理。
當再有額外的bit數據出錯時,我們認為系統處在中級容錯階段,就要引起足夠重視,執行數據遷移,啟用并聯的冗余模型,并隔離出錯單元。
如果再次出現bit數據錯誤,則系統進入高級容錯階段,大范圍隔離故障單元,如CPU,內存,I/O等,以降低性能為代價,保證整系統正常運行。
隨著云計算、移動互聯、BYOD等新一代信息化應用的發展,用戶業務系統的訪問壓力和數據增長速度都在不斷攀升,另一方面,對于一些壓力不大或者邊緣系統,用戶為了簡化管理,降低成本,都開始采用虛擬化和云計算技術進行整合,這些使得多路服務器在實際應用中的占比不斷加大。
浪潮TS860八路服務器正是以上述思路研發的,在性能、擴展性和可靠性設計上取得巨大的成功,得到了快市場的認可,在金融、電信、能源、政府、交通等關鍵行業中廣泛應用,市場占有率穩居第一。