バッチの考え方Interactiveでプログラムを実行している状況では、プロセッサやメモリなどの資源を他の 利用者との間で競合するため、正確な実行時間を計測することが難しい。そのため、バッチ(batch) といって、ある時間、資源を占有する方法を用意する。すでにInteractiveで使用したsample.c を使ってバッチ環境を使ってみる。 バッチの準備mpp% cd testエディタmule を使ってファイルmyjobを作成。中身は次の通り。
---ここから
#!/bin/csh
ja -- 時間計測のため必要
cd $QSUB_WORKDIR -- どのディレクトリにいてもジョブを実行させるための
おまじない
mpirun -np 4 a.out
ja -stc
--- ここまで
mpp% chmod 755 myjob -- スクリプトmyjob を実行可能にするため
mpp% qstat -b -- 現在使えるバッチクラス名とその中身が表示される。
コンテスト用のクラスはSC
--------------------------------
NQS 3.3.0.16 BATCH QUEUE SUMMARY
--------------------------------
QUEUE NAME LIM TOT ENA STS QUE RUN WAI HLD ARR EXI
----------------------- --- --- --- --- --- --- --- --- --- ---
A 6 0 yes on 0 0 0 0 0 0
B 4 0 yes on 0 0 0 0 0 0
C 3 0 yes on 0 0 0 0 0 0
D 1 0 yes on 0 0 0 0 0 0
E 1 0 yes off 0 0 0 0 0 0
center_test 2 0 yes on 0 0 0 0 0 0
----------------------- --- --- --- --- --- --- --- --- --- ---
mpp% qsub -q SC myjob -- 実際にジョブを投入(submit)
nqs-181 qsub: INFO
Request <17872.mpp>: Submitted to queue
3種類のファイルができる。e* はエラー情報。空ならば何も問題ない。o*は出力情報。
プログラムの実行で標準出力に出る内容もこのファイルに含まれる。
o*ファイルの中身の説明(一部省略)コンテストにおいて実行時間は、CPU時間ではなく、経過時間を採用する。かつ、 経過時間はmpirunの時間を採用する。下記の例では、1.18秒である。
....
UX:news: INFO: MPT_1.4 technical_document math_tool paralell_sample_code
Greetings from process 1!
Greetings from process 2!
Greetings from process 3!
Job Accounting - Command Report
===============================
Command Started Elapsed User CPU Sys CPU Blk I/O Raw I/O
Name At Seconds Seconds Seconds Wait Secs Wait Secs SBU's
=============== ======== ========== ========== ========== ========== ========== =======
# CFG ON( 11) ( 6) 11:54:43 07/27/2001 System: IRIX64 mpp 6.5 10120733 IP27
ja 11:54:43 0.18 0.16 0.01 0.00 0.00 0.00
a.out 11:54:44 1.05 0.00 0.01 0.00 0.00 0.00
a.out 11:54:44 1.04 0.00 0.01 0.00 0.00 0.00
a.out 11:54:43 1.06 0.00 0.01 0.00 0.00 0.00
a.out 11:54:44 1.04 0.00 0.01 0.00 0.00 0.00
a.out 11:54:43 1.09 0.00 0.05 0.00 0.00 0.00
mpirun 11:54:43 1.18 0.00 0.03 0.00 0.00 0.00
Job CSA Accounting - Summary Report
====================================
Job Accounting File Name : /tmp/.jacct35e5000000010a91
Operating System : IRIX64 mpp 6.5 10120733 IP27
User Name (ID) : hmatsuda (132)
Group Name (ID) : center (100)
Project Name (ID) : kouhi (900)
Array Session ID : multiple Array Session IDs selected
Job Name (ID) : myjob (0x35e5000000010a91)
Report Starts : 07/27/01 11:54:43
Report Ends : 07/27/01 11:54:45
Elapsed Time : 2 Seconds
User CPU Time : 0.1727 Seconds
System CPU Time : 0.1247 Seconds
Maximum core memory used : 2.3281 Mbytes
Maximum virtual memory used : 213.5000 Mbytes
Characters Read : 0.0242 Mbytes
Characters Written : 0.0009 Mbytes
Blocks Read : 0
Blocks Written : 0
Logical I/O Read Requests : 74
Logical I/O Write Requests : 54
Number of Commands : 7
System Billing Units : 0.0000
logout
バッチに関する注意
|