容錯沒有性能瓶頸
在功能定位上,x86被定位于通用服務器,安騰被定位在關鍵業務應用服務器。如果進一步細分,x86又可分為單路、雙路和多路服務器,對應英特爾的處理器是3000、5000和7000系列,此外,還有一個特殊的6000系列,它是7000系列在雙路應用的延伸。其中,采用5000系列處理器的雙路服務器是市場的主流,應用在大多數的應用場合,其價格也比較便宜,在萬元左右。與之相比,采用7000系列處理器的多路服務器,價格要高出很多,被定位在高端應用,對可靠性有很高的要求的應用場合。目前,除了金融行業用戶核心業務之外,越來越多用戶開始選擇x86服務器承擔各種關鍵應用,其中高端的多路服務器成為了用戶的選擇。
為了進一步提升可靠性,采用兩臺相同型號、配置的多路服務器構建集群方案成為了普遍的一種選擇。雙機集群是一種由集群軟件控制的軟件冗余方案,但其中的一臺設備出現故障的時候,由另外一臺設備接替故障硬件工作,以期達到提高可靠性的目的。但在實際工作中,雙機集群對管理要求比較高,即使切換成功,也還是需要一定的故障恢復時間,期間會導致業務中斷,如果切換失敗,所需要的故障恢復時間將更長,因此對于一些關鍵業務需求而言,雙機集群方案不能夠滿足高可靠性的要求。
與之相比,容錯方案是一個理想的方案。它是一種硬件冗余的技術,借助獨特的鎖步技術,從體系結構上對系統進行保護。容錯不僅能夠做到服務器級別的容錯,還可以實現對內存、I/O數據的容錯。在雙機集群方案中,如果一臺服務器突發故障宕機,那么這臺服務器設備中內存的數據,以及I/O中等待讀寫的數據,是沒有辦法進行同步保護的,只能夠借助數據庫數據回滾等軟件技術進行重建,雖然不會給交易帶來損失,但業務恢復、重建是需要時間的,這也是雙機集群不能夠保持業務連續的原因。
與之相比,容錯技術可以確保處理器、內存、I/O數據,做到每個處理器時鐘周期保持嚴格同步,因此,當單一功能部件突發故障時,業務不會因此而中斷。這種情況下,雖然失去了容錯,但系統不會中斷,業務不會受影響。當更換故障部件時,系統恢復容錯工作狀態。但用戶不采用容錯服務器方案,其中性能瓶頸是一個普遍關注的話題。當前容錯服務器產品主要是基于雙路服務器,較之多路似乎存在性能瓶頸。
容錯服務器廠商可以提供多路服務器解決方案嗎?答案是肯定的。美國容錯技術有限技術顧問高峰表示,多路服務器容錯并不存在技術上的障礙。歷史上,美國容錯就曾經提供了多路RISC處理器的方案;目前之所以沒有考慮x86多路服務器容錯方案,主要是價格的考慮,用戶往往很難承受。高峰表示,目前雙路8核處理器,其性能相對于原來16路處理器的性能,可以滿足用戶的絕大部分需求。從用戶實踐看,容錯方案并不存在所謂性能的瓶頸。這也是美國容錯沒有提供多路服務器容錯的原因。他表示,不提供多路不是技術的原因,而是基于市場策略的選擇,換句話說,沒有提供多路容錯的必要。
高峰表示,用戶對性能的擔心,有時不是真的來自性能,而是來自對可靠性的考慮。從產品角度,多路服務器較之雙路的確具有更高可靠性,這也是用戶青睞多路服務器的原因。然而容錯方案的可靠性不是依靠產品本身的可靠性,而是從系統的角度,依靠體系架構來解決問題。從目前技術水平看,兩臺雙路服務器,相同功能部件同時發生故障的概率是非常低的,因此,容錯服務器完全可以滿足用戶對可靠性的要求。
除了容錯之外,實際上,容錯方案更是提供了可信計算。高峰表示,通常情況下,處理器計算不會出現問題。但作為電子器件,難免會受到各種因素的干擾,難免會產生高低電平的判斷錯誤,計算機是依靠高低電平來判斷“0”或者“1”,一旦出現錯誤,這種錯誤是不易察覺的。也就是說,計算機也會犯錯誤。對于容錯而言,它是借助“鎖步技術”,對兩臺設備計算結果進行比對,只有一致才被認可,因此可以有效避免意外錯誤的發生,這是容錯方案特有的性能。對于容錯系統的用戶而言,可信計算可算是一種增值服務,是對用戶高可靠性的一種額外獎賞。