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