[產品介紹] 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