技術情報」カテゴリーアーカイブ

iWARP動作検証

iWARP (Internet Wide-Area RDMA Protocol) は、TCP/IPネットワーク経由でRDMAを実装するネットワークプロトコルです。

従来よりHPC分野では、大量のデータを使い演算処理をする大規模計算をサポートするインターコネクトとしてInfinibandが広く採用されてきています。
しかしここ最近では、Infiniband以外にもiWARPやRoCEなども採用される事例が多くなってきています。

そこでiWARPの動作検証をしてみました。
比較方法は、2台の計算機の最大スコアを想定し
1GBps
Infiniband
10Gbps iWARP
のスコアを比較します。

まず以下構成の計算機を2台用意する。

【環境】
●ハードウェア環境
CPU: Intel Xeon Gold 6258R CPU 28Core x1
MEM: 16GB DDR4-2933 x6

●ソフトウェア環境
OS: Ubuntu Server 20.04
MPI: Openmpi 4.1.1
GCC: 9.4.0
Benchmark: cc_himenoBMTxp_mpi(C + MPI, static allocate version)Size=L

【テスト】
●準備計測
まず前提となる最大値を計測する。
計算機1台でのスコアは以下。

・28core without HT N=28
MFLOPS measured : 48898.718831
MFLOPS measured : 48306.170793
MFLOPS measured : 48640.000116
MFLOPS measured : 48399.317924
MFLOPS measured : 48277.031488

平均 48504.2478304 MFLOPS

同構成マシン2台なので最大期待スコアはシンプルに2倍とする。

48504.2478304 MFLOPS x2 = 97008.4956608 MFLOPS
最大期待値   97008.4956608 MFLOPS

●計測
ここからはインターコネクト越しに2台のマシンで計測する。

■ 1Gbps TCP(オンボード Intel 1Gbps NIC)
・56core without HT N=56
MFLOPS measured : 80623.366818
MFLOPS measured : 80866.794020
MFLOPS measured : 81248.198197
MFLOPS measured : 81189.602887
MFLOPS measured : 80827.159099

平均 80951.0242042 MFLOPS

平均 80951.0242042 MFLOPS ÷ 最大期待値   97008.4956608 MFLOPS ≒ 83.4%
※ 計測時のおおよそなシステムプロセス値 10%ほど

■ Infiniband QDR(Mellanox QDR)
・56core without HT N=56
MFLOPS measured : 96102.390695
MFLOPS measured : 96600.515094
MFLOPS measured : 96122.006927
MFLOPS measured : 95872.529788
MFLOPS measured : 96135.243922

平均 96166.5372852 MFLOPS

平均 96166.5372852 MFLOPS ÷ 最大期待値   97008.4956608 MFLOPS ≒ 99.1%
※ 計測時のおおよそなシステムプロセス値 0.1%ほど

■ 10Gbps iWARP(Chelsio 10Gbps NIC)
・56core without HT N=56
MFLOPS measured : 95879.634238
MFLOPS measured : 95465.368767
MFLOPS measured : 94577.077169
MFLOPS measured : 94201.079737
MFLOPS measured : 94704.609024

平均 94965.553787 MFLOPS

平均 94965.553787 MFLOPS ÷ 最大期待値   97008.4956608 MFLOPS ≒ 97.8%
※ 計測時のおおよそなシステムプロセス値 0.1%ほど

【評価】
姫野ベンチマークは、大規模計算までならないとしても軍配はInfinibandでした。さすがです。
ですが10Gbps iWARPも良い結果でした。
最大期待値の97.8%のスコアも良かったですが、計測時のシステムプロセス値 が驚くほど低く0.1%であったことはビックリでした。
計算機環境が小規模であり、コストに見合うのであれば1GbpsよりiWARPを選択するのも悪くなさそうです。

つづく

swSafeのご紹介

当社ではサーバやワークステーションのバックアップとリストアを簡単な操作で行うためのツールswSafeも販売しています。

saSafeイメージ

このツールにはLinuxがインストールされています。サーバやワークステーションのバックアップもしくはリストアを行いたい時に、サーバやワークステーションへこのツールを取り付けて起動するとLinuxが起動します。

Linuxが起動するので、Linuxで行える様々な操作をサーバやワークステーションに対して行うことが出来ますが、

  • 簡単な操作でバックアップやリストアを行う為
  • コマンドによる誤操作を防ぐ為

に、専用インターフェイスを開発しました。その画面をここで確認することが出来ます。このインターフェイスにより、

  • バックアップを行うためのコマンドを覚える必要がなく、
  • キーボードの十字キーやエンターキーくらい

で、操作出来ます。

更に、このツールはLinux上で動いているので、Linuxが認識出来るデバイス、SATAのみでなく、NVMeにインスールされているOSのバックアップやリストアを行うことが出来ます。(ちなみにNVMeって速くて良いですね。ちょっと発熱が大きいのですが、……。)

このツールの想定している状況は、

  • OSをクリーンインストール状態へ戻す
  • 定期的なフルバックアップ

です。

最近ではAnsibleなどの構成管理ツールによりOS構成管理を行いやすくなっていますが、構成管理方法を覚えるのに時間が掛かったり、そもそも構成管理ツールがユーザ様の構成に対応していなかったりする場合あります。その場合には、手作業でサーバやワークステーションの設定を行わなければなりません。設定作業の前に、このツールでバックアップを行っておけば、仮に設定が上手く出来なくなってしまっても、作業前の状態に簡単に戻すことが出来ます。このような状況で、このツールが効果を発揮するかもしれません。

swSafeの紹介でした。

AMD EPYC 7501 + 32GB DDR4-2666 性能評価

EPYC1CPU当たり32コアを持つEPYC 7501 x 2個と、32GB DDR4-2666 x 32枚(合計1024GB)を搭載するシステムPOWER MASTER Server S5081にて、姫野ベンチマークによる計測を行ってみました。

ちなみに、AMD EPYCには8coreのダイが4つパッケージに入っていて、各々のダイにはメモリ2chとPCIE x16 2本が接続できる構成となっているとのこと。1CPUでメモリ8chとPCIE x16 8本も持っているのです。

【環境】

    CPU:EPYC 7501 x 2個
    メインボード:Supermicro H11DSU-iN
    メモリ:32GB DDR4-2666 ECC Registered x 32枚(合計1024GB)
    OS:CentOS7.3 x86_64

【テスト】

① シングルスレッド評価

    Compiler: gcc 7.2.1
    Benchmark: himenoBMTxp_l(C, dynamic allocate version)
    Size: L

② マルチスレッド評価

    MPI: mpich3.2
    Compiler: gcc 7.2.1
    Benchmark: cc_himenoBMTxp_mpi(C + MPI, static allocate version)
    Size: L、XL

【結果】

[TABLE=26]

[TABLE=27]

(SMT: Simultaneous MultiThreading)

Xeon E5-2680v4とEPYC 7501のシングルスレッド値で比較すると、 EPYC 7501は、Xeon E5-2680v4よりも 約1.35倍の高い結果となっています。

並列計算でもスレッド数64で良い結果となっていますが、スレッド数128では値が少し下がっていて、このあたりがメモリ帯域の限界ではなかろうか?

いずれにしても、すでに持っているバイナリ(アプリケーション)で、パフォーマンス向上を目指すならば、AMD EPYCは良い選択肢となるかもしれません。

Ryzen 7 1800X + 8GB DDR4-2400 性能評価(姫野ベンチ)


1CPU当たり8コアを持つRyzen 7 1800Xと、8GB DDR4-2400 x 2枚(合計16GB)を搭載するシステムPOWER MASTER A9391にて、姫野ベンチマークによる計測を行ってみました。

【環境】

    CPU:Ryzen 7 1800X
    メインボード:ASUS PRIME B350M-A
    メモリ:8GB DDR4-2400 x 2枚(合計16GB)
    OS:CentOS7.3 x86_64

【テスト】

① シングルスレッド評価

    Compiler: gcc 4.8.5
    Benchmark: himenoBMTxp_l(C, dynamic allocate version)
    Size: L

② マルチスレッド評価

    MPI: mpich3.2
    Compiler: gcc 4.8.5
    Benchmark: cc_himenoBMTxp_mpi(C + MPI, static allocate version)
    Size: L

【結果】

[TABLE=25]