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

iWARP動作検証 つづき⑧

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

前回の記事

Soft-iWARPに少しだけ触れてみようと思います。
わかりやすいドキュメントがありました。
RedHat EL 8_3.2. Soft-iWARP の設定

「標準のイーサネットアダプターを備えたシステムが、iWARP アダプター、または Soft-iWARP ドライバーを実行している別のシステム、または iWARP をサポートするハードウェアを備えたホストと相互運用できるようになります。」

一般的なイーサネットアダプターでiWARPをソフトウェアで構成する仕組みなのでしょう。
どんな動きをするか確認してみようと思います。

つづく

Grid Engineについて つづき②

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

前回の記事

Grid EngineでGPUリソース管理をやってみようと思います。
NVMLを使わないので シンプルに登録したリソースを使っているか?使っていないか?だけの管理になります。

まずGrid Engineがインストールされ動作している状態から設定を追加します。

2ノード構成とします。
・node01 → GPU1枚
・node02 → GPU1枚

リソース属性を追加します。

# qconf -mc
#name               shortcut   type      relop requestable consumable default  urgency 
#--------------------------------------------------------------------------------------
gpu                 gpu        INT       <=    YES         YES        0        0    

次に各ノードの環境設定に追加します。

# qconf -me node01
complex_values        gpu=1   

# qconf -me node02
complex_values        gpu=1   

これで各ノードのGPU 1枚だけをGrid Engine上で管理できるはずです。
この設定でqsubしてみます。
投入スクリプトでリソース指定します。

#$ -l gpu=1

qsubするとジョブ実行されました。

qstatは以下で見れます。

# qstat -F gpu

以上

iWARP動作検証 つづき⑦

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

前回の記事

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

先程 IntelのE810NICのドライバ ice ダウンロードサイト覗いてみたところ、新しいドライババージョンがリリースされていました。
ice-1.11.17.1
Alma Linux 8.8 上でさっそく make してみました。

# make      
echo "*** The target kernel has CONFIG_MODULE_SIG_ALL enabled, but" ; echo "*** the signing key cannot be found. Module signing has been" ; echo "*** disabled for this build." ; make  ccflags-y="" -C "/lib/modules/4.18.0-477.13.1.el8_8.x86_64/source" CONFIG_ICE=m CONFIG_MODULE_SIG=n CONFIG_MODULE_SIG_ALL= M="/tmp/ice-1.11.17.1/src"   NEED_AUX_BUS="0"  modules
*** The target kernel has CONFIG_MODULE_SIG_ALL enabled, but
*** the signing key cannot be found. Module signing has been
*** disabled for this build.
make[1]: Entering directory '/usr/src/kernels/4.18.0-477.13.1.el8_8.x86_64'
  CC [M]  /tmp/ice-1.11.17.1/src/ice_main.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_controlq.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_common.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_nvm.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_switch.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_sched.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_base.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_lib.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_txrx_lib.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_txrx.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_fltr.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_irq.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_pf_vsi_vlan_ops.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_vsi_vlan_ops.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_vsi_vlan_lib.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_tc_lib.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_fdir.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_ethtool_fdir.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_acl_main.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_acl.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_acl_ctrl.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_vlan_mode.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_ddp.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_flex_pipe.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_flow.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_parser.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_imem.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_pg_cam.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_metainit.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_bst_tcam.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_ptype_mk.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_mk_grp.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_proto_grp.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_flg_rd.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_xlt_kb.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_parser_rt.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_lag.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_fwlog.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_ieps.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_gnss.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_ethtool.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_devlink.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_fw_update.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_eswitch.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_repr.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_idc.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_debugfs.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_dcf.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_sriov.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_vf_mbx.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_vf_vsi_vlan_ops.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_virtchnl_allowlist.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_vf_adq.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_virtchnl.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_virtchnl_fdir.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_virtchnl_fsub.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_vf_lib.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_ptp.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_ptp_hw.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_dcb.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_dcb_nl.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_dcb_lib.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_arfs.o
  CC [M]  /tmp/ice-1.11.17.1/src/ice_xsk.o
  CC [M]  /tmp/ice-1.11.17.1/src/kcompat.o
  CC [M]  /tmp/ice-1.11.17.1/src/kcompat_gnss.o
  LD [M]  /tmp/ice-1.11.17.1/src/ice.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /tmp/ice-1.11.17.1/src/ice.mod.o
  LD [M]  /tmp/ice-1.11.17.1/src/ice.ko
make[1]: Leaving directory '/usr/src/kernels/4.18.0-477.13.1.el8_8.x86_64'

ビルドできました。

NIC RDMAドライバも新しいバージョンがリリースされていました。
irdma-1.11.62
こちらもビルド問題ありません。

しっかり追従してくれて安心感あります。

つづく

iWARP動作検証 つづき⑥

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

前回の記事

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

前回はNICドライバ ice-1.11.14をsourceディレクトリで make するとエラー発生でビルドできませんでした。
でもIntelのice-1.11.14 は ダウンロードサイトにはRHEL8.7のドライバが置いてある。(2023/6/15)
まさかと思い。。。
RHEL8.7 クローンの Alma Linux 8.7 で make してみました。

# make
echo "*** The target kernel has CONFIG_MODULE_SIG_ALL enabled, but" ; echo "*** the signing key cannot be found. Module signing has been" ; echo "*** disabled for this build." ; make  ccflags-y="" -C "/lib/modules/4.18.0-425.19.2.el8_7.x86_64/source" CONFIG_ICE=m CONFIG_MODULE_SIG=n CONFIG_MODULE_SIG_ALL= M="/tmp/ice-1.11.14/src"   NEED_AUX_BUS="0"  modules
*** The target kernel has CONFIG_MODULE_SIG_ALL enabled, but
*** the signing key cannot be found. Module signing has been
*** disabled for this build.
make[1]: Entering directory '/usr/src/kernels/4.18.0-425.19.2.el8_7.x86_64'
  CC [M]  /tmp/ice-1.11.14/src/ice_main.o
  CC [M]  /tmp/ice-1.11.14/src/ice_controlq.o
  CC [M]  /tmp/ice-1.11.14/src/ice_common.o
  CC [M]  /tmp/ice-1.11.14/src/ice_nvm.o
  CC [M]  /tmp/ice-1.11.14/src/ice_switch.o
  CC [M]  /tmp/ice-1.11.14/src/ice_sched.o
  CC [M]  /tmp/ice-1.11.14/src/ice_base.o
  CC [M]  /tmp/ice-1.11.14/src/ice_lib.o
  CC [M]  /tmp/ice-1.11.14/src/ice_txrx_lib.o
  CC [M]  /tmp/ice-1.11.14/src/ice_txrx.o
  CC [M]  /tmp/ice-1.11.14/src/ice_fltr.o
  CC [M]  /tmp/ice-1.11.14/src/ice_irq.o
  CC [M]  /tmp/ice-1.11.14/src/ice_pf_vsi_vlan_ops.o
  CC [M]  /tmp/ice-1.11.14/src/ice_vsi_vlan_ops.o
  CC [M]  /tmp/ice-1.11.14/src/ice_vsi_vlan_lib.o
  CC [M]  /tmp/ice-1.11.14/src/ice_tc_lib.o
  CC [M]  /tmp/ice-1.11.14/src/ice_fdir.o
  CC [M]  /tmp/ice-1.11.14/src/ice_ethtool_fdir.o
  CC [M]  /tmp/ice-1.11.14/src/ice_acl_main.o
  CC [M]  /tmp/ice-1.11.14/src/ice_acl.o
  CC [M]  /tmp/ice-1.11.14/src/ice_acl_ctrl.o
  CC [M]  /tmp/ice-1.11.14/src/ice_vlan_mode.o
  CC [M]  /tmp/ice-1.11.14/src/ice_ddp.o
  CC [M]  /tmp/ice-1.11.14/src/ice_flex_pipe.o
  CC [M]  /tmp/ice-1.11.14/src/ice_flow.o
  CC [M]  /tmp/ice-1.11.14/src/ice_parser.o
  CC [M]  /tmp/ice-1.11.14/src/ice_imem.o
  CC [M]  /tmp/ice-1.11.14/src/ice_pg_cam.o
  CC [M]  /tmp/ice-1.11.14/src/ice_metainit.o
  CC [M]  /tmp/ice-1.11.14/src/ice_bst_tcam.o
  CC [M]  /tmp/ice-1.11.14/src/ice_ptype_mk.o
  CC [M]  /tmp/ice-1.11.14/src/ice_mk_grp.o
  CC [M]  /tmp/ice-1.11.14/src/ice_proto_grp.o
  CC [M]  /tmp/ice-1.11.14/src/ice_flg_rd.o
  CC [M]  /tmp/ice-1.11.14/src/ice_xlt_kb.o
  CC [M]  /tmp/ice-1.11.14/src/ice_parser_rt.o
  CC [M]  /tmp/ice-1.11.14/src/ice_lag.o
  CC [M]  /tmp/ice-1.11.14/src/ice_fwlog.o
  CC [M]  /tmp/ice-1.11.14/src/ice_ieps.o
  CC [M]  /tmp/ice-1.11.14/src/ice_ethtool.o
  CC [M]  /tmp/ice-1.11.14/src/ice_devlink.o
  CC [M]  /tmp/ice-1.11.14/src/ice_fw_update.o
  CC [M]  /tmp/ice-1.11.14/src/ice_eswitch.o
  CC [M]  /tmp/ice-1.11.14/src/ice_repr.o
  CC [M]  /tmp/ice-1.11.14/src/ice_idc.o
  CC [M]  /tmp/ice-1.11.14/src/ice_debugfs.o
  CC [M]  /tmp/ice-1.11.14/src/ice_dcf.o
  CC [M]  /tmp/ice-1.11.14/src/ice_sriov.o
  CC [M]  /tmp/ice-1.11.14/src/ice_vf_mbx.o
  CC [M]  /tmp/ice-1.11.14/src/ice_vf_vsi_vlan_ops.o
  CC [M]  /tmp/ice-1.11.14/src/ice_virtchnl_allowlist.o
  CC [M]  /tmp/ice-1.11.14/src/ice_vf_adq.o
  CC [M]  /tmp/ice-1.11.14/src/ice_virtchnl.o
  CC [M]  /tmp/ice-1.11.14/src/ice_virtchnl_fdir.o
  CC [M]  /tmp/ice-1.11.14/src/ice_virtchnl_fsub.o
  CC [M]  /tmp/ice-1.11.14/src/ice_vf_lib.o
  CC [M]  /tmp/ice-1.11.14/src/ice_ptp.o
  CC [M]  /tmp/ice-1.11.14/src/ice_ptp_hw.o
  CC [M]  /tmp/ice-1.11.14/src/ice_dcb.o
  CC [M]  /tmp/ice-1.11.14/src/ice_dcb_nl.o
  CC [M]  /tmp/ice-1.11.14/src/ice_dcb_lib.o
  CC [M]  /tmp/ice-1.11.14/src/ice_arfs.o
  CC [M]  /tmp/ice-1.11.14/src/ice_xsk.o
  CC [M]  /tmp/ice-1.11.14/src/kcompat.o
  LD [M]  /tmp/ice-1.11.14/src/ice.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /tmp/ice-1.11.14/src/ice.mod.o
  LD [M]  /tmp/ice-1.11.14/src/ice.ko
make[1]: Leaving directory '/usr/src/kernels/4.18.0-425.19.2.el8_7.x86_64'

ビルドできました。
ついでに Alma Linux 8.5 でも問題なくビルドできました。
どうも RHEL8.8 になると失敗するようです。

つづく

iWARP動作検証 つづき⑤

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

前回の記事

Rocky Linux 8.8でテストしてみました。E810チップのNICです。
E810-XXVDA2

OSは普通にインストールします。
次にNICドライバ ice-1.11.114 をインストールです。

# cd ice-1.11.14/src
# make
make[1]: Entering directory '/usr/src/kernels/4.18.0-477.13.1.el8_8.x86_64'
  CC [M]  /tmp/ice-1.11.14/src/ice_main.o
In file included from /tmp/ice-1.11.14/src/kcompat.h:3351,
                 from /tmp/ice-1.11.14/src/ice.h:7,
                 from /tmp/ice-1.11.14/src/ice_main.c:8:
/tmp/ice-1.11.14/src/kcompat_impl.h: In function '_kc_netif_napi_add':
/tmp/ice-1.11.14/src/kcompat_impl.h:1387:57: error: macro "netif_napi_add" passed 4 arguments, but takes just 3
  return netif_napi_add(dev, napi, poll, NAPI_POLL_WEIGHT);
                                                         ^
/tmp/ice-1.11.14/src/kcompat_impl.h:1387:9: error: 'netif_napi_add' undeclared (first use in this function); did you mean 'netif_napi_del'?
  return netif_napi_add(dev, napi, poll, NAPI_POLL_WEIGHT);
         ^~~~~~~~~~~~~~
         netif_napi_del
/tmp/ice-1.11.14/src/kcompat_impl.h:1387:9: note: each undeclared identifier is reported only once for each function it appears in
/tmp/ice-1.11.14/src/kcompat_impl.h:1387:9: warning: 'return' with a value, in function returning void
/tmp/ice-1.11.14/src/kcompat_impl.h:1384:1: note: declared here
 _kc_netif_napi_add(struct net_device *dev, struct napi_struct *napi,
 ^~~~~~~~~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:318: /tmp/ice-1.11.14/src/ice_main.o] Error 1
make[1]: *** [Makefile:1616: _module_/tmp/ice-1.11.14/src] Error 2
make[1]: Leaving directory '/usr/src/kernels/4.18.0-477.13.1.el8_8.x86_64'
make: *** [Makefile:149: all] Error 2

何か気に入らないみたいだ。

まず先に インボックスドライバ でできることだけ確認してみよう。
必用なパッケージをインストールする。

# dnf install rdma-core rdma-core-devel libibverbs-utils

さっそく何かが認識した。

# ibv_devinfo 
hca_id:	irdma0
	transport:			InfiniBand (0)

hca_id:	irdma1
	transport:			InfiniBand (0)

どうもインボックスドライバでは、デフォルトでRoCE認識するみたいだ。

この環境で Open MPI 4.1.5 をビルドして簡単なMPIなベンチマーク動かしてみましたが、とりあえずRDMAで動作しました。

つづく