版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
鯤鵬處理器架構(gòu)與編程(下篇)目錄\h3.3.4鯤鵬920處理器片上系統(tǒng)的附加設(shè)備\h3.4基于鯤鵬920處理器片上系統(tǒng)的TaiShan服務(wù)器\h3.4.1TaiShan200服務(wù)器的組成與邏輯結(jié)構(gòu)\h3.4.2TaiShan200服務(wù)器的RAS技術(shù)\h3.4.3TaiShan200服務(wù)器的鯤鵬加速引擎\h第4章鯤鵬軟件生態(tài)和構(gòu)架\h4.1鯤鵬軟件生態(tài)與云服務(wù)\h4.1.1ARM授權(quán)機(jī)制\h4.1.2ARM服務(wù)器生態(tài)\h4.1.3鯤鵬服務(wù)器軟件生態(tài)\h4.1.4鯤鵬云服務(wù)及解決方案\h4.2鯤鵬軟件構(gòu)成\h4.2.1硬件特定軟件\h4.2.2操作系統(tǒng)內(nèi)核\h4.2.3基礎(chǔ)庫(kù)\h4.2.4開(kāi)發(fā)工具、中間件和應(yīng)用程序\h4.2.5云基礎(chǔ)軟件\h4.3鯤鵬軟件開(kāi)發(fā)模式\h4.3.1原生開(kāi)發(fā)模式\h4.3.2交叉開(kāi)發(fā)模式\h4.3.3云端開(kāi)發(fā)模式\h4.4鯤鵬軟件移植\h4.4.1鯤鵬軟件移植流程\h4.4.2編譯工具的選擇\h4.4.3編譯參數(shù)移植類案例\h4.4.4源碼修改類案例\h4.4.5鯤鵬分析掃描工具DependencyAdvisor\h4.4.6鯤鵬代碼遷移工具PortingAdvisor\h4.5鯤鵬軟件性能調(diào)優(yōu)\h4.5.1鯤鵬軟件性能調(diào)優(yōu)流程\h4.5.2CPU與內(nèi)存子系統(tǒng)性能調(diào)優(yōu)\h4.5.3網(wǎng)絡(luò)子系統(tǒng)性能調(diào)優(yōu)\h4.5.4磁盤(pán)I/O子系統(tǒng)性能調(diào)優(yōu)\h4.5.5應(yīng)用程序性能調(diào)優(yōu)\h4.5.6基礎(chǔ)軟件性能調(diào)優(yōu)\h4.5.7鯤鵬性能優(yōu)化工具TuningKit\h第5章鯤鵬軟件實(shí)戰(zhàn)案例\h5.1云服務(wù)器源碼移植和編譯\h5.1.1配置云服務(wù)器\h5.1.2PortingAdvisor代碼移植\h5.1.3搭建交叉編譯環(huán)境\h5.1.4x86云服務(wù)器交叉編譯OpenSSL\h5.1.5鯤鵬云服務(wù)器上編譯OpenSSL\h5.2Docker的安裝與應(yīng)用\h5.2.1安裝Docker\h5.2.2運(yùn)行和驗(yàn)證\h5.2.3Docker常用命令\h5.2.4卸載Docker\h5.2.5制作適配鯤鵬架構(gòu)的Docker鏡像\h5.3KVM的安裝與應(yīng)用\h5.3.1安裝KVM\h5.3.2創(chuàng)建虛擬機(jī)\h5.3.3配置虛擬機(jī)\h5.3.4克隆與修改虛擬機(jī)\h5.3.5啟動(dòng)與關(guān)閉虛擬機(jī)具體操作步驟如下:\h5.3.6常用命令\h5.4QEMU的安裝與應(yīng)用\h5.5Android模擬器的安裝與使用\h5.6鯤鵬加速引擎的安裝與使用\h5.6.1鯤鵬加速引擎的安裝與測(cè)試\h5.6.2鯤鵬加速引擎的應(yīng)用案例3.3.4鯤鵬920處理器片上系統(tǒng)的附加設(shè)備1.鯤鵬920處理器片上系統(tǒng)的附加設(shè)備拓?fù)漩H鵬920處理器片上系統(tǒng)的附加設(shè)備包括片上附加設(shè)備和片外附加設(shè)備,片外附加設(shè)備通過(guò)PCIExpress總線接口與鯤鵬920處理器片上系統(tǒng)連接。與片上附加設(shè)備相同,片外附加設(shè)備也采用PCI拓?fù)浞绞浇M織,并遵循PCIExpress框架規(guī)范。圖3.39(a)、(b)給出了華為鯤鵬920處理器片上系統(tǒng)啟動(dòng)時(shí)的默認(rèn)附加設(shè)備拓?fù)浼軜?gòu),BIOS也可以改變默認(rèn)拓?fù)渑渲?。圖3.39(a)、(b)可以拼接為一張完整的拓?fù)鋱D。其中,圖3.39(a)給出了芯片編號(hào)為0和1的兩個(gè)子系統(tǒng)的拓?fù)?,而圖3.39(b)顯示的是芯片編號(hào)為2和3的兩個(gè)子系統(tǒng)的拓?fù)?,這四個(gè)子系統(tǒng)通過(guò)鯤鵬920的系統(tǒng)總線譯碼器相互關(guān)聯(lián),共同構(gòu)成了鯤鵬920系統(tǒng)附加設(shè)備的完整拓?fù)洹vH鵬920系統(tǒng)中的所有設(shè)備都處于PCI總線編號(hào)0~256。鯤鵬的片上總線通過(guò)芯片ID和SCLID調(diào)整默認(rèn)的地址譯碼邏輯。圖3.39同時(shí)給出了默認(rèn)的總線編號(hào)和地址范圍分配關(guān)系。無(wú)論系統(tǒng)中實(shí)際配置了多少芯片,默認(rèn)的總線編號(hào)和地址范圍的分配關(guān)系都保持不變。也就是說(shuō),在單芯片系統(tǒng)和四芯片系統(tǒng)中,分配給芯片0的默認(rèn)總線編號(hào)和地址范圍都相同。但是如果有特殊的要求,固件可以改變這種默認(rèn)配置。受芯片物理設(shè)計(jì)和系統(tǒng)譯碼機(jī)制的限制,鯤鵬920系統(tǒng)的每個(gè)超級(jí)集群中都包含多個(gè)主橋。這些主橋可以被ACPI(高級(jí)配置與電源接口)表描述,但是只有真正在PCB上被物理使用的設(shè)備才能被ACPI表描述。例如,如果PCB只用到了芯片1的網(wǎng)絡(luò)I/O集群上的網(wǎng)絡(luò)接口控制器,則芯片0的網(wǎng)絡(luò)I/O集群就不能在ACPI表中描述,芯片0的網(wǎng)絡(luò)功能對(duì)軟件而言也是不可見(jiàn)的。如果片上附加設(shè)備不支持虛擬化,則這類設(shè)備作為集成端點(diǎn)連接至主橋,例如圖3.39中IO_MGMT_ICL上的USB主機(jī)控制器。而支持虛擬化的附加設(shè)備則通過(guò)虛擬PCI至PCI橋連接至主橋,以便獲取更多的PCI功能。某些片上設(shè)備可能在特定的PCB上并未使用,此時(shí)固件可以將這些設(shè)備的PCI頭中的廠商ID配置為0xffff,從而對(duì)高層軟件隱藏這些冗余的設(shè)備。圖3.39華為鯤鵬920處理器片上系統(tǒng)的附加設(shè)備拓?fù)浼軜?gòu)圖3.39(續(xù))2.鯤鵬920處理器片上系統(tǒng)的網(wǎng)絡(luò)子系統(tǒng)華為鯤鵬920處理器片上系統(tǒng)通過(guò)附加網(wǎng)絡(luò)設(shè)備提供高帶寬的以太網(wǎng)通信能力。鯤鵬920處理器片上系統(tǒng)的網(wǎng)絡(luò)子系統(tǒng)即網(wǎng)絡(luò)I/O集群,負(fù)責(zé)控制以太網(wǎng)幀的發(fā)送和接收,除了支持常規(guī)的以太網(wǎng)通信外,還支持基于融合以太網(wǎng)(ConvergedEthernet)架構(gòu)的遠(yuǎn)程直接存儲(chǔ)器訪問(wèn)(RemoteDirectMemoryAccess,RDMA)協(xié)議RoCE(RDMAoverConvergedEthernet)V1和RoCEV2。華為鯤鵬920處理器片上系統(tǒng)的網(wǎng)絡(luò)子系統(tǒng)由網(wǎng)絡(luò)接口控制器(NetworkInterfaceController,NIC)和附加的RoCEE兩部分構(gòu)成。網(wǎng)絡(luò)接口控制器實(shí)現(xiàn)常規(guī)以太網(wǎng)通信功能;RoCEE即RoCE引擎(RDMAoverConvergedEthernetEngine),支持遠(yuǎn)程DMA操作。華為鯤鵬920處理器片上系統(tǒng)的網(wǎng)絡(luò)接口控制器支持的最大線速為100Gb/s,可以通過(guò)Linux操作系統(tǒng)下強(qiáng)大的網(wǎng)絡(luò)管理工具ethtool實(shí)現(xiàn)性能調(diào)優(yōu),也支持微軟的網(wǎng)絡(luò)協(xié)議棧。華為鯤鵬920處理器的網(wǎng)絡(luò)接口控制器包括多個(gè)1Gb/s至100Gb/s速率的以太網(wǎng)控制器,是完整的以太網(wǎng)控制器引擎,可以在RoCE引擎關(guān)閉的情況下單獨(dú)工作。網(wǎng)絡(luò)I/O集群支持二層DCB(DataCenterBridging,數(shù)據(jù)中心橋接)、MAC(介質(zhì)訪問(wèn)控制器)地址表、多播表、VLAN(VirtualLocalAreaNetwork,虛擬局域網(wǎng))過(guò)濾表、流表、中斷及PCIExpress化等功能。從程序員角度看,網(wǎng)絡(luò)I/O集群兼容PCIExpress系統(tǒng)架構(gòu)。網(wǎng)絡(luò)I/O集群包含標(biāo)準(zhǔn)PCIExpress配置空間,可以通過(guò)PCIECAM機(jī)制訪問(wèn),并支持BIOS枚舉功能。網(wǎng)絡(luò)I/O集群支持虛擬化功能時(shí)遵從SR-IOV規(guī)范。鯤鵬網(wǎng)絡(luò)I/O集群支持256個(gè)PCI功能單元,這些功能單元可以是虛擬功能單元(VirtualFunction,VF),也可以是物理功能單元(PhysicalFunction,PF)。每個(gè)PCI功能都有獨(dú)立的任務(wù)和配置空間,用于處理服務(wù)數(shù)據(jù)并配置硬件。所有這些功能都按照PCIExpress框架下的附加設(shè)備組織,并且與PCIExpress總線外接的擴(kuò)展網(wǎng)絡(luò)接口卡置于同一框架下管理。鯤鵬的通用網(wǎng)絡(luò)接口卡功能與RDMA邏輯集成在同一個(gè)PCIExpress功能中,不占用額外的PCI功能編號(hào)。華為鯤鵬920處理器片上系統(tǒng)的網(wǎng)絡(luò)I/O集群有四種對(duì)外可見(jiàn)的接口:(1)PCIExpress接口:網(wǎng)絡(luò)I/O集群內(nèi)部嵌入了PCIExpress化(將設(shè)備虛擬為PCIExpress設(shè)備)的接口功能模塊,網(wǎng)絡(luò)I/O集群通過(guò)內(nèi)部PCIExpress端點(diǎn)接入處理器片上總線,對(duì)軟件以PCIExpress設(shè)備的形式呈現(xiàn),最多支持8個(gè)物理功能單元。(2)ARM總線/DJTAG接口:用于加載初始化信息和調(diào)試使用。(3)RMII:鯤鵬920提供一個(gè)獨(dú)立于MAC的精簡(jiǎn)介質(zhì)獨(dú)立接口(ReducedMedia-IndependentInterface,RMII),將網(wǎng)絡(luò)I/O集群與管理控制器(ManagementController,MC)連接。網(wǎng)絡(luò)I/O集群的網(wǎng)絡(luò)控制器邊帶接口(NetworkControllerSidebandInterface,NC-SI)通過(guò)RMII與華為的主板管理控制器(BMC)芯片Hi1710相連,管理控制器則可通過(guò)RMII收發(fā)控制分組,從而實(shí)現(xiàn)對(duì)網(wǎng)卡的管理。(4)10條SERDES信號(hào)線:網(wǎng)卡內(nèi)集成的多速率以太網(wǎng)介質(zhì)訪問(wèn)控制器(MediaAccessController,MAC)通過(guò)SERDES接口與其他芯片互連。若SERDES連接物理層PHY芯片,則接口類型為電口;若SERDES連接光模塊,則接口類型為光口;SERDES也可以通過(guò)背板互連。圖3.40給出了鯤鵬920處理器片上系統(tǒng)的網(wǎng)絡(luò)I/O集群外部接口描述。圖3.40鯤鵬920處理器片上系統(tǒng)的網(wǎng)絡(luò)I/O集群外部接口①G表示Gb/s。華為鯤鵬920網(wǎng)絡(luò)子系統(tǒng)基于共享內(nèi)存架構(gòu),其內(nèi)部架構(gòu)如圖3.41所示。圖3.41的左邊顯示了網(wǎng)絡(luò)接口控制器的結(jié)構(gòu)。網(wǎng)絡(luò)接口控制器的核心是NIC引擎,向軟件提供收發(fā)接口,完成收發(fā)處理流程。在發(fā)送方向,軟件通過(guò)設(shè)置發(fā)送隊(duì)列指針?lè)峙浒l(fā)送任務(wù),NIC引擎根據(jù)發(fā)送描述符給出的信息從主機(jī)內(nèi)存中取出發(fā)送分組數(shù)據(jù)處理,并傳輸分組。在接收方向,NIC引擎負(fù)責(zé)接收分組,并將分組寫(xiě)入主機(jī)內(nèi)存。NIC引擎也負(fù)責(zé)向軟件提出中斷請(qǐng)求并上報(bào)隊(duì)列指針狀態(tài)。發(fā)送調(diào)度器根據(jù)流量分類(TrafficClass,TC)的帶寬限制或PCI物理功能單元/虛擬功能單元的帶寬限制對(duì)發(fā)送報(bào)文進(jìn)行調(diào)度,協(xié)調(diào)實(shí)現(xiàn)主機(jī)、虛擬功能單元、流量分類和隊(duì)列之間的發(fā)送安排。NIC引擎根據(jù)調(diào)度結(jié)果從調(diào)度隊(duì)列中讀取發(fā)送任務(wù)。圖3.41華為鯤鵬920網(wǎng)絡(luò)子系統(tǒng)內(nèi)部架構(gòu)帶收發(fā)分組緩沖區(qū)的內(nèi)部交換邏輯(InternalSwitchwithTX/RXPacketBuffers)集成了存儲(chǔ)交換單元(StorageSwitchUnit,SSU),實(shí)現(xiàn)分組的緩沖、存儲(chǔ)和交換。發(fā)送DMA部件TxDMA用于將分組送入分組隊(duì)列,而接收DMA部件RxDMA則負(fù)責(zé)從處理器主存中加載分組至分組隊(duì)列。集成管理處理器(IntegratedManagementProcessor,IMP)是一種內(nèi)嵌的管理處理器,負(fù)責(zé)命令通道的管理和網(wǎng)絡(luò)控制器邊帶接口NC-SI功能。集成管理處理器負(fù)責(zé)解析讀寫(xiě)命令,配置硬件或讀取硬件配置。集成管理處理器還負(fù)責(zé)響應(yīng)主板管理控制器(BMC)的配置請(qǐng)求。網(wǎng)絡(luò)接口控制器的MAC支持以太網(wǎng)幀的發(fā)送和接收,實(shí)現(xiàn)CRC計(jì)算和校驗(yàn)、流量控制、參數(shù)自動(dòng)協(xié)商、訓(xùn)練等功能。MAC模塊還定義了一系列“MACCMD”命令,用于指定工作模式。圖3.41的左下部即為通過(guò)SERDES接口與外部鏈路連接的MAC模塊,鯤鵬920的網(wǎng)絡(luò)接口卡配置了8個(gè)MAC,連接外部10條SERDES通道。華為鯤鵬920的所有MAC都支持三種端口速率模式:CGE、LGE和GE。CGE模式支持100Gb/s速率;LGE模式支持50Gb/s、40Gb/s、25Gb/s和10Gb/s速率;GE模式支持1000Mb/s、100Mb/s和10Mb/s速率。這些MAC可以靈活配置組合。由于每個(gè)50GE/40GE的MAC可以被配置為1個(gè)XLGEMAC或者4個(gè)XGEMAC,因此,每個(gè)網(wǎng)絡(luò)I/O集群可以支持下列配置組合:(1)配置1:2個(gè)100G/50G/40G/25G/10G/1G\h\h(2)MAC+2個(gè)1GMAC;(2)配置2:4個(gè)50G/25G/10G/1GMAC+2個(gè)1GMAC;(3)配置3:8個(gè)25G/10G/1GMAC。圖3.42給出了鯤鵬網(wǎng)絡(luò)接口卡的網(wǎng)絡(luò)接口速率配置組合。圖3.42鯤鵬網(wǎng)絡(luò)接口卡的網(wǎng)絡(luò)接口速率配置基于RoCE協(xié)議的RoCEE通過(guò)硬件實(shí)現(xiàn)傳輸層和網(wǎng)絡(luò)層的RDMA功能,用于卸載鯤鵬920處理器片上系統(tǒng)的負(fù)荷。華為鯤鵬920片上系統(tǒng)的RDMA的目標(biāo)延遲低于600ns。RoCEE需要與網(wǎng)絡(luò)I/O集群協(xié)同工作:RoCEE的二層處理,包括融合以太功能,由網(wǎng)絡(luò)I/O集群完成;在軟件層,也需要先初始化網(wǎng)絡(luò)I/O集群后再初始化RoCEE,才能正常調(diào)用RoCEE的功能。3.鯤鵬920處理器片上系統(tǒng)的外存儲(chǔ)子系統(tǒng)鯤鵬920處理器片上系統(tǒng)的外存儲(chǔ)子系統(tǒng)借助鯤鵬920系統(tǒng)內(nèi)置的SAS(串行連接SCSI,SerialAttachedSCSI)控制器和SATA控制器連接外部存儲(chǔ)設(shè)備。鯤鵬920系統(tǒng)的SAS控制器是主機(jī)和外存設(shè)備之間交互的接口控制器。SAS控制器在系統(tǒng)內(nèi)部通過(guò)片內(nèi)總線與處理器交互,接收SAS發(fā)起者(SASInitiator)和SATA主機(jī)應(yīng)用層發(fā)出的SAS/SATA命令;在對(duì)外接口側(cè),SAS控制器通過(guò)片內(nèi)SERDES驅(qū)動(dòng)的模擬差分信號(hào)線對(duì)與遠(yuǎn)端SAS/SATA設(shè)備交換數(shù)據(jù)。SAS控制器遵循SAS3.0和SATA3.0協(xié)議,實(shí)現(xiàn)SAS協(xié)議定義的傳輸層、鏈路層、端口層(PortLayer)和物理層(PHYLayer)功能,以及SATA協(xié)議定義的傳輸層、鏈路層和物理層功能。圖3.43顯示了鯤鵬920片內(nèi)SAS控制器的配置與連接關(guān)系。華為鯤鵬920處理器片上系統(tǒng)在HAC_ICL中配置了兩個(gè)SAS控制器,每個(gè)SAS控制器支持8個(gè)SAS物理層(PHY),對(duì)外提供8個(gè)SERDES差分線對(duì)的模擬接口。圖3.43鯤鵬920片內(nèi)SAS控制器的配置與連接關(guān)系SAS控制器支持寬端口(WidePort)模式,每個(gè)端口的物理層個(gè)數(shù)可配置為2~8個(gè)。一個(gè)SAS控制器可以配置多個(gè)寬端口,例如4個(gè)×2寬端口、2個(gè)×4寬端口或1個(gè)×8寬端口。SAS控制器可支持最多8個(gè)窄端口(NarrowPort),與每個(gè)物理層相關(guān)聯(lián)的SAS通道(SASChannel)都可以被配置為窄端口模式。實(shí)際使用的端口個(gè)數(shù)通過(guò)配置每個(gè)SAS通道內(nèi)部的物理層SAS地址確定。圖3.44顯示了鯤鵬920的片內(nèi)SAS控制器結(jié)構(gòu)。SAS控制器內(nèi)部包含如下模塊。圖3.44鯤鵬920的片內(nèi)SAS控制器結(jié)構(gòu)1)硬件全局控制器模塊硬件全局控制器(HardwareGlobalController,HGC)模塊是軟硬件之間的交互接口,負(fù)責(zé)接收并解析軟件下發(fā)的I/O命令,并集中管理和調(diào)度多重I/O請(qǐng)求,控制各SAS通道與目標(biāo)設(shè)備之間的I/O交互操作。2)SAS通道SAS通道是實(shí)現(xiàn)SAS和SATA協(xié)議的傳輸層、鏈路層和物理層功能的模塊,負(fù)責(zé)完成SSP/SMP/STP/SATA幀的收發(fā)。一個(gè)SAS通道與一個(gè)SERDES通道互連。SAS通道內(nèi)部包含三個(gè)子模塊:端口配置模塊負(fù)責(zé)接收軟件對(duì)寄存器的配置和查詢請(qǐng)求;協(xié)議層實(shí)現(xiàn)SAS和SATA協(xié)議中定義的端口層、鏈路層和物理層功能;傳輸模塊實(shí)現(xiàn)傳輸層部分功能并管理SAS控制器和存儲(chǔ)器之間的數(shù)據(jù)讀、寫(xiě)和傳輸操作。SAS物理層功能由SAS控制器片內(nèi)的協(xié)議層和片外的SERDES模塊共同實(shí)現(xiàn),協(xié)議層實(shí)現(xiàn)物理層的數(shù)字處理功能。片外SERDES模塊實(shí)現(xiàn)模擬處理,即在發(fā)送方向?qū)崿F(xiàn)并/串轉(zhuǎn)換及差分?jǐn)?shù)據(jù)輸出,在接收方向?qū)崿F(xiàn)串/并轉(zhuǎn)換及時(shí)鐘與數(shù)據(jù)恢復(fù)。3)總線接口總線接口在系統(tǒng)側(cè)實(shí)現(xiàn)SAS控制器與片內(nèi)總線交互,包括控制通道接口和數(shù)據(jù)通道接口。軟件通過(guò)控制通道接口配置SAS控制器的初始化參數(shù),配置或查詢內(nèi)部寄存器。數(shù)據(jù)通道接口用于傳輸與I/O相關(guān)的命令和數(shù)據(jù)。除了SAS控制器外,鯤鵬920片上系統(tǒng)還配置了SATA主機(jī)(SATAHost,SATAH)控制器。SATA主機(jī)控制器遵循串行ATA國(guó)際組織的《串行ATA版本3.0(SerialATARevision3.0)》規(guī)范和《串行ATA高級(jí)主機(jī)控制器接口(AHCI)版本1.3[SerialATAAdvancedHostControllerInterface(AHCI)1.3]》規(guī)范。鯤鵬920片上系統(tǒng)的SATA控制器是一個(gè)配置兩個(gè)SATA端口的SATA主機(jī)總線適配器(HostBusAdapter,HBA),實(shí)現(xiàn)AHCI規(guī)范下系統(tǒng)存儲(chǔ)器和串行ATA設(shè)備之間的通信。圖3.45顯示了鯤鵬920的SATA主機(jī)控制器結(jié)構(gòu)。圖3.45鯤鵬920的SATA主機(jī)控制器結(jié)構(gòu)3.4基于鯤鵬920處理器片上系統(tǒng)的TaiShan服務(wù)器TaiShan服務(wù)器是華為公司的新一代數(shù)據(jù)中心服務(wù)器,基于海思鯤鵬系列服務(wù)器處理器,適合為大數(shù)據(jù)、分布式存儲(chǔ)、原生應(yīng)用、高性能計(jì)算和數(shù)據(jù)庫(kù)等應(yīng)用高效加速,旨在滿足數(shù)據(jù)中心多樣性計(jì)算與綠色計(jì)算的需求。目前,TaiShan服務(wù)器家族有兩個(gè)產(chǎn)品系列:TaiShan100系列服務(wù)器是基于鯤鵬916處理器的產(chǎn)品;TaiShan200系列服務(wù)器是基于最新的鯤鵬920處理器片上系統(tǒng),包含2280E邊緣型、1280高密型、2280均衡型、2480高性能型、5280存儲(chǔ)型和X6000節(jié)點(diǎn)高密型等多個(gè)產(chǎn)品型號(hào)。3.4.1TaiShan200服務(wù)器的組成與邏輯結(jié)構(gòu)表3.9列出了TaiShan200系列部分服務(wù)器產(chǎn)品的核心參數(shù)。從表3.9中可以看出,TaiShan系列很好地利用了鯤鵬920處理器片上系統(tǒng)優(yōu)良的可擴(kuò)展性,系統(tǒng)架構(gòu)組織靈活。1U機(jī)架服務(wù)器最多可以配置128個(gè)2.6GHz主頻的處理器內(nèi)核,節(jié)點(diǎn)型服務(wù)器可以組合成更高密度的計(jì)算系統(tǒng)。表3.9TaiShan200系列部分服務(wù)器產(chǎn)品的核心參數(shù)1.單片鯤鵬920處理器片上系統(tǒng)構(gòu)成的服務(wù)器系統(tǒng)圖3.46描述了TaiShan200系列中的2180均衡型服務(wù)器的邏輯結(jié)構(gòu)。2180均衡型服務(wù)器是2U單路均衡型機(jī)架服務(wù)器。該服務(wù)器面向互聯(lián)網(wǎng)、分布式存儲(chǔ)、云計(jì)算、大數(shù)據(jù)、企業(yè)業(yè)務(wù)等領(lǐng)域,具有高性能、大容量存儲(chǔ)、低能耗、易管理、易部署等優(yōu)點(diǎn)。2180單臺(tái)服務(wù)器支持1個(gè)鯤鵬920處理器片上系統(tǒng),最多64個(gè)處理器內(nèi)核;最大支持16條DDR4ECC內(nèi)存儲(chǔ)器,最大內(nèi)存容量可達(dá)2048GB;最多可支持3個(gè)PCIExpress4.0×8的標(biāo)準(zhǔn)擴(kuò)展槽位。圖3.46TaiShan200系列2180均衡型服務(wù)器的邏輯結(jié)構(gòu)圖從邏輯結(jié)構(gòu)圖中可以看出,整個(gè)TaiShan服務(wù)器系統(tǒng)主要由三片集成電路及擴(kuò)展卡、外部通信通道構(gòu)成。其中,1顆鯤鵬920處理器片上系統(tǒng)芯片支持連接16個(gè)DDR4DIMM內(nèi)存條,并可通過(guò)PCIExpress4.0×8總線連接RAID(RedundantArraysofIndependentDisks,獨(dú)立磁盤(pán)冗余陣列)控制扣卡(Xcede連接器),再引出SAS(SerialAttachedSCSI,串行連接SCSI)信號(hào)線纜與硬盤(pán)背板連接,支持最多14個(gè)3.5″(英寸)SAS/SATAHDD硬盤(pán)或SAS/SATASSD硬盤(pán)。TaiShan2180服務(wù)器的鯤鵬920處理器片上系統(tǒng)最多支持4個(gè)PCIExpress4.0接口,除了1個(gè)RAID扣卡專用的PCIExpress擴(kuò)展槽位外,另外3個(gè)標(biāo)準(zhǔn)PCIExpress擴(kuò)展槽位通過(guò)Riser卡引出。鯤鵬920處理器片上系統(tǒng)本身自帶的高速SERDES接口擴(kuò)展出靈活I(lǐng)/O卡(FlexIO)接口,支持?jǐn)U展4個(gè)GE電口、4個(gè)10GE光口或者4個(gè)25GE光口以太網(wǎng)接口。TaiShan2180支持服務(wù)器智能管理系統(tǒng),主板上集成了華為自研的主板管理控制器芯片Hi1710,通過(guò)PCIExpress、I2C和USB等通信端口與處理器互連,可以支持VGA、10/100/1000Mb/sRJ45管理網(wǎng)口、調(diào)試串口等管理接口。處理器內(nèi)置的USB3.0接口通過(guò)USBHUB可以擴(kuò)展出4個(gè)USB端口。一片CPLD(ComplexProgrammableLogicDevice,復(fù)雜可編程邏輯器件)用于實(shí)現(xiàn)簡(jiǎn)單邏輯功能。2.兩片鯤鵬920處理器片上系統(tǒng)構(gòu)成的多芯片服務(wù)器系統(tǒng)對(duì)于需要更大計(jì)算能力的服務(wù)器系統(tǒng),可以通過(guò)多片鯤鵬處理器片上系統(tǒng)組合成更多處理器內(nèi)核的系統(tǒng)。圖3.47給出了另一款TaiShan200系列2280均衡型服務(wù)器配置鯤鵬9207260、5250或5230處理器時(shí)的邏輯結(jié)構(gòu)圖,從圖中可以看出鯤鵬處理器架構(gòu)靈活的擴(kuò)展能力。2280服務(wù)器是2U雙路均衡型機(jī)架服務(wù)器,在保持低功耗特性的同時(shí)提供更高的計(jì)算性能,適合為大數(shù)據(jù)分析、軟件定義存儲(chǔ)、Web等應(yīng)用場(chǎng)景的工作負(fù)載進(jìn)行高效加速。TaiShan2280服務(wù)器支持最多128個(gè)處理器內(nèi)核和最多27個(gè)SAS/SATAHDD或SSD硬盤(pán)。對(duì)比圖3.46和圖3.47的兩種服務(wù)器邏輯結(jié)構(gòu)可以看出,TaiShan2280服務(wù)器比TaiShan2180服務(wù)器增加了一顆鯤鵬920處理器片上系統(tǒng)CPU2,與處理器CPU1通過(guò)兩組Hydra總線互連(配置鯤鵬9205220或3210處理器時(shí)只需一組Hydra總線),傳輸速率最高可達(dá)30Gb/s,二者構(gòu)成多芯片鯤鵬920處理器片上系統(tǒng)。RAID控制扣卡仍通過(guò)PCIExpress總線與CPU1連接,并通過(guò)SAS信號(hào)線纜連接至硬盤(pán)背板,通過(guò)不同的硬盤(pán)背板可支持最多16個(gè)3.5″或27個(gè)2.5″SAS/SATAHDD硬盤(pán)、SAS/SATASSD硬盤(pán)或16個(gè)2.5″NVMeSSD硬盤(pán)等多種本地存儲(chǔ)規(guī)格。新增的第二顆鯤鵬920處理器片上系統(tǒng)CPU2同樣支持16個(gè)DDR4DIMM內(nèi)存條。兩顆鯤鵬920處理器片上系統(tǒng)本身自帶的高速SERDES接口可擴(kuò)展出兩塊靈活I(lǐng)/O卡(FlexIO)接口,每塊靈活I(lǐng)/O卡均支持?jǐn)U展4個(gè)GE電口、4個(gè)10GE光口或者4個(gè)25GE光口以太網(wǎng)接口。由于處理器片上系統(tǒng)可以連接三塊Riser卡,故系統(tǒng)支持最多8個(gè)PCIExpress4.0×8或3個(gè)PCIExpress4.0×16+2個(gè)PCIExpress4.0×8標(biāo)準(zhǔn)插槽。圖3.47TaiShan200系列2280均衡型服務(wù)器的邏輯結(jié)構(gòu)圖圖3.48給出了TaiShan200系列2280均衡型服務(wù)器配置鯤鵬9207260、5250或5230處理器時(shí)的物理結(jié)構(gòu)示意圖。圖3.48TaiShan200系列2280均衡型服務(wù)器的物理結(jié)構(gòu)示意圖表3.10總結(jié)了TaiShan200系列2280均衡型服務(wù)器的規(guī)格與特色。表3.10TaiShan200系列2280均衡型服務(wù)器的規(guī)格與特色圖3.49描述了TaiShan200系列2280均衡型服務(wù)器的內(nèi)部結(jié)構(gòu)。3.節(jié)點(diǎn)型多芯片服務(wù)器系統(tǒng)對(duì)于需要聚合更大算力的應(yīng)用場(chǎng)景,可以把多個(gè)服務(wù)器節(jié)點(diǎn)通過(guò)管理板整合成服務(wù)器系統(tǒng)。TaiShan200系列X6000高密型服務(wù)器是2U4節(jié)點(diǎn)的高密服務(wù)器系統(tǒng),集靈活擴(kuò)展、高密度、高可靠、易維護(hù)管理和高效節(jié)能等特點(diǎn)于一身。圖3.50為T(mén)aiShan200系列X6000高密型服務(wù)器風(fēng)冷整機(jī)系統(tǒng)結(jié)構(gòu)圖。TaiShan200系列X6000服務(wù)器在2U高度的機(jī)架上能夠容納4個(gè)XA320或XA320C高密型2路計(jì)算節(jié)點(diǎn)。每個(gè)XA320/XA320C計(jì)算節(jié)點(diǎn)配置兩個(gè)鯤鵬920處理器片上系統(tǒng),每個(gè)處理器支持48核或64核,每個(gè)節(jié)點(diǎn)的邏輯結(jié)構(gòu)與TaiShan200系列2280均衡型服務(wù)器類似。表3.11總結(jié)了TaiShan200系列服務(wù)器使用的XA320及XA320C計(jì)算節(jié)點(diǎn)的規(guī)格。TaiShanX6000提供HMM+iBMC的管理架構(gòu),通過(guò)管理板(HMM)實(shí)現(xiàn)X6000的機(jī)框管理,提供環(huán)境溫度監(jiān)控、風(fēng)扇管理、電源管理和節(jié)點(diǎn)管理、整框的資產(chǎn)信息等功能。管理板通過(guò)一個(gè)匯聚模塊在機(jī)框后面板提供一個(gè)匯聚網(wǎng)口,客戶端連接到此匯聚網(wǎng)口后,不需要另外連接節(jié)點(diǎn)的iBMC管理網(wǎng)口,通過(guò)一根管理網(wǎng)線即可分別登錄4個(gè)節(jié)點(diǎn)的iBMC,實(shí)現(xiàn)整框系統(tǒng)帶外管理對(duì)外呈現(xiàn)一個(gè)接口。iBMC智能管理系統(tǒng)軟件是華為自主開(kāi)發(fā)的具有完全自主知識(shí)產(chǎn)權(quán)的服務(wù)器遠(yuǎn)程管理系統(tǒng),兼容服務(wù)器業(yè)界管理標(biāo)準(zhǔn)IPMI2.0規(guī)范,具有高可靠的硬件監(jiān)控和管理功能。iBMC實(shí)現(xiàn)節(jié)點(diǎn)的管理和用戶界面的呈現(xiàn),既支持服務(wù)器節(jié)點(diǎn)單獨(dú)管理,也可通過(guò)新一代的HMM整機(jī)管理系統(tǒng)實(shí)現(xiàn)對(duì)整框共用部件的散熱、電源、機(jī)框資產(chǎn)信息的管理。用戶可通過(guò)節(jié)點(diǎn)的管理網(wǎng)口或機(jī)箱的匯聚網(wǎng)口登錄到節(jié)點(diǎn)的iBMCWeb用戶界面。圖3.49TaiShan200系列2280均衡型服務(wù)器的內(nèi)部結(jié)構(gòu)圖3.50TaiShan200系列X6000高密型服務(wù)器風(fēng)冷整機(jī)系統(tǒng)結(jié)構(gòu)圖表3.11TaiShan200系列服務(wù)器XA320及XA320C計(jì)算節(jié)點(diǎn)規(guī)格TaiShan200系列X6000高密型服務(wù)器可以針對(duì)互聯(lián)網(wǎng)業(yè)務(wù)應(yīng)用提供低能耗、易維護(hù)、快速部署、定制化的服務(wù)器解決方案,也可針對(duì)HPC業(yè)務(wù)應(yīng)用,提供高可靠、高性能的硬件基礎(chǔ)平臺(tái)。3.4.2TaiShan200服務(wù)器的RAS技術(shù)1.TaiShan服務(wù)器的RAS框架TaiShan服務(wù)器通常工作在對(duì)計(jì)算能力要求高、實(shí)時(shí)性要求高、業(yè)務(wù)不可中斷的應(yīng)用場(chǎng)景中,這類場(chǎng)景對(duì)服務(wù)器基礎(chǔ)設(shè)施的RAS特性有較高的要求。TaiShan服務(wù)器在設(shè)計(jì)過(guò)程中對(duì)每個(gè)關(guān)鍵部件和每條關(guān)鍵鏈路都提供足夠的RAS特性進(jìn)行保護(hù)。為了保證TaiShan服務(wù)器的高可用性,除了采用嚴(yán)格的降額設(shè)計(jì)及可靠性篩選測(cè)試和信號(hào)級(jí)測(cè)試等生產(chǎn)制造過(guò)程中的質(zhì)量保證手段外,RAS技術(shù)在設(shè)計(jì)層面還需滿足三個(gè)核心目標(biāo):(1)硬件部件具有高可靠性。部件可靠性高,具備一定容錯(cuò)機(jī)制,極少出現(xiàn)故障。(2)出現(xiàn)故障時(shí)能通過(guò)一系列手段保證故障不會(huì)影響系統(tǒng)主要功能和業(yè)務(wù)??梢詫?duì)故障實(shí)現(xiàn)檢測(cè)、糾錯(cuò)、預(yù)測(cè)和隔離。(3)對(duì)于影響系統(tǒng)功能的錯(cuò)誤,能第一時(shí)間定位到具體部件并且易于維護(hù)更換,能快速恢復(fù)業(yè)務(wù)。這要求對(duì)嚴(yán)重錯(cuò)誤能盡快定位,故障易于修復(fù)。TaiShan服務(wù)器需要實(shí)現(xiàn)對(duì)系統(tǒng)異常的檢測(cè),對(duì)檢測(cè)到的故障進(jìn)行搜集、分析,并在固件、操作系統(tǒng)和應(yīng)用程序等各個(gè)層面對(duì)檢測(cè)到的故障進(jìn)行有針對(duì)性的處理,確保將故障的影響降到最低,以提升系統(tǒng)連續(xù)服務(wù)時(shí)間。圖3.51描述了TaiShan服務(wù)器系統(tǒng)的RAS框架。圖3.51TaiShan服務(wù)器系統(tǒng)的RAS框架華為的TaiShan服務(wù)器具備全面的故障檢測(cè)能力,能檢測(cè)系統(tǒng)內(nèi)幾乎所有的基礎(chǔ)類硬件故障及業(yè)務(wù)類硬件故障,并配置了軟硬件一體的故障診斷、預(yù)測(cè)、恢復(fù)和隔離機(jī)制?;谌A為最新的自研管理芯片及管理軟件,TaiShan服務(wù)器通過(guò)完全自主的帶外管理系統(tǒng)支持遠(yuǎn)程管理,可實(shí)現(xiàn)設(shè)備配置、軟件和固件升級(jí)、故障管理等操作的一站式服務(wù)。2.鯤鵬920處理器片上系統(tǒng)的RAS設(shè)計(jì)作為為服務(wù)器設(shè)計(jì)的處理器,鯤鵬920處理器片上系統(tǒng)在保持高性能、低功耗優(yōu)勢(shì)的同時(shí),著重強(qiáng)化了服務(wù)器級(jí)RAS設(shè)計(jì),利用故障檢測(cè)、故障糾錯(cuò)、故障記錄、故障上報(bào)和故障修復(fù)等技術(shù)實(shí)現(xiàn)了全流程的RAS架構(gòu)設(shè)計(jì),具備了與最高端服務(wù)器處理器相當(dāng)?shù)腞AS能力。鯤鵬920處理器片上系統(tǒng)的處理器和主存系統(tǒng)與ARMRAS擴(kuò)展規(guī)范完全兼容,并實(shí)現(xiàn)了該規(guī)范的全部要求。鯤鵬920處理器片上系統(tǒng)只支持固件優(yōu)先模式的差錯(cuò)處理機(jī)制。圖3.52列出了鯤鵬920處理器片上系統(tǒng)的RAS設(shè)計(jì)要點(diǎn)。可以看出,鯤鵬920處理器片上系統(tǒng)在其設(shè)計(jì)的過(guò)程中,對(duì)每個(gè)關(guān)鍵部件和每條關(guān)鍵路徑都提供了足夠強(qiáng)大的RAS特性保護(hù)機(jī)制。處理器系統(tǒng)的故障檢測(cè)能力是系統(tǒng)RAS的基礎(chǔ)。硬件確保高可靠性的核心技術(shù)即差錯(cuò)檢測(cè)和差錯(cuò)糾正(ErrorDetectionandCorrection)技術(shù),鯤鵬920處理器片上系統(tǒng)具備覆蓋全模塊的差錯(cuò)檢測(cè)及糾錯(cuò)能力。表3.12列出了鯤鵬920處理器片上系統(tǒng)中主要的數(shù)據(jù)模塊和總線模塊采用的檢錯(cuò)和糾錯(cuò)方法。處理器系統(tǒng)涉及的故障可以分為三類:數(shù)據(jù)錯(cuò)誤、總線錯(cuò)誤和邏輯功能錯(cuò)誤。與這三種故障相對(duì)應(yīng),鯤鵬920處理器片上系統(tǒng)的故障檢測(cè)手段也分為三類:對(duì)數(shù)據(jù)模塊主要使用錯(cuò)誤修正碼(ErrorCorrectionCode,ECC)和奇偶校驗(yàn)碼(Parity)進(jìn)行數(shù)據(jù)錯(cuò)誤檢錯(cuò);對(duì)總線接口模塊使用循環(huán)冗余校驗(yàn)(CyclicRedundancyCheck,CRC)方法檢錯(cuò);而邏輯功能模塊則使用存儲(chǔ)器內(nèi)置自檢(MemoryBuilt-InSelfTests,MBIST)和超時(shí)檢測(cè)等方法檢錯(cuò)。糾錯(cuò)一般通過(guò)ECC和重試(Retry)機(jī)制來(lái)實(shí)現(xiàn)。鯤鵬920系統(tǒng)的硬件提供已修復(fù)差錯(cuò)計(jì)數(shù)功能。處理器和存儲(chǔ)系統(tǒng)的差錯(cuò)記錄功能與ARMRAS擴(kuò)展規(guī)范完全兼容。3.內(nèi)存儲(chǔ)系統(tǒng)的RAS設(shè)計(jì)存儲(chǔ)系統(tǒng)的可靠性是系統(tǒng)運(yùn)行的保障。在鯤鵬920處理器片上系統(tǒng)中,無(wú)論是片內(nèi)的各級(jí)Cache還是作為主存使用的DDRSDRAM,都設(shè)計(jì)了差錯(cuò)檢查和糾正等高可靠性的容錯(cuò)機(jī)制,對(duì)最容易發(fā)生錯(cuò)誤的數(shù)據(jù)存儲(chǔ)模塊提供全面的保護(hù)。圖3.52鯤鵬920處理器片上系統(tǒng)的RAS設(shè)計(jì)表3.12鯤鵬920處理器片上系統(tǒng)數(shù)據(jù)模塊和總線模塊采用的檢錯(cuò)和糾錯(cuò)方法續(xù)表1)Cache容錯(cuò)與保護(hù)機(jī)制從表3.12可以看出,鯤鵬920處理器片上系統(tǒng)對(duì)各級(jí)Cache配備了完整的糾錯(cuò)和檢錯(cuò)邏輯。對(duì)于L1ICache,容錯(cuò)設(shè)計(jì)通過(guò)奇偶校驗(yàn)進(jìn)行錯(cuò)誤檢測(cè),在檢測(cè)到錯(cuò)誤時(shí)可以采用重試的方式進(jìn)行糾錯(cuò)。對(duì)于L2Cache和L3Cache,則通過(guò)ECC(錯(cuò)誤修正碼)檢測(cè)多二進(jìn)制位錯(cuò)誤并糾正單二進(jìn)制位錯(cuò)誤。檢測(cè)到出現(xiàn)概率最大的單二進(jìn)制位錯(cuò)誤后會(huì)首先對(duì)數(shù)據(jù)進(jìn)行糾正,然后再將修正后的正確數(shù)據(jù)傳送到處理器,并將結(jié)果寫(xiě)回到L2Cache和L3Cache中,避免ECC錯(cuò)誤的累積。L1ICache讀操作造成的不可修正錯(cuò)誤會(huì)使相應(yīng)的L1ICache行失效。除了在正常讀寫(xiě)操作過(guò)程中通過(guò)完善的錯(cuò)誤檢測(cè)及糾正機(jī)制提升Cache的RAS特性外,鯤鵬920處理器片上系統(tǒng)還設(shè)計(jì)了初始化自檢和Cache巡檢等多層次的RAS功能。例如,鯤鵬920處理器片上系統(tǒng)采用了故障彈性引導(dǎo)(FaultResilientBoot,F(xiàn)RB)處理器內(nèi)核停用(CoreDisable)技術(shù),在啟動(dòng)過(guò)程中對(duì)發(fā)生故障的處理器內(nèi)核進(jìn)行隔離,提高系統(tǒng)的可靠性和可用性。在對(duì)CPU進(jìn)行初始化時(shí),鯤鵬920處理器片上系統(tǒng)會(huì)首先對(duì)L1Cache、L2Cache和L3Cache進(jìn)行全面的檢查,并將檢查結(jié)果記錄到相關(guān)寄存器中,必要時(shí)可以由BIOS根據(jù)自檢結(jié)果對(duì)出錯(cuò)的處理器內(nèi)核進(jìn)行隔離。鯤鵬920處理器片上系統(tǒng)還可以定期對(duì)Cache進(jìn)行巡檢,及時(shí)糾正其中出現(xiàn)的錯(cuò)誤,從而消除絕大多數(shù)暫態(tài)錯(cuò)誤造成的不良影響。對(duì)于數(shù)據(jù)Cache讀操作或數(shù)據(jù)Cache讀分配操作造成的不可修正錯(cuò)誤,將作為同步外部中止(SynchronousExternalAbort,SEA)上報(bào)。對(duì)于指令Cache再填充(Refill)操作造成的不可修正錯(cuò)誤,也將報(bào)告為同步外部中止,即預(yù)取中止(PrefetchAbort)異常。2)主存系統(tǒng)的錯(cuò)誤檢測(cè)與錯(cuò)誤糾正鯤鵬920系統(tǒng)在存儲(chǔ)器件內(nèi)部以及命令和地址傳輸路徑上都設(shè)計(jì)了檢錯(cuò)與糾錯(cuò)機(jī)制。鯤鵬920系統(tǒng)強(qiáng)化了DDR存儲(chǔ)器的RAS機(jī)制。對(duì)于存儲(chǔ)器件本身,常用的主存系統(tǒng)通常使用ECC糾錯(cuò)算法,但只能檢測(cè)并糾正單二進(jìn)制位錯(cuò)誤。鯤鵬920處理器片上系統(tǒng)的DDR控制器支持糾錯(cuò)能力更為強(qiáng)大的單一器件糾錯(cuò)(SingleDeviceErrorCorrection,SDEC)機(jī)制,通過(guò)對(duì)主存數(shù)據(jù)采用特殊的重排和分組機(jī)制,可以實(shí)現(xiàn)單個(gè)×4DRAM顆粒上的任意二進(jìn)制位錯(cuò)誤的檢錯(cuò)和糾錯(cuò),比傳統(tǒng)主存使用的ECC糾錯(cuò)機(jī)制可靠性提升4倍以上。鯤鵬920系統(tǒng)的DDR控制器支持的單通道數(shù)據(jù)接口位寬為72位,其中有效數(shù)據(jù)位占64位,可選的校驗(yàn)數(shù)據(jù)位占8位,校驗(yàn)算法可以選擇使用SECDEDECC算法或者RAS算法(×4/×8SDDC\h\h(3)算法、×4FADC\h\h(4)算法或×4MADC\h\h(5)算法)。在存儲(chǔ)器工作過(guò)程中,還會(huì)出現(xiàn)一些軟錯(cuò)誤或者偶發(fā)性的錯(cuò)誤,這些錯(cuò)誤主要是由環(huán)境影響造成的,或者是高能粒子作用的結(jié)果,一般并不會(huì)持續(xù)發(fā)生。因此,在檢測(cè)到此類錯(cuò)誤后,將錯(cuò)誤數(shù)據(jù)糾正后回寫(xiě),就可以消除此類錯(cuò)誤?;诖朔N理論,為了更好地保護(hù)主存內(nèi)的數(shù)據(jù),鯤鵬的存儲(chǔ)系統(tǒng)引入了被動(dòng)清洗(PassiveScrubbing)技術(shù),在進(jìn)行主存數(shù)據(jù)讀取操作時(shí)如果檢測(cè)到數(shù)據(jù)錯(cuò)誤,會(huì)將出錯(cuò)數(shù)據(jù)糾正并將糾正后的正確數(shù)據(jù)回寫(xiě)到主存中覆蓋出錯(cuò)誤的數(shù)據(jù)。更進(jìn)一步,鯤鵬920的存儲(chǔ)器控制器中還集成了一個(gè)巡檢引擎,通過(guò)一種主動(dòng)清洗(ActiveScrubbing)機(jī)制對(duì)系統(tǒng)內(nèi)所有的主存單元進(jìn)行不間斷的周期性巡檢。主存巡檢引擎可以按照BIOS配置的頻率對(duì)系統(tǒng)主存進(jìn)行周期性巡查,在發(fā)現(xiàn)主存數(shù)據(jù)中的可糾正錯(cuò)誤時(shí),將錯(cuò)誤糾正并把正確數(shù)據(jù)寫(xiě)回主存。被動(dòng)清洗和主動(dòng)清洗技術(shù)都可以有效預(yù)防在同一地址段上因可糾正錯(cuò)誤無(wú)法被及時(shí)處理導(dǎo)致錯(cuò)誤累積而產(chǎn)生不可糾正錯(cuò)誤的現(xiàn)象。這兩種技術(shù)完全是基于硬件實(shí)現(xiàn)的,對(duì)操作系統(tǒng)透明。對(duì)于主存命令和地址傳輸路徑上可能引起的錯(cuò)誤,則可采用奇偶校驗(yàn)與重試機(jī)制。鯤鵬920系統(tǒng)的存儲(chǔ)器控制器會(huì)對(duì)系統(tǒng)命令或地址生成奇偶校驗(yàn)碼,并將校驗(yàn)碼傳輸?shù)紻DRDIMM內(nèi)存條,同時(shí)監(jiān)控DIMM內(nèi)存條的錯(cuò)誤引腳。當(dāng)在DIMM內(nèi)存條上檢測(cè)到命令或地址奇偶校驗(yàn)錯(cuò)誤時(shí),存儲(chǔ)器控制器會(huì)進(jìn)行重試以嘗試恢復(fù)操作的功能。這種校驗(yàn)及重傳機(jī)制能很好地避免鏈路上偶發(fā)性的錯(cuò)誤對(duì)系統(tǒng)造成的不良影響。3)主存系統(tǒng)的錯(cuò)誤預(yù)防機(jī)制正常情況下,由于訪存數(shù)據(jù)的隨機(jī)性,主存數(shù)據(jù)線上的數(shù)據(jù)流分布是不均勻的,也即可能集中出現(xiàn)較多的1或較多的0。這種集中出現(xiàn)的連續(xù)的1或連續(xù)的0會(huì)在數(shù)據(jù)線上形成持續(xù)的高電平或者低電平,造成能量集中,從而提高了錯(cuò)誤出現(xiàn)的概率。為此,鯤鵬920系統(tǒng)采用數(shù)據(jù)加擾(DataScrambling)技術(shù)將真實(shí)數(shù)據(jù)通過(guò)哈希編碼機(jī)制轉(zhuǎn)化為0和1分布更平滑的碼流,杜絕了傳輸鏈路上持續(xù)性的能量集中現(xiàn)象,降低了錯(cuò)誤發(fā)生的概率。由于存儲(chǔ)機(jī)制的原因,當(dāng)前使用的DRAM內(nèi)存條在高溫下其存儲(chǔ)單元的漏電流會(huì)增大,這會(huì)導(dǎo)致存儲(chǔ)于其中的數(shù)據(jù)較正常溫度下出錯(cuò)的概率成倍增大。為了保證系統(tǒng)在高溫環(huán)境下依然具有穩(wěn)定的表現(xiàn),TaiShan服務(wù)器采用特別的主存熱保護(hù)(MemoryThermalThrottling)機(jī)制,通過(guò)分布在每根DIMM內(nèi)存條上的溫度及功率傳感器對(duì)主存的溫度及功率數(shù)據(jù)進(jìn)行實(shí)時(shí)監(jiān)控。當(dāng)檢測(cè)到溫度過(guò)高或者功耗過(guò)大時(shí),會(huì)采取主動(dòng)降低內(nèi)存運(yùn)行速度的方式降低內(nèi)存的負(fù)載及功耗,從而將內(nèi)存條溫度控制在合理的范圍內(nèi)。此外,短時(shí)間內(nèi)主存溫度過(guò)高還會(huì)觸發(fā)X2刷新機(jī)制,通過(guò)加快主存數(shù)據(jù)刷新頻率來(lái)保證主存數(shù)據(jù)不出錯(cuò)。通過(guò)主存熱保護(hù)與X2刷新這兩種技術(shù)的結(jié)合,可以有效防止因?yàn)楦邷貑?wèn)題引發(fā)的主存數(shù)據(jù)錯(cuò)誤或主存物理?yè)p壞,使鯤鵬920系統(tǒng)能夠適應(yīng)更為嚴(yán)格的機(jī)房環(huán)境。4)主存系統(tǒng)的故障隔離機(jī)制對(duì)于頻繁出現(xiàn)可糾正錯(cuò)誤的不可靠主存部件,鯤鵬920系統(tǒng)可以根據(jù)不同情況執(zhí)行故障頁(yè)隔離(PageOffline)、故障存儲(chǔ)體隔離或故障內(nèi)存顆粒隔離等不同粒度、不同層次的故障隔離替換操作。TaiShan服務(wù)器在發(fā)生主存可糾正錯(cuò)誤后會(huì)將詳細(xì)的故障信息上報(bào)到主板管理控制器。主板管理控制器收到故障消息后會(huì)根據(jù)收集到的主存歷史故障信息分析故障模型。如果主存的故障模型符合故障頁(yè)判定條件,則會(huì)通過(guò)高級(jí)配置和電源管理接口(ACPI)通知操作系統(tǒng)將故障頁(yè)中的數(shù)據(jù)進(jìn)行遷移,并對(duì)故障頁(yè)進(jìn)行標(biāo)記隔離,停止使用。當(dāng)DIMM內(nèi)存條由于器件老化等原因造成某個(gè)DRAM存儲(chǔ)顆粒失效時(shí),系統(tǒng)可能會(huì)持續(xù)不斷地產(chǎn)生可糾正錯(cuò)誤。由于此種情況是硬件故障,因此無(wú)法通過(guò)糾錯(cuò)寫(xiě)回來(lái)恢復(fù)。雖然此時(shí)由于糾錯(cuò)算法的存在,系統(tǒng)仍能正常工作,但此時(shí)系統(tǒng)將面臨兩方面的問(wèn)題:一是頻繁的糾錯(cuò)會(huì)導(dǎo)致系統(tǒng)增加額外的開(kāi)銷;二是會(huì)導(dǎo)致系統(tǒng)發(fā)生不可糾正錯(cuò)誤的概率大大提高,因?yàn)樵谶@種情況下如果同一個(gè)存儲(chǔ)體內(nèi)的其他顆粒上由于軟失效也出現(xiàn)個(gè)別單二進(jìn)制位錯(cuò)誤,就會(huì)導(dǎo)致可糾正錯(cuò)誤演變?yōu)椴豢杉m正錯(cuò)誤,從而導(dǎo)致系統(tǒng)掛死。因此,在出現(xiàn)這種由于硬件故障導(dǎo)致的持續(xù)性錯(cuò)誤時(shí),最好的措施是將出現(xiàn)故障的器件進(jìn)行隔離,避免宕機(jī)風(fēng)險(xiǎn)。TaiShan服務(wù)器使用自適應(yīng)雙器件糾錯(cuò)(AdaptiveDoubleDeviceErrorCorrection,ADDEC)技術(shù)來(lái)解決此問(wèn)題,實(shí)現(xiàn)故障存儲(chǔ)體隔離或故障顆粒隔離。自適應(yīng)雙器件糾錯(cuò)技術(shù)可以使用內(nèi)存條上的奇偶校驗(yàn)顆粒替換故障存儲(chǔ)體(Bank)甚至故障顆粒,從而徹底隔離故障源。此外,如果是使用×4顆粒的內(nèi)存條,則可在虛擬鎖步(VirtualLockStep)技術(shù)的支持下,最多可以進(jìn)行兩次故障存儲(chǔ)體或故障顆粒的替換操作。這種多區(qū)域的故障隔離能力在不損失系統(tǒng)主存容量的情況下極大提升了主存的可靠性。相對(duì)于單次故障替換,自適應(yīng)雙器件糾錯(cuò)技術(shù)支持的多顆?;蚨啻鎯?chǔ)體替換機(jī)制對(duì)主存可靠性的提升達(dá)到17倍之多。4.互連總線與I/O系統(tǒng)的RAS設(shè)計(jì)1)HCCS鏈路保護(hù)作為晶片之間和插槽之間的互連通道,HCCS通道可靠性的重要性不言而喻。華為Cache一致性系統(tǒng)(HCCS)鏈路層具備16位CRC校驗(yàn)和出錯(cuò)重傳能力。CRC機(jī)制通過(guò)檢測(cè)錯(cuò)誤確保HCCS傳輸鏈路上的數(shù)據(jù)的正確性:在HCCS鏈路發(fā)送端,通過(guò)特定的算法對(duì)欲傳輸?shù)臄?shù)據(jù)生成特定的CRC校驗(yàn)碼隨數(shù)據(jù)一起發(fā)送,接收端在接收到數(shù)據(jù)后會(huì)采用同樣的算法計(jì)算出CRC校驗(yàn)碼并與發(fā)送過(guò)來(lái)的CRC值進(jìn)行對(duì)比。如對(duì)比CRC值有差異,就證明數(shù)據(jù)在傳輸過(guò)程中出現(xiàn)了錯(cuò)誤,接收端會(huì)要求發(fā)送端重傳出錯(cuò)的數(shù)據(jù)。這種CRC校驗(yàn)及重傳機(jī)制能完全避免偶發(fā)性的錯(cuò)誤對(duì)系統(tǒng)造成的影響。2)I/O系統(tǒng)故障檢測(cè)與報(bào)告鯤鵬920系統(tǒng)的I/O系統(tǒng)包括SAS控制器/SATA控制器、網(wǎng)絡(luò)接口控制器及RoCE引擎、海思加速控制器(HAC)、智能管理單元(IMU)和PCIExpress根端口等多種設(shè)備與模塊。鯤鵬920系統(tǒng)的網(wǎng)絡(luò)I/O集群、HAC_ICL和IO_MGMT_ICL等I/O集群都支持ECC校驗(yàn)、CRC校驗(yàn)、污染數(shù)據(jù)隔離、超時(shí)檢測(cè)和差錯(cuò)注入等RAS功能。鯤鵬920處理器片上系統(tǒng)具備完備的I/O錯(cuò)誤檢測(cè)及上報(bào)機(jī)制,能實(shí)現(xiàn)對(duì)I/O各個(gè)功能子模塊的錯(cuò)誤檢測(cè)并上報(bào)。鯤鵬920系統(tǒng)的集成設(shè)備及加速控制器的故障記錄功能兼容PCIExpress總線規(guī)范4.0基線(Baseline)的相關(guān)標(biāo)準(zhǔn)。而PCIExpress設(shè)備的差錯(cuò)記錄則兼容PCIExpress總線規(guī)范4.0的高級(jí)差錯(cuò)上報(bào)(AdvancedErrorReporting,AER)機(jī)制,內(nèi)部的非PCIExpress端口還支持基于ARMRAS擴(kuò)展規(guī)范的SERR錯(cuò)誤檢測(cè)及報(bào)告能力。在設(shè)備訪問(wèn)過(guò)程中出現(xiàn)的不可修正錯(cuò)誤將被報(bào)告為系統(tǒng)錯(cuò)誤中斷(SErrorInterrupt,SEI)。各個(gè)模塊的錯(cuò)誤匯總之后,可以上報(bào)到全局的錯(cuò)誤狀態(tài)寄存器,并可配置成觸發(fā)故障處理中斷(Fault-HandlingInterrupt,F(xiàn)HI)或同步外部中止(SEA)異常,也可以通過(guò)差錯(cuò)引腳通知故障管理模塊。鯤鵬920系統(tǒng)的系統(tǒng)存儲(chǔ)管理單元實(shí)現(xiàn)了系統(tǒng)存儲(chǔ)管理單元v3協(xié)議定義的RAS功能。當(dāng)系統(tǒng)存儲(chǔ)管理單元內(nèi)部存儲(chǔ)器發(fā)生1位ECC差錯(cuò)時(shí)會(huì)觸發(fā)修正差錯(cuò)機(jī)制,并可以上報(bào)故障處理中斷。當(dāng)系統(tǒng)存儲(chǔ)管理單元內(nèi)部存儲(chǔ)器發(fā)生2位及以上的ECC差錯(cuò)時(shí)會(huì)出現(xiàn)不可恢復(fù)的未修正差錯(cuò)(UnrecoverableUncorrectedError),可以上報(bào)故障處理中斷及差錯(cuò)恢復(fù)中斷。對(duì)DDR存儲(chǔ)器讀寫(xiě)操作時(shí)產(chǎn)生的可恢復(fù)未修正差錯(cuò)(RecoverableUncorrectedError),同樣可以上報(bào)故障處理中斷及差錯(cuò)恢復(fù)中斷。3)PCIExpress子系統(tǒng)的RAS機(jī)制鯤鵬920處理器片上系統(tǒng)中的PCIExpress設(shè)備同樣具備多種容錯(cuò)功能:(1)PCIExpress鏈路重新訓(xùn)練與恢復(fù):當(dāng)PCIExpress的某條鏈路出現(xiàn)故障導(dǎo)致降級(jí)時(shí),PCIExpress控制器能在不影響數(shù)據(jù)傳輸?shù)那闆r下通過(guò)重新訓(xùn)練(Retraining)的方式進(jìn)行故障恢復(fù)。(2)鏈路層CRC錯(cuò)誤檢測(cè)與重試:所有PCIExpress接口都支持鏈路層CRC校驗(yàn)及錯(cuò)誤重傳機(jī)制,鏈路上偶發(fā)性的數(shù)據(jù)錯(cuò)誤通過(guò)CRC校驗(yàn)機(jī)制可以被檢測(cè)到,并能通過(guò)重傳進(jìn)行恢復(fù)。(3)PCIExpress污染數(shù)據(jù)隔離(PoisonDataContainment):對(duì)于PCIExpress鏈路內(nèi)部產(chǎn)生的錯(cuò)誤數(shù)據(jù),或者通過(guò)重傳無(wú)法恢復(fù)的數(shù)據(jù),會(huì)被打上Poison(污染)標(biāo)簽并繼續(xù)傳輸。接收端在接收到這些標(biāo)記為Poison的數(shù)據(jù)后或者會(huì)忽略這些錯(cuò)誤數(shù)據(jù),或者是帶上Poison標(biāo)簽繼續(xù)傳輸,當(dāng)有軟件消費(fèi)這些數(shù)據(jù)時(shí)可以根據(jù)具體情況進(jìn)行差異化處理。(4)PCIExpressDPC技術(shù):當(dāng)檢測(cè)到某個(gè)PCIExpress根端口有不可糾正錯(cuò)誤發(fā)生時(shí),PCIExpress端口可以通過(guò)DPC(DownstreamPortContainment,下游端口隔離)技術(shù)斷開(kāi)與錯(cuò)誤端口相關(guān)的PCIExpress鏈路,并通過(guò)重連的方式嘗試進(jìn)行恢復(fù)。為了保證此過(guò)程不影響操作系統(tǒng)下設(shè)備的正常運(yùn)行,PCIExpress根端口在斷開(kāi)與PCIExpress端點(diǎn)設(shè)備之間的鏈路之前會(huì)保存好PCIExpress端點(diǎn)設(shè)備的上下文,并在鏈路恢復(fù)后恢復(fù)其上下文信息,保證系統(tǒng)運(yùn)行不受影響。5.軟硬件多層次協(xié)同的RAS機(jī)制除了在硬件層次通過(guò)檢錯(cuò)、糾錯(cuò)、重傳等多種方法保證系統(tǒng)可靠性外,還需要固件、操作系統(tǒng)內(nèi)核、主板管理控制器、虛擬機(jī)管理器等不同層次的軟硬件部件協(xié)同配合,才能在盡量少占用系統(tǒng)資源的同時(shí)最大限度提升RAS特性。1)故障約束機(jī)制對(duì)于不能通過(guò)校驗(yàn)和糾錯(cuò)或重傳方法消除的故障,需要通過(guò)一定機(jī)制抑制故障造成的不良影響。TaiShan服務(wù)器設(shè)計(jì)了一系列的故障約束(FaultRestrain)機(jī)制。TaiShan服務(wù)器支持固件優(yōu)先處理模式,允許所有的錯(cuò)誤都能夠優(yōu)先觸發(fā)中斷并由智能管理單元/可信固件(TF)先進(jìn)行錯(cuò)誤處理,從而提高處理的靈活性及實(shí)時(shí)性。智能管理單元/可信固件可以在故障發(fā)生的第一時(shí)間將錯(cuò)誤現(xiàn)場(chǎng)信息搜集并上報(bào)給主板管理控制器,并對(duì)不同的錯(cuò)誤進(jìn)行差異化的處理,例如觸發(fā)故障隔離操作或復(fù)位故障模塊等。處理完成后再視情況決定是否將錯(cuò)誤上報(bào)給操作系統(tǒng),以及以何種錯(cuò)誤級(jí)別上報(bào)操作系統(tǒng)。TaiShan服務(wù)器的這一特性可以極大提升系統(tǒng)錯(cuò)誤處理的能力。在傳統(tǒng)的錯(cuò)誤處理機(jī)制中,一旦在產(chǎn)生錯(cuò)誤的模塊或傳輸數(shù)據(jù)的模塊中檢測(cè)到不可糾正錯(cuò)誤,將直接觸發(fā)系統(tǒng)復(fù)位。而在TaiShan服務(wù)器的設(shè)備與接口控制器中引入的污染數(shù)據(jù)隔離與差錯(cuò)恢復(fù)(PoisonDataContainment&ErrorRecovery)機(jī)制下,可基于數(shù)據(jù)的實(shí)際使用情況對(duì)不可糾正錯(cuò)誤執(zhí)行錯(cuò)誤處理:在錯(cuò)誤源頭和傳輸過(guò)程中檢測(cè)到不可糾正錯(cuò)誤的模塊并不會(huì)被簡(jiǎn)單復(fù)位,而是將被污染數(shù)據(jù)打上“污染(Poison)”標(biāo)記并繼續(xù)傳輸,并且在對(duì)應(yīng)的故障記錄寄存器中對(duì)此不可糾正的錯(cuò)誤類型進(jìn)行精細(xì)化的分類標(biāo)記。例如,鯤鵬920處理器片上系統(tǒng)的DDR控制器即支持符合ARMRAS擴(kuò)展規(guī)范的Poison標(biāo)記功能。對(duì)于在Cache寫(xiě)回操作過(guò)程中出現(xiàn)的不可修正錯(cuò)誤,DDR控制器支持將寫(xiě)數(shù)據(jù)標(biāo)記為Poison,并把該標(biāo)記和數(shù)據(jù)一起寫(xiě)入DDRSDRAM。DDR控制器遇到攜帶Poison標(biāo)記的讀出數(shù)據(jù)時(shí),會(huì)將標(biāo)記和讀數(shù)據(jù)一起返回給總線。當(dāng)通過(guò)讀數(shù)據(jù)校驗(yàn)發(fā)現(xiàn)不可糾正錯(cuò)誤時(shí),DDR控制器也會(huì)將該讀數(shù)據(jù)標(biāo)記為Poison,返回給總線。當(dāng)DDR控制器內(nèi)部的SRAM校驗(yàn)出現(xiàn)不可糾正錯(cuò)誤時(shí),同樣會(huì)將對(duì)應(yīng)的數(shù)據(jù)標(biāo)記為Poison返回給總線。只有當(dāng)被污染數(shù)據(jù)即將被使用時(shí)才會(huì)將故障信息上報(bào)給操作系統(tǒng)。操作系統(tǒng)會(huì)根據(jù)詳細(xì)的錯(cuò)誤類型標(biāo)記及具體使用數(shù)據(jù)的模塊執(zhí)行多樣化的處理。操作系統(tǒng)首先會(huì)判斷錯(cuò)誤數(shù)據(jù)是否在使用,是否被某個(gè)應(yīng)用程序或某個(gè)特定的線程使用,或者是否用于操作系統(tǒng)內(nèi)核等,然后再根據(jù)不同的錯(cuò)誤類型進(jìn)行差異化處理。差異化處理方式包括忽略錯(cuò)誤(例如顯示器上某個(gè)像素點(diǎn)的錯(cuò)誤)、丟棄數(shù)據(jù)、發(fā)起重傳、重啟出錯(cuò)應(yīng)用程序或去掉相關(guān)的進(jìn)程、觸發(fā)系統(tǒng)復(fù)位等多種手段,從而可以有效降低因不可糾正錯(cuò)誤導(dǎo)致的整個(gè)系統(tǒng)的崩潰,并將不可糾正錯(cuò)誤導(dǎo)致的系統(tǒng)宕機(jī)概率降低60%以上。故障風(fēng)暴是指非重大(Fatal)故障以非常高的頻率連續(xù)發(fā)生的現(xiàn)象。此類非重大故障會(huì)對(duì)故障監(jiān)控系統(tǒng)帶來(lái)很大沖擊,從而間接影響系統(tǒng)的正常運(yùn)行。為了保證故障監(jiān)控的實(shí)時(shí)性,故障監(jiān)控系統(tǒng)通常是以中斷響應(yīng)方式及時(shí)進(jìn)行故障檢測(cè)并搜集相關(guān)的故障信息。當(dāng)故障風(fēng)暴產(chǎn)生時(shí),一方面處理器會(huì)花費(fèi)大量時(shí)間嘗試糾錯(cuò),造成系統(tǒng)性能下降,甚至內(nèi)部定時(shí)器策略超時(shí)導(dǎo)致系統(tǒng)異常;另一方面故障風(fēng)暴引起的頻繁中斷處理也會(huì)耗費(fèi)除CPU時(shí)間之外的大量系統(tǒng)資源,導(dǎo)致某些程序被長(zhǎng)時(shí)間掛起,進(jìn)而影響業(yè)務(wù)的正常運(yùn)行。為了解決此問(wèn)題,TaiShan服務(wù)器針對(duì)故障中斷處理設(shè)計(jì)了中斷風(fēng)暴抑制機(jī)制,在故障監(jiān)控系統(tǒng)中引入了風(fēng)暴判定機(jī)制,當(dāng)故障被判定為故障風(fēng)暴時(shí),會(huì)屏蔽對(duì)應(yīng)故障的中斷觸發(fā),并通過(guò)輪詢方式查詢硬件的故障狀態(tài),并在判定中斷風(fēng)暴消除后重新打開(kāi)中斷,保證在及時(shí)全面搜集系統(tǒng)故障信息的同時(shí)使系統(tǒng)業(yè)務(wù)不受影響。2)故障診斷管理系統(tǒng)為應(yīng)對(duì)各種不同硬件產(chǎn)生的類型各異的問(wèn)題,TaiShan系列服務(wù)器除了遵循ARMRAS擴(kuò)展規(guī)范和PCIExpress規(guī)范實(shí)現(xiàn)ARMRAS差錯(cuò)上報(bào)(ARMRASErrorReporting,ARER)機(jī)制和PCIExpress高級(jí)差錯(cuò)上報(bào)(AER)機(jī)制外,還整合了硬件、BIOS、iBMC帶外管理系統(tǒng)以及現(xiàn)有操作系統(tǒng)的故障處理機(jī)制,構(gòu)建了一套完整的故障診斷管理(FaultDiagnosisManagement,F(xiàn)DM)系統(tǒng)。故障診斷管理系統(tǒng)可以在出現(xiàn)故障時(shí)提供完備的故障信息搜集、故障診斷、故障定位、故障上報(bào)、故障預(yù)警和故障恢復(fù)等一系列功能,實(shí)現(xiàn)服務(wù)器的高可用性。在發(fā)現(xiàn)電源模塊、風(fēng)扇模塊、單板電源或時(shí)鐘部件等基礎(chǔ)類硬件的故障時(shí),可以由服務(wù)器的帶外管理系統(tǒng)單獨(dú)處理,故障檢測(cè)和處理流程一般不需要經(jīng)過(guò)上層業(yè)務(wù)資源。對(duì)于處理器、主存、PCIExpress設(shè)備以及硬盤(pán)等核心模塊發(fā)生的業(yè)務(wù)硬件類故障,由于這些模塊與客戶的業(yè)務(wù)強(qiáng)相關(guān),故這類硬件故障大部分是由BIOS和iBMC共同完成故障定位分析,有些故障還需要操作系統(tǒng)參與故障定位。故障診斷管理系統(tǒng)的功能主要包括故障信息搜集、故障診斷及故障部件精確定位和故障預(yù)警。(1)故障信息搜集。故障診斷管理系統(tǒng)中的故障信息搜集模塊通過(guò)跟蹤系統(tǒng)的重要信號(hào),再結(jié)合BIOS提供的支持,能檢測(cè)系統(tǒng)幾乎所有基礎(chǔ)類硬件故障及業(yè)務(wù)類硬件故障。當(dāng)檢測(cè)到硬件問(wèn)題時(shí),會(huì)通過(guò)帶內(nèi)、帶外相結(jié)合的故障數(shù)據(jù)收集機(jī)制實(shí)現(xiàn)全方位自動(dòng)化的故障數(shù)據(jù)搜集并匯總到故障管理系統(tǒng)。(2)故障診斷及故障部件精確定位。故障診斷管理系統(tǒng)內(nèi)部集成的故障診斷模塊會(huì)對(duì)當(dāng)前搜集到的故障信息及歷史故障數(shù)據(jù)進(jìn)行分析,精確定位出真正的故障部件并上報(bào)用戶。(3)故障預(yù)警。服務(wù)器長(zhǎng)時(shí)間運(yùn)行后,雖然系統(tǒng)還未發(fā)生崩潰,但其內(nèi)部有些部件可能已經(jīng)在間歇或持續(xù)性地產(chǎn)生可恢復(fù)的故障/可糾正的錯(cuò)誤(如ECC差錯(cuò)等)了。雖然這些故障暫時(shí)不影響業(yè)務(wù),但對(duì)系統(tǒng)的持續(xù)運(yùn)行帶來(lái)了極大的風(fēng)險(xiǎn),隨時(shí)可能發(fā)生災(zāi)難性故障,導(dǎo)致系統(tǒng)宕機(jī)和業(yè)務(wù)中斷。因此,如果能在部件真正失效前及早發(fā)現(xiàn)并采取計(jì)劃內(nèi)維護(hù)或熱插拔等手段,則可有效避免系統(tǒng)計(jì)劃外宕機(jī)。為此,故障診斷管理系統(tǒng)中集成了專家診斷系統(tǒng),能根據(jù)大量的歷史監(jiān)控?cái)?shù)據(jù)對(duì)系統(tǒng)各個(gè)關(guān)鍵模塊的健康狀態(tài)進(jìn)行評(píng)估,對(duì)系統(tǒng)面臨的風(fēng)險(xiǎn)進(jìn)行預(yù)判。故障管理系統(tǒng)會(huì)在數(shù)據(jù)丟失或系統(tǒng)發(fā)生不可糾正或?yàn)?zāi)難性錯(cuò)誤之前進(jìn)行干預(yù),配合各種故障隔離機(jī)制提前隔離風(fēng)險(xiǎn)部件,或者以事件或告警的方式提示用戶。這類事件或者告警一般包含對(duì)問(wèn)題的全面描述,包括具體的風(fēng)險(xiǎn)或者故障部件、嚴(yán)重性分類(信息、警告、嚴(yán)重、危急等)、可能的故障原因和建議措施等。用戶可以在獲知此類消息后進(jìn)行計(jì)劃內(nèi)系統(tǒng)維護(hù),實(shí)現(xiàn)防患于未然,確保業(yè)務(wù)的長(zhǎng)期穩(wěn)定運(yùn)行。圖3.53給出了TaiShan服務(wù)器的多層次協(xié)同RAS機(jī)制涉及的主要部件示意圖。圖3.53TaiShan服務(wù)器的多層次協(xié)同RAS機(jī)制涉及的主要部件示意圖3.4.3TaiShan200服務(wù)器的鯤鵬加速引擎為了提升服務(wù)器系統(tǒng)的性能,TaiShan200系列服務(wù)器基于鯤鵬920處理器片上系統(tǒng)的硬件加速技術(shù)提供了軟硬件融合的鯤鵬加速引擎(KunpengAcceleratorEngine,KAE)解決方案。TaiShan服務(wù)器的鯤鵬加速引擎支持對(duì)稱加密、非對(duì)稱加密和數(shù)字簽名、壓縮/解壓縮等算法,用于加速SSL/TLS\h\h(6)應(yīng)用和數(shù)據(jù)壓縮,可以顯著降低處理器的計(jì)算壓力,提高處理器效率。借助加速引擎的軟硬件整合解決方案,加速引擎對(duì)應(yīng)用層屏蔽了其內(nèi)部實(shí)現(xiàn)細(xì)節(jié),用戶通過(guò)OpenSSL或zlib標(biāo)準(zhǔn)接口即可以實(shí)現(xiàn)現(xiàn)有業(yè)務(wù)的快速遷移。目前,TaiShan200系列服務(wù)器的加速引擎可以支持的算法和模式包括:摘要算法SM3;對(duì)稱加密算法SM4,支持CTR\h\h(7)/XTS\h\h(8)/CBC\h\h(9)模式,其中SM4-XTS模式僅支持內(nèi)核態(tài)使用;對(duì)稱加密算法AES,支持ECB\h\h(10)/CTR/XTS/CBC模式;非對(duì)稱算法RSA,支持異步模型,支持密鑰大小1024b、2048b、3072b或4096b;壓縮/解壓縮算法,支持zlib/gzip。1.加速引擎的功能結(jié)構(gòu)隨著異構(gòu)計(jì)算架構(gòu)的興起,在通用CPU處理器之外增加額外的協(xié)處理器成為提升系統(tǒng)并行計(jì)算能力的一種有效選擇。從一般意義上說(shuō),GPU、神經(jīng)網(wǎng)絡(luò)處理器(NPU)以及人工智能(AI)處理器等都可以算作是加速器的一種特殊形態(tài)。圖3.54描述了一種基于PCIExpress總線的硬件加速器的功能結(jié)構(gòu)示例。通常加速設(shè)備需通過(guò)系統(tǒng)存儲(chǔ)管理單元(SMMU)與系統(tǒng)相連。根據(jù)加速設(shè)備的類型,可以將加速設(shè)備分為分離加速設(shè)備(例如PCIExpress擴(kuò)展卡附加設(shè)備)、片上集成加速設(shè)備(例如鯤鵬920處理器片上系統(tǒng)的片上平臺(tái)設(shè)備以虛擬PCIExpress設(shè)備的形式運(yùn)作)和不支持共享虛擬地址(SVA)的老舊加速設(shè)備等。圖3.54硬件加速器的功能結(jié)構(gòu)硬件加速器以硬件復(fù)雜度的提高換取系統(tǒng)性能的大幅度提升,因而在服務(wù)器應(yīng)用場(chǎng)景中擴(kuò)展硬件加速器成為越來(lái)越普遍的選擇。2.鯤鵬920處理器片上系統(tǒng)的硬件加速器抽象模型圖3.55描述了鯤鵬920處理器片上系統(tǒng)的硬件加速器抽象模型。鯤鵬920系列處理器片上系統(tǒng)上的硬件加速器通過(guò)QM(QueueManager,隊(duì)列管理器)模塊與軟件進(jìn)行交互。QM模塊提供了對(duì)虛擬PCIExpress接口的管理,可以實(shí)現(xiàn)基于SR-IOV的虛擬設(shè)備管理。QM模塊管理著主存儲(chǔ)器中的長(zhǎng)度為1024的隊(duì)列,軟件把硬件加速任務(wù)寫(xiě)入主存隊(duì)列中,QM模塊獲取隊(duì)列元素的地址后交給硬件加速器,加速器根據(jù)該地址讀出具體的加速任務(wù)并處理。硬件加速器處理完任務(wù)后從QM模塊申請(qǐng)寫(xiě)回地址并更新隊(duì)列元素,然后根據(jù)硬件配置上報(bào)中斷。圖3.55鯤鵬920處理器片上系統(tǒng)的硬件加速器抽象模型無(wú)論加速器使用多少個(gè)實(shí)際的加速單元,進(jìn)程的請(qǐng)求狀態(tài)都存儲(chǔ)在隊(duì)列中。因而無(wú)論處理器上運(yùn)行的進(jìn)程和線程如何切換,都不需要保留請(qǐng)求狀態(tài),這和協(xié)處理單元的操作方式不同。需要注意的是,隊(duì)列中保存的進(jìn)程請(qǐng)求上下文受QM模塊的最大資源限制,軟件設(shè)計(jì)師要充分利用這種能力,盡早釋放不再使用的QM隊(duì)列。3.TaiShan200服務(wù)器的鯤鵬加速引擎邏輯架構(gòu)圖3.56描述了TaiShan200服務(wù)器鯤鵬加速引擎的組成和邏輯架構(gòu)。圖3.56TaiShan200服務(wù)器鯤鵬加速引擎的組成和邏輯架構(gòu)芯片加速器子系統(tǒng)是TaiShan200服務(wù)器鯤鵬加速引擎的核心,即集成在鯤鵬920處理器片上系統(tǒng)內(nèi)部的硬件加速器。該子系統(tǒng)是加速器的硬件實(shí)現(xiàn),對(duì)上層提供寄存器接口,不直接開(kāi)放給客戶訪問(wèn)。BIOS子系統(tǒng)是指TaiShan硬件產(chǎn)品自帶的單板BIOS軟件系統(tǒng),主要負(fù)責(zé)根據(jù)許可證(License)權(quán)限確定應(yīng)對(duì)加速器中的哪些模塊進(jìn)行初始化,并上報(bào)加速器ACPI表到加速器驅(qū)動(dòng)子系統(tǒng)處理。BMC子系統(tǒng)即服務(wù)器BMC軟件系統(tǒng),也是TaiShan硬件產(chǎn)品自帶的子系統(tǒng)。BMC子系統(tǒng)主要負(fù)責(zé)對(duì)加速器許可證的管理。對(duì)應(yīng)用軟件而言,加速器驅(qū)動(dòng)子系統(tǒng)是系統(tǒng)功能實(shí)現(xiàn)的核心。加速器驅(qū)動(dòng)子系統(tǒng)向上層軟件提供各加速器模塊統(tǒng)一的驅(qū)動(dòng)接口,屏蔽底層硬件細(xì)節(jié)。應(yīng)用庫(kù)子系統(tǒng)包括OpenSSL加速器引擎、zlib替代庫(kù)等,用于向上層軟件提供標(biāo)準(zhǔn)接口。應(yīng)用系統(tǒng)(APPs)是TaiShan200服務(wù)器鯤鵬加速引擎的用戶系統(tǒng),通過(guò)調(diào)用應(yīng)用庫(kù)子系統(tǒng)或驅(qū)動(dòng)子系統(tǒng)實(shí)現(xiàn)加速器的功能。借助鯤鵬加速引擎,上層應(yīng)用系統(tǒng)可以實(shí)現(xiàn)大數(shù)據(jù)應(yīng)用、Web應(yīng)用以及數(shù)據(jù)加密、智能安防和分布式存儲(chǔ)等應(yīng)用場(chǎng)景。為了方便應(yīng)用程序使用鯤鵬硬件加速引擎,可以借助WD\h\h(11)加速器用戶態(tài)庫(kù)和WD加速器用戶態(tài)框架(UsermodeACCElerator,UACCE)。UACCE是鯤鵬的軟件工程師在Linux內(nèi)核中加入的框架模塊,公開(kāi)的項(xiàng)目名稱為WarpDrive。UACCE框架主要解決CPU、加速器和用戶態(tài)之間地址共享的問(wèn)題。WD加速器用戶態(tài)庫(kù)是配合UACCE使用的,兩者結(jié)合起來(lái)可以讓注冊(cè)到UACCE框架的加速器硬件以用戶態(tài)軟件的方式訪問(wèn)內(nèi)存,使得CPU和加速器兩者之間可以建立基于FIFO的通信渠道。在用戶打開(kāi)一個(gè)加速器時(shí),UACCE框架將給該加速器分配一個(gè)隊(duì)列,同時(shí)把存儲(chǔ)管理單元(MMU)和系統(tǒng)存儲(chǔ)管理單元(SMMU)的頁(yè)表合并。因此,對(duì)進(jìn)程而言,CPU和加速器看到的地址空間將完全相同,進(jìn)程可以根據(jù)需要把計(jì)算負(fù)載分配給加速器或者CPU執(zhí)行。本書(shū)5.6節(jié)將給出鯤鵬加速引擎安裝與使用的具體流程。\h(1)SATA即SerialAdvancedTechnologyAttachment,串行高級(jí)技術(shù)附件。\h(2)G表示Gb/s。\h(3)SDDC(SingleDeviceDataCorrection,單設(shè)備數(shù)據(jù)修正)。\h(4)FADC(FirstAreaDataCorrection,首區(qū)域數(shù)據(jù)修正)。\h(5)MADC(MultiAreaDataCorrection,多區(qū)域數(shù)據(jù)修正)。\h(6)SSL(SecureSocketsLayer,安全套接層)及TLS(TransportLayerSecurity,傳輸層安全)是為網(wǎng)絡(luò)通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議。\h(7)CTR(Counter,計(jì)數(shù)器);\h(8)XTS(XEX-basedTweaked-codebookwithciphertextStealing,基于XEX密文竊取的可調(diào)整的密碼本);\h(9)CBC(CipherBlockChaining,加密塊鏈接);\h(10)ECB(ElectronicCodebookBook,電子密碼本)。\h(11)WD即WarpDrive,曲率驅(qū)動(dòng)。第4章鯤鵬軟件生態(tài)和構(gòu)架華為鯤鵬產(chǎn)品不僅僅局限于鯤鵬系列服務(wù)器芯片,更包含了兼容的服務(wù)器軟件,以及建立在新計(jì)算架構(gòu)上的完整軟硬件生態(tài)和云服務(wù)生態(tài)。鯤鵬處理器作為全面兼容ARMv8-A64位體系結(jié)構(gòu)的通用服務(wù)器芯片,支持通用的軟件解決方案,華為集成ARM+Linux技術(shù)與生態(tài),為鯤鵬應(yīng)用開(kāi)發(fā)提供了豐富的軟件資源、應(yīng)用遷移實(shí)踐環(huán)境及開(kāi)發(fā)套件。本章首先介紹鯤鵬軟件生態(tài),然后分析鯤鵬軟件的構(gòu)成,介紹鯤鵬服務(wù)器平臺(tái)上開(kāi)發(fā)軟件的3類模式,最后詳細(xì)介紹與鯤鵬平臺(tái)密切相關(guān)的軟件移植與性能調(diào)優(yōu)問(wèn)題,其中也包括了華為提供的工具套件的說(shuō)明。4.1鯤鵬軟件生態(tài)與云服務(wù)依靠開(kāi)放的商業(yè)模式和授權(quán)機(jī)制,ARM公司與其合作伙伴構(gòu)建了一個(gè)以ARM為核心的龐大的生態(tài)圈。鯤鵬作為通用的ARMv8處理器,是全球ARM生態(tài)中的重要一員,和ARM共享優(yōu)勢(shì)生態(tài),目前已經(jīng)構(gòu)筑了相對(duì)完整的鯤鵬軟件生態(tài)。當(dāng)前鯤鵬不再僅僅局限于鯤鵬系列服務(wù)器芯片,更是包含了完整的服務(wù)器軟硬件生態(tài)和全棧的云服務(wù)生態(tài)。該生態(tài)匯聚了芯片、服務(wù)器、操作系統(tǒng)、虛擬化容器、應(yīng)用軟件、云服務(wù)和多個(gè)通用水平解決方案及垂直行業(yè)解決方案等。4.1.1ARM授權(quán)機(jī)制在傳統(tǒng)PC領(lǐng)域,半導(dǎo)體廠商的業(yè)務(wù)模式主要有兩種。一種是像英特爾那樣,作為一家垂直的集成芯片設(shè)計(jì)和制造公司。英特爾擁有從芯片的設(shè)計(jì)到芯片的生產(chǎn)和銷售完整的產(chǎn)業(yè)鏈。在PC領(lǐng)域,英特爾推動(dòng)著PC平臺(tái)的定義和發(fā)展,其處理器成本也最終成為設(shè)備總成本的很大一部分。另一種是無(wú)晶圓廠(Fabless)模式。像NVIDIA、AMD那樣,自己只設(shè)計(jì)芯片,物理制造則交給代工廠,如臺(tái)積電、三星電子、UMC聯(lián)電、GlobalFoundries等。無(wú)晶圓廠的半成品方式可以極大地降低成本,但設(shè)計(jì)最終還是要由代工伙伴來(lái)決定,產(chǎn)能、質(zhì)量和時(shí)間進(jìn)度或多或少不受控制。這有時(shí)會(huì)極大地影響企業(yè)將產(chǎn)品推向市場(chǎng)的能力。移動(dòng)領(lǐng)域與PC/服務(wù)器領(lǐng)域不同,主應(yīng)用處理器的成本很容易低于設(shè)備總成本的10%。ARM公司據(jù)此形成了獨(dú)特的業(yè)務(wù)模型:它不向市場(chǎng)出售任何芯片,相反,ARM公司設(shè)計(jì)IP(包括指令集架構(gòu)、微處理器、圖形核心、互連架構(gòu)等)并將其許可給任何想使用它的客戶。然后,由ARM的授權(quán)持有人/合作伙伴/客戶決定是否可以實(shí)際制造和銷售該芯片。ARM公司提供三種不同類型的許可證授權(quán):POP(ProcessorOptimizationPack,處理器優(yōu)化包/物理IP包)授權(quán)、處理器授權(quán)和架構(gòu)/指令集授權(quán)。POP授權(quán)是三種授權(quán)方式中等級(jí)最低的,客戶可以直接購(gòu)買(mǎi)使用ARM優(yōu)化過(guò)的處理器方案,適用于需要ARM處理器卻沒(méi)有能力自己實(shí)現(xiàn)的客戶。通過(guò)POP授權(quán),客戶可以快速開(kāi)發(fā)出產(chǎn)品,授權(quán)費(fèi)用也較低,但是處理器類型、代工廠、工藝等都是ARM規(guī)定好的,自由發(fā)揮的空間很小。處理器授權(quán)是使用ARM設(shè)計(jì)的微處理器或GPU的授權(quán)??蛻舨荒芨脑O(shè)計(jì),但是可以根據(jù)需要和購(gòu)買(mǎi)的內(nèi)核進(jìn)行芯片設(shè)計(jì)和實(shí)現(xiàn)。ARM提供有關(guān)如何在硅片上實(shí)現(xiàn)設(shè)計(jì)的準(zhǔn)則,但如何將設(shè)計(jì)變成芯片,如配置哪些模塊、哪些外設(shè)、多少個(gè)核心、多少緩存、多高頻率、什么工藝、誰(shuí)來(lái)代工等問(wèn)題,則由客戶自行決定。架構(gòu)/指令集授權(quán)是等級(jí)最高的授權(quán)。ARM向客戶授權(quán)某種架構(gòu)(例如ARMv7,ARMv8),客戶可以隨意采用該架構(gòu)并按自己的意愿設(shè)計(jì)SoC(片上系統(tǒng)),如對(duì)ARM架構(gòu)進(jìn)行改造,甚至可以對(duì)指令集進(jìn)行擴(kuò)展和縮減。ARM會(huì)提供設(shè)計(jì)支持和一系列測(cè)試,以驗(yàn)證對(duì)實(shí)現(xiàn)的ARM指令集是否符合。這種授權(quán)費(fèi)用很高,從某種程度上講,在這種模式下設(shè)計(jì)出來(lái)的處理器在市場(chǎng)上和ARM公司自己設(shè)計(jì)的公版處理器會(huì)構(gòu)成一定的競(jìng)爭(zhēng)關(guān)系。在全球擁有這種授權(quán)方式的公司為數(shù)不多,都是研發(fā)實(shí)力比較強(qiáng)的公司,例如這些公司設(shè)計(jì)的處理器有蘋(píng)果的Swift、Cyclone、Bionic,高通的Scorpion、Krait、Kyro,華為的麒麟、鯤鵬等。ARM指令集的發(fā)展是開(kāi)放的。獲得ARM指令集授權(quán)的企業(yè)不單是在內(nèi)核與SoC芯片設(shè)計(jì)上擁有最大的自由度,而且可以根據(jù)市場(chǎng)需求對(duì)ARM指令集的升級(jí)換代提出修改意見(jiàn),市場(chǎng)上成功的企業(yè)對(duì)ARM指令集發(fā)展的話語(yǔ)權(quán)將逐步增強(qiáng),并實(shí)現(xiàn)對(duì)上層IP的影響,共建ARM的指令集發(fā)展。正是ARM的這種授權(quán)模式,極大地降低了自身的研發(fā)成本和研發(fā)風(fēng)險(xiǎn)。它以風(fēng)險(xiǎn)共擔(dān)、利益共享的模式,以更加民主的合作伙伴為中心的芯片供應(yīng)方法,與眾多授權(quán)合作伙伴一道,形成了一個(gè)以ARM為核心的龐大的生態(tài)圈。4.1.2ARM服務(wù)器生態(tài)依靠開(kāi)放的商業(yè)模式,ARM公司已壟斷移動(dòng)芯片市場(chǎng),并攜此進(jìn)入了PC和服務(wù)器市場(chǎng)。目前,ARM服務(wù)器的生態(tài)已經(jīng)相對(duì)成熟。在現(xiàn)今以云架構(gòu)為主的信息技術(shù)體系中,通用服務(wù)器處理器的市場(chǎng)成功與否取決于指令集的統(tǒng)一性、芯片產(chǎn)品高性能和高穩(wěn)定性、軟硬件生態(tài)環(huán)境的開(kāi)放和培育、開(kāi)放的商業(yè)模式和產(chǎn)業(yè)合作等因素。在PC和服務(wù)器端,x86平臺(tái)生態(tài)系統(tǒng)完善,有著統(tǒng)一的硬件、硬件開(kāi)發(fā)環(huán)境和基礎(chǔ)設(shè)施,許多應(yīng)用的開(kāi)發(fā)都是在x86機(jī)器上進(jìn)行。在移動(dòng)終端,ARM一騎絕塵,但它在終端的差異化和碎片化也導(dǎo)致了一些支持和設(shè)備方面的問(wèn)題,服務(wù)器芯片市場(chǎng)需要長(zhǎng)期的技術(shù)投資與軟硬件生態(tài)系統(tǒng)的廣泛支持。在服務(wù)器領(lǐng)域,客戶往往希望能夠?qū)崿F(xiàn)新系統(tǒng)的“開(kāi)箱即用”,并直接集成所選擇的操作系統(tǒng)與應(yīng)用程序。與移動(dòng)應(yīng)用不同,在服務(wù)器和基礎(chǔ)設(shè)施領(lǐng)域?yàn)槊總€(gè)平臺(tái)修改操作系統(tǒng)是不可接受的,因此一個(gè)基本的標(biāo)準(zhǔn)集對(duì)于服務(wù)器和基礎(chǔ)設(shè)施市場(chǎng)尤其重要。標(biāo)準(zhǔn)允許不同產(chǎn)品之間在保持兼容性的同時(shí),使各個(gè)合作伙伴能夠在其中進(jìn)行創(chuàng)新和差異化。為實(shí)現(xiàn)這一目標(biāo),建設(shè)穩(wěn)定的ARM服務(wù)器生態(tài)系統(tǒng),避免碎片化,ARM公司與合作伙伴一直在推動(dòng)ARM服務(wù)器架構(gòu)的規(guī)范化和標(biāo)準(zhǔn)化。ARM公司已經(jīng)與整條基礎(chǔ)設(shè)施供應(yīng)鏈的各方實(shí)現(xiàn)了合作,包括芯片供應(yīng)商、獨(dú)立固件供應(yīng)商、操作系統(tǒng)和虛擬機(jī)管理程序供應(yīng)商、OEM廠商、ODM廠商、獨(dú)立硬件供應(yīng)商和云基礎(chǔ)設(shè)施供應(yīng)商等?;陂_(kāi)放的ARM芯片IP授權(quán),眾多廠商共同參與了ARM服務(wù)器架構(gòu)規(guī)范標(biāo)準(zhǔn)的制定。在硬件架構(gòu)和固件方面,ARM與合作伙伴共同定義了SBSA規(guī)范中的最低硬件要求,以及SBBR規(guī)范中的最低固件要求,從而盡可能利用行業(yè)標(biāo)準(zhǔn)創(chuàng)建新的ARM規(guī)范,以實(shí)現(xiàn)互操作性。規(guī)范要能驗(yàn)證才有意義,規(guī)范的驗(yàn)證是通過(guò)各種ARM合規(guī)性程序?qū)崿F(xiàn)的,這些程序能夠幫助開(kāi)發(fā)人員確保其硬件完全符合ARM架構(gòu)規(guī)范。ARM為SBSA規(guī)范和SBBR規(guī)范驗(yàn)證創(chuàng)建了架構(gòu)合規(guī)性測(cè)試包(ACS)。ACS測(cè)試涵蓋SBSA規(guī)范規(guī)定的硬件要求(CPU、中斷、IOMMU、PCIe等)和SBBR規(guī)范定義的固件要求(UEFI、ACPI和SMBIOS測(cè)試)等。2018年,ARM公司推出基于ARM架構(gòu)的服務(wù)器合規(guī)認(rèn)證計(jì)劃———ARMServerReady項(xiàng)目,旨在幫助用戶安全、合規(guī)地部署ARM服務(wù)器系統(tǒng)。ARMServerReady項(xiàng)目確?;贏RM的服務(wù)器可以直接使用,并提供與標(biāo)準(zhǔn)操作系統(tǒng)、虛擬機(jī)管理程序和軟件的無(wú)縫互操作。合作伙伴可以運(yùn)行ACS測(cè)試套件,以檢查其系統(tǒng)是否為ServerReady。符合ARMServerReady條款和條件的兼容系統(tǒng)將獲授ARMServerReady證書(shū)。目前,ARMServerReady1.0版使用ACS1.6版,測(cè)試對(duì)象要符合SBSA3.1版和SBBR1.0版的規(guī)定。基礎(chǔ)軟件,如操作系統(tǒng)、工具鏈(編程語(yǔ)言和開(kāi)發(fā)工具)和云基礎(chǔ)軟件(虛擬化和容器)等在Linaro等開(kāi)源生態(tài)社區(qū)及各ARM服務(wù)器廠商的努力下達(dá)到了對(duì)ARM服務(wù)器的完全支持。主流的操作系統(tǒng)軟件發(fā)行版(CentOS、OpenSuse、Ubuntu等)都依賴統(tǒng)一、開(kāi)放的硬件架構(gòu)標(biāo)準(zhǔn)。隨著ARM64服務(wù)器對(duì)SBSA規(guī)范的不斷支持和完善,這些主流的商用和開(kāi)源操作系統(tǒng)都宣布了對(duì)ARM64服務(wù)器的支持。工具鏈也是基礎(chǔ)軟件生態(tài)的關(guān)鍵環(huán)節(jié)。目前主流的編譯器(GCC、LLVM等)以及編程語(yǔ)言(C、C++、Java、Python、Go等)都提供了對(duì)ARM64位處理器架構(gòu)的支持,并且在性能和穩(wěn)定性方面都具備了商用能力。除此之外,ARM公司也一直致力于拓展、開(kāi)發(fā)商用工具鏈產(chǎn)品,并針對(duì)具體應(yīng)用場(chǎng)景進(jìn)行深度優(yōu)化,使這些產(chǎn)品在性能方面具備很強(qiáng)的競(jìng)爭(zhēng)力。云基礎(chǔ)軟件主要包括虛擬化軟件和容器。目前主流的開(kāi)源虛擬化軟件KVM(基于內(nèi)核的虛擬機(jī))和Xen(一款開(kāi)源的Hypervisor)都提供了對(duì)ARM64位處理器架構(gòu)的商用支持。在容器方面,Docker也提供了支持ARM64位處理器架構(gòu)的商用版本,云基礎(chǔ)軟件生態(tài)已經(jīng)構(gòu)建。在開(kāi)源軟件領(lǐng)域,開(kāi)源的應(yīng)用軟件及中間件陣容龐大,覆蓋目前幾乎所有的主流數(shù)據(jù)中心業(yè)務(wù)場(chǎng)景,例如云計(jì)算服務(wù)(OpenStack、Ceph、Kubernetes等),大數(shù)據(jù)業(yè)務(wù)(Hadoop、Spark等),高性能計(jì)算業(yè)務(wù)(OpenHPC),數(shù)據(jù)庫(kù)(MySQL等)等。以Linaro為首的ARM64開(kāi)源生態(tài)社區(qū)通過(guò)構(gòu)建ERP(EnterpriseReferencePlatform),建立了與這些開(kāi)源應(yīng)用軟件和中間件的協(xié)同。通過(guò)持續(xù)迭代和演進(jìn),使得ARM64服務(wù)器完全支持這些開(kāi)源軟件的運(yùn)行,基本使能開(kāi)源軟件生態(tài)。以目前使用最廣泛的云計(jì)算服務(wù)軟件OpenStack為例,OpenStack社區(qū)在2016年10月正式宣布了對(duì)ARM64服務(wù)器的支持。在商用軟件領(lǐng)域,ARM64服務(wù)器廠商一直積極和各個(gè)商用軟件廠商展開(kāi)合作,并獲得了相關(guān)領(lǐng)域商用軟件的支持。例如亞馬遜和微軟已經(jīng)在各自的云(即AWS和Azure)中投資了ARM平臺(tái)。隨著合作的不斷開(kāi)展和深入,相信會(huì)有更多的商用軟件支持ARM64服務(wù)器。隨著ARM64服務(wù)器軟件生態(tài)的不斷完善以及硬件能力的不斷提升,越來(lái)越多的開(kāi)源軟件社區(qū)及商用軟件廠商會(huì)對(duì)ARM64服務(wù)器提供支持,為用戶帶來(lái)無(wú)差別的應(yīng)用體驗(yàn)。在整機(jī)方面,隨著AR
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 46886-2025智能檢測(cè)裝備通用技術(shù)要求
- CCAA - 2024年03月建筑施工領(lǐng)域?qū)I(yè)答案及解析 - 詳解版(65題)
- 山東省煙臺(tái)市海陽(yáng)市2025-2026學(xué)年七年級(jí)上學(xué)期期末生物學(xué)試題(含解析)
- 中學(xué)學(xué)生課外實(shí)踐基地建設(shè)制度
- 養(yǎng)老院環(huán)境衛(wèi)生與綠化制度
- 企業(yè)信息安全規(guī)范制度
- 電池制液工崗前基礎(chǔ)驗(yàn)收考核試卷含答案
- 鐵氧體材料燒成工崗后能力考核試卷含答案
- 海藻飼料肥料制作工崗前達(dá)標(biāo)考核試卷含答案
- 我國(guó)上市公司機(jī)構(gòu)投資者持股、融資方式與并購(gòu)績(jī)效的關(guān)聯(lián)性探究
- 畜禽糞污資源化利用培訓(xùn)
- 《搶救藥物知識(shí)》課件
- 建筑工程咨詢服務(wù)合同(標(biāo)準(zhǔn)版)
- 2024年4月自考05424現(xiàn)代設(shè)計(jì)史試題
- 綜合能源管理系統(tǒng)平臺(tái)方案設(shè)計(jì)及實(shí)施合集
- 甲苯磺酸奧馬環(huán)素片-藥品臨床應(yīng)用解讀
- 共享單車對(duì)城市交通的影響研究
- 監(jiān)理大綱(暗標(biāo))
- 機(jī)關(guān)職工代表大會(huì)制度(五篇)
- 中心小學(xué)11-12學(xué)年度教師年度量化評(píng)分實(shí)施方案
- SH/T 1627.1-1996工業(yè)用乙腈
評(píng)論
0/150
提交評(píng)論