第233期 / March 6, 2017

分享到臉書!分享到維特!分享到噗浪!分享到Google+!分享到微博!轉寄友人友善列印

[產品介紹] HPE NonStop TBC (Technical Boot Camp)參訪報導 (下)

作者/黃俊源

[發表日期:2017/3/6]

前言

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