バッチの考え方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 queue3種類のファイルができる。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 バッチに関する注意
|