PCクラスタ」カテゴリーアーカイブ

ARM動作確認 つづき④

ARM64命令セット Armv8 CPUな Ampere Altra Q80-30 搭載サーバ GIGABAYTE E252-P31 をテストしています。
https://www.gigabyte.com/jp/Enterprise/Edge-Server/E252-P31-rev-100

前回の記事

その後も動作確認継続しています。
OpenBLAS+Open MPI+HPL で負荷テスト実施しました。
OpenBLASはCPUアーキテクチャ検出しARM64な環境になります。
特に気にする点なくビルドは終了しHPL実行できました。

HPL実行中はCPU 80コア全てが3GHzで動作していました。
ipmitoolでHPL実行中の電力値を取得してみました。

# ipmitool  dcmi power reading
    Instantaneous power reading:                   379 Watts
    Minimum during sampling period:                 51 Watts
    Maximum during sampling period:                512 Watts
    Average power reading over sample period:       66 Watts

# ipmitool  dcmi power reading
    Instantaneous power reading:                   425 Watts
    Minimum during sampling period:                 51 Watts
    Maximum during sampling period:                512 Watts
    Average power reading over sample period:       66 Watts

消費電力は、おおよそ400Wあたり。
電力メータ使った実測値も ほぼ同じ値でした。

肝心のHPLスコアは おおよそ 1.2TFLOPS です。
比較材料が無いのでスコア評価も無しです。。。

以上

Grid Engineについて つづき①

Grid Engineとはクラスタコンピューティングにおけるジョブ管理システムを担うミドルウェアです。

前回の記事

ジョブ管理システムでGPUリソース管理は必須要素となっています。
GPUリソース管理できるジョブ管理システムで一般的にLinux利用できそうなものがあるか?
Slurm がよさそうです。
NVIDIA Management Library (NVML) を介してGPUリソースを管理します。
Slurm GPU Management

では Grid Engine は無理なのか?
制限はありますがそうでもなさそうです。
qconfコマンドでリソース作成し ホスト設定でGPUをリソースに割当るようなことをすればできそうです。
次回はそのあたりやってみよう。

つづく

Grid Engineについて

Grid Engineとはクラスタコンピューティングにおけるジョブ管理システムを担うミドルウェアです。
元々はSun Microsystems社によりオープンソース Sun Grid Engineとして公開されていましたが、Oracle社によるSun Microsystems社の買収に伴いOracle Grid Engineとしてリリースされ、翌年にはオープンソース Sun Grid Engine が閉鎖され 6.2update5 で開発は終了しました。
その後 Oracle Grid Engine は Univa社に引き継がれることで Univa Grid Engine となりさらに Altair社に引き継がれ 現在はAltair Grid Engineとなっています。

Oracle社によるSun Microsystems社の買収後に Sun Grid Engine 6.2update5をフォークする形で、Open Grid Scheduler と Son of Grid Engine の2つの派生プロジェクトがスタートしました。

Open Grid Scheduler は現在も存在していますが、2011.11p1リリースを最後に更新されていません。
Open Grid Scheduler

Son of Grid Engine はサイト自体が消えています。

また最近気が付きましたが Some Grid Engine という派生プロジェクトがGitで公開されています。
Some Grid Engine

Some Grid Engine は対応OS 多く驚きです。

Arch Linux
Ubuntu Server 22.04
Ubuntu Server 20.04
Void Linux
Alpine Linux
AlmaLinux 9.2
RockyLinux 9.1
AlmaLinux 8.8
CentOS 7.9
openSUSE Leap
openSUSE Tumbleweed

代表的なLinux OSはサポートされています。
ちなみに Ubuntu は、自前リポジトリに gridengineパッケージありますが、かなりゴニョゴニョ設定しないと動作しません。
ですが Some Grid Engine なら簡単にインストールでき 普通に使えて快適でした。

つづく

iWARP動作検証 つづき④

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

前回の記事

Rocky Linux 9.2でIntel NIC iWARPテストしました。E810チップのNICです。
E810-XXVDA2

OSは普通にインストールします。
次にNIC関連のドライバインストールです。
ice バージョン → 1.11.14
irdma バージョン → 1.11.58
問題なくmakeもできてインストール終わりました。

ここからはRDMAドライバ irdma の設定についてです。
irdmaインストールすると以下ファイルができます。

# cat /etc/modprobe.d/irdma.conf 
blacklist i40iw
alias i40iw irdma

この設定内容ではDualポートなら両ポートともにiWARPになっています。
ここに以下を追加するとろ両ポートともにRoCEになります。

options irdma roce_ena=1

ポート指定することもできる。
以下のようにするとポート0がRocEになります。

options irdma roce_port_cfg=1

iWAPとRoCEを混在することができます。
以下のコマンドで状態確認ができます。

# ibv_devinfo 
hca_id:	irdma0
	transport:			iWARP (1)

hca_id:	irdma1
	transport:			InfiniBand (0)

transport iWARP は iWARPです。
transport Infiniband は RoCEです。

つづく

iWARP動作検証 つづき③

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

前回の記事

Intel NICでiWARPテストしています。E810チップのNICです。
E810-XXVDA2

仕様を見るとRDMA対応は以下のようになっています。

IWARP/RDMA はい
RoCEv2/RDMA はい

iWARPだけでなくRoCEにも対応しているようです。
これはテストしみよう!!

前回の記事で書いた
・NICドライバ
・NIC RDMAドライバ
・RDMA Coreライブラリ
は以下です。
NICドライバ → iceドライバ
NIC RDMAドライバ → irdmaドライバ
RDMA Coreライブラリ → rdma-coreパッケージ
rdma-coreパッケージは、OS側リポジトリにも用意されています。

つづく