[產品介紹] HPE NonStop TBC (Technical Boot Camp)參訪報導 (下)
作者/黃俊源
前言
HPE Integrity NonStop X是最新推出的NonStop系統架構,主要採用x86處理器及Infiniband之內部連線建構全新的NonStop系統。其保有一貫NonStop特性,並提供效能更佳的之NonStop應用環境。
NonStop X特性說明
一、HP Integrity NonStop X系統簡稱為NonStop X;原本採用Itanium處理器的NB-series簡稱為NonStop i。
二、NonStop X的架構設計仍維持NonStop系統一貫的容錯特性設計,為IDC AL4最高等級的可用性。
三、採用Intel x86 Xeon處理器
- 單一CPU記憶體最高為192GB。
- 與J version作業系統相同,單一NonStop CPU包含多個core;第一代NonStop X server每個CPU支援4個core,自L15.08版本作業系統開始支援core licensing方案,可enable每個CPU使用2、4、6 cores(使用相同的硬體)。
四、硬體架構採用與NonStop NB-series相同的c7000機架,CPU硬體為半高的blade規格,所以16個CPU可全部安裝於同一c7000機架,使用較少之機房空間。
五、內部連結採用InfiniBand(FDR 56Gbps)取代ServerNet III (2Gbps)技術;InfiniBand的Subnet Manager (SM)執行於第一組Storage CLIM上。
- NonStop採用InfiniBand主要因素
- Data Integrity:NonStop系統架構最主要基石之一就是Data Integrity,InfiniBand藉由在fabric hop以及跨fabric點對點都進行CRC檢查,提供傳輸層最高等級的data integrity。
- Fault Tolerance:InfiniBand網路具備多fabric的特性,NonStop OS提供在不同fabric間切換的機制,確保資料傳輸的容錯能力。
- Bandwidth/Latency:InfiniBand提供高頻寬和低延遲的特性,滿足有高I/O導向的應用系統需求。
- RDMA:RDMA移除資料傳輸過程中OS kernel的介入處理,有效提升處理效率;NonStop藉由RDMA特性移除context switch、protocol processing、data movement from/to the network等工作,降低延遲時間。
- Multiple Vendor Support:NonStop OS kernel架構可支援不同的硬體供應商。
- Clustering/Long Distance (Future):InfiniBand網路特性可提供將多套NonStop系統進行cluster的能力,並藉由光多工器可跨遠距連結。
- Continuity of NonStop OS Infrastructure:InfiniBand技術是依據NonStop ServerNet技術演進發展,InfiniBand具備現行NonStop OS所需的ServerNet基礎。
- Native IB clustering
- 自L15.08版本作業系統開始支援Native IB clustering供NonStop X系統連接。
- 與既有Itanium系統(NB-series、NS-series)連接需透過Expand/IP無法使用BladeCluster。
六、周邊連接
- Storage CLIM:SAS disk、SSD、Tape drive、VTC (Virtual Tape Control)。IP CLIM:10GbE,可連接1GbE網路。
七、作業系統版本為L-series,TOSVERSION為L06。(J-series為J06、H-series為H06)。
- 作業系統編號格是將改為Lyy.mm,yy為year、mm為month。例如第一個L版本作業系統RVU為L15.02表示2015年2月推出。最新版本為L16.05為2016年5月推出。
- 系統架構名稱為TNS/X 。(Itanium處理器系統架構名稱為TNS/E、MIPS處理器系統架構名稱為TNS/R)。
八、Big Endian處理
- Intel x86處理器為Little Endian,Itanium處理器為Big Endian。
- 為維持一致性,HPE設計上仍維持NonStop X server為Big Endian,透過OS與compiler將資料轉換,使用者不須處理。
- 可直接與Itanium處理器的NonStop server用binary方式傳遞資料。
九、InfiniBand YUMA解決方案(NSADI)
- NSADI已於今年推出提供high level RDMA API作為NonStop與其他平台間的訊息交換機制,目前僅規劃支援Red Hat Linux平台。

《圖一》
NonStop X升級注意事項
一、NonStop X應用系統執行環境與NonStop i差異說明
- 相同部份
- TNS/X native開發環境如同TNS/E開發環境,C、C++、COBOL以及pTAL語言均支援;開發工具具備所有TNS/E native開發工具功能,TNS/X工具因應需求額外增加部分功能。
- 編譯器支援32-bit環境,類似TNS/E以32-bit address擴展到64-bit address,因此允許32-bit在x86 64-bit模式下正常運作;編譯器針對OSS程式支援64-bit環境,如同TNS/E。
- 使用NSDEE可完全支援PC上的cross-compilation。
- 一般而言從TNS/E native mode升級到TNS/X native mode不需要針對source code做修改。
- TNS開發環境如同在H版本或是J版本,TNS program binary compatible完全相容。
- 在Guardian環境下完全支援TNS開發工具,可以在L版本上的Guardian環境開發TNS應用程式。
- 支援加速Accelerator,不過必須透過L版本的TNS/X Object Code Accelerator(OCAX)做加速。
- 改變部分
- 雖然大部分研發工具與TNS/E相同,不過仍有一些工具使用不同的指令與選項。例如於Guardian環境下,使用TNS/X COBOL compiler將須以XCOBOL取代ECOBOL。
- L版本提供不同的除錯工具:針對TNS/X native program可以使用native inspect(xinspect)或是NonStop Development Environment for Eclipse(NSDEE);針對TNS program可以使用inspect。Visual Inspect(VI)於L版本已經不支援,由NSDEE取代。
- TNS/X所使用的public library與TNS/E的public library具備不同的名字。
- 注意事項:若程式有下列情況則可能需要修改程式碼
- 使用未列在HP標準作業手冊的procedure call。
- 使用標準的procedure call,但是使用參數或選項未列在作業手冊中。
- 使用Privileged procedure call (程式須給License才可執行)。
- 直接存取internal作業系統的data structure。
- 直接存取作業系統的檔案內容,例如:USERID或CONFIG檔案。
- 程式行為非列在HPE標準作業手冊中。
二、應用系統程式升級方式
- TNS/E native mode升級到TNS/X native mode
- 如果應用程式已經是TNS/E native mode,則從TNS/E升級到TNS/X native mode將是一個簡單工作,通常僅需要使用TNS/X native compiler重新編譯即可。
- 由於Itanium與x86 CPU不同,所以TNS/E native object code無法直接於L版本上執行,TNS/E native program必須重新編譯才可以於L版本上執行。
- 大部分source code並不需要做修改,除非碰到前面提到的注意事項才需針對程式碼做調整。
- TNS mode升級到L版本的TNS mode
- 當從J或是H版本上的Guardian TNS應用程式升級到L版本上,如果不需要應用到native功能時,可以直接使用原有的TNS object code在L版本上直接執行。
- 如同J以及H版本,L版本支援TNS object的轉譯以及加速模式。
- L版本將持續支援Guardian TNS編譯器及相關工具。
- TNS mode升級到L版本的TNS/X native模式
- 可考慮將TNS程式升級為L版本的native 模式,在執行效能有顯著的增加。可參考作業手冊TNS/E Native Application Conversion Guide,升級為TNS/E模式後再使用TNS/X compiler重新編譯。
NonStop X與NonStop i效能比較
一、CPU處理效能提升
- 依據HP數據,NonStop NS7 X2 6 core系統效能約為NonStop NB56000c 4 core系統效能2.4倍。
- NonStop NS7 X2 4 core系統效能約為NonStop NB56000c 4 core系統效能1.7倍。
- NonStop NS7 X2 2 core系統效能約為NonStop NB56000c 2 core系統效能1.65倍。
- 此數據是HP依據其SQL/MP Order Entry測試模型所得到的數據,在不同的應用系統或是系統架構下,其效能提升數據會有差異。
二、延遲時間(latency)效能提升
- 依據HP公告的說明,NonStop X系統內部延遲時間與NonStop NB56000c相比,約降低latency 1.5 ~ 12倍以上,訊息長度越長改善越顯著。
vNonStop介紹說明
HPE NonStop系統在NonStop X型主機導入x86處理器、Infiniband架構,並支援RDMA架構與技術,藉由這些技術與架構大幅提升系統效能;下一個階段目標是支援虛擬化vNonStop (virtualized NonStop)技術。
此次NonStop TBC活動,HPE使用兩台DL380 server,搭配RoCE (RDMA over Converged Ethernet),安裝RHEL與KVM hypervisor,再利用OpenStack軟體,實機展示vNonStop的可行性。從照片旁的咖啡杯可以得知,未來不一定需要大量的硬體設備才能應用NonStop fault-tolerant架構,針對開發、測試或是品管都可依需求彈性的配置環境,而且藉由虛擬化未來也可以將Mission Critical 業務雲端化。

《圖二》

《圖三》
依據此次參訪取得的資料,vNonStop是依據NonStop X的作業系統環境所開發,特性與規格說明如下:
一、vNonStop特性
- 系統架構與NonStop X相同,以TNS/X IntelR X86並以64bit模式運作。
- 建置恰當,會具有與NonStop X和NonStop i相同的可用性。
- 具備相同的core license方案,可在虛擬環境上決定每個CPU要使用多少core。
- 作業系統版本與NonStop X相同,使用L version RVU。。
- TNS程式一樣不須做程式碼修改。
- Native程式與NonStop X一樣不需修改。
- TNS/R或是TNS/E程式需重新編譯。
- Big Endian環境。
二、vNonStop使用之硬體範本:Intel® Virtualization Technology for Directed I/O(VT-d),主要有下列功能:
- DMA remapping:針對Direct Memory Access可從I/O device到VM上,支援位址的轉換。
- Interrupt remapping:針對I/O device轉換到VM上,支援interrupt的隔離或是轉換。
- 支援Single Root I/O Virtualization(SR-IOV):SR-IOV 是一種 PCI(peripheral component interconnect)規格,允許PCIe的I/O裝置以多個實體與虛擬裝置呈現以供VM使用。
三、VM參數最佳化
- 針對vNonStop CPU以及vCLIM需要獨立綁定core,VM分配cores的使用建議配置於相同的NUMA區域範圍。
四、vNonStop軟硬體基礎配置
- Intel Xeon processor 64-bit mode。
- RoCEv2網卡與Ethernet Switch。
- OpenStack Mitaka(2016四月推出)或以後版本。
- Hypervisor:初始版本採用Linux KVM,未來會依據客戶需求評估支援其他hypervisor。
- Linux OS版本已測試RHEL 7.2、Ubuntu 16.04、CentOS 7.2。
結論
NonStop X選用Intel x86處理器,並以Infiniband取代之前的ServerNet,雖然硬體異動,不過仍維持100% fault-tolerant架構。而且除了處理器效能提升外,隨著Infiniband架構使用,亦推出NSADI以供NonStop與Linux上的應用程式透過RDMA方式界接,藉此移除資料傳輸過程中OS kernel的介入處理,有效提升處理效率。未來,藉由vNonStop架構與技術,更具彈性的應用,提供mission critical應用系統雲端化。<作者目前服務於凌群電腦NonStop Kernel服務總處>
參考資料
一、Mike Rice, HPE NonStop X interconnect fabrics technical overview, 2016 TBC
二、Lars Plum, HPE NonStop X technical overview, 2016 TBC
三、Kristy Andrews, HPE NonStop X application migration and languages enhancements overview, 2016 TBC
四、Lars Plum, Virtualized NonStop (vNonStop) Architectural Overview, 2016 TBC