Intel DevCloud for the Edge を使い倒す(その7)

Intel DevCloud for the Edge を使い倒す(その6) から続く記事の7回目です
今回が最終回となります
( Intel DevCloudの記事はこちら

いくつかのEdge Serverに処理を投げることはできるようになりましたので、これで環境は揃いました
自分の必要な環境を調べて実行することが可能となったことと思います

前回使用したコマンドは下記のとおりです

Queueを扱うコマンド群
pbsnodes: 使用可能なサーバーの列挙
qsub: queueの登録
qstat: 自分が実行したqueueの状態
qdel: queueの削除

他にもありますが、これだけ覚えておくとなんとかなります
詳しくはここにあります

下記のようにpbsnodesコマンドを使用すると、サーバーリストが表示されます

u41585@s099-n004:~/security_log$ pbsnodes| grep properties | grep ncs
      properties = idc004nc2,compnode,iei,tank-870,openvino2020.2,intel-core,i5-6500te,skylake,intel-hd-530,ram8gb,net1gbe,ncs,intel-ncs2
      properties = idc004nc2,compnode,iei,tank-870,openvino2020.2,intel-core,i5-6500te,skylake,intel-hd-530,ram8gb,net1gbe,ncs,intel-ncs2
      properties = idc008u2g,compnode,up-squared,grove,openvino2020.2,intel-atom,e3950,apollo-lake,intel-hd-505,ram4gb,net1gbe,ncs,intel-ncs2
      properties = idc008u2g,compnode,up-squared,grove,openvino2020.2,intel-atom,e3950,apollo-lake,intel-hd-505,ram4gb,net1gbe,ncs,intel-ncs2
      properties = idc008u2g,compnode,up-squared,grove,openvino2020.2,intel-atom,e3950,apollo-lake,intel-hd-505,ram4gb,net1gbe,ncs,intel-ncs2

上記の結果から、Intel Neural Compute Stickを使用したい場合は、idc004nc2, idc008u2gを使用すれば良いことが分かります
これを利用して、いつものようにベンチマークを走らせます

for nm in idc004nc2, idc008u2g;
do
  qsub -l nodes=1:$nm security2.bash ;
done

このようにすれば自動的にベンチマーク結果が得られます
いつ終わるかをチェックするためには、下記のようにwatchコマンドを使うと便利です

Every 2.0s: qstat                                                                                                                     s099-n004: Sun May  3 06:30:48 2020
 Job ID                    Name             User            Time Use S Queue
 
 4036.v-qsvr-2              …ub-singleuser u41585          00:00:07 R jupyterhub
 4050.v-qsvr-2              security2.bash   u41585                 0 R batch
 4051.v-qsvr-2              security2.bash   u41585                 0 R batch
 4052.v-qsvr-2              security2.bash   u41585                 0 R batch

または、下記のようにスクリプトによるループでも構いません

for ((;;));
do
  qstat;
  #if条件など
  sleep 3;
done

もしqueueに入れたまま動かないJobがある場合は、
qdel job番号
でqueueからjobを削除することが可能です

これでDevCloud for the Edgeの説明は終わりですが、まだまだ説明しきれていない部分はあります
ぜひ便利な機能を見つけてください