hscPipe7 の実行環境

hscPipe を実行する計算機環境について、いくつか紹介します。

1. HSC データ解析用共同利用計算機(hanaco)

2. 国立天文台共同利用計算機

3. 大規模観測データ解析システム

4. PBS 以外のバッチ処理システム

1. HSC データ解析用共同利用計算機(hanaco)

HSC データの解析には大量のディスク容量と高速の計算機環境が必要です。 そこで、ハワイ観測所では HSC データ解析専用の共同利用計算機(hanaco)を用意しています。 この計算機のスペックは以下の表をご覧ください。

  スペック
CPU x86_64
コア数 32
メモリ 256 GB
HDD 36 TB x2, 30TB x 1

申請

hanaco を使用して解析を行いたい場合は、申請フォーム から申請を行ってください。 もし 3 営業日を過ぎても連絡がない場合は、helpdesk までご連絡ください。 申請が承認された場合は、アカウント名が記載されたメールが届きます。

hanaco へのログイン

申請が承認された際に送付されるメールに記載がある通り、hanaco へは以下のようにログインしてください(なお、天文台外からログインする場合には別途 VPN の登録が必要です)。

# hanaco へのログイン
ssh -X -A xxxx@hanaco.ana.nao.ac.jp

hanaco の使用全般に関する注意点

  • 基本概念
    hanaco は、データ取得後すぐにご自身で計算機環境が準備できない共同利用ユーザーに対し、 HSC pipeline を使用して生データから画像・カタログデータを生成するまで 自由にお使いいただける計算機です。そのため、画像・カタログデータ生成後のサイエンス解析には、 ご自身で用意した計算機環境を使用してください。また、基本的な使用期間は 6ヶ月 で、 この期間が過ぎるとデータが削除される場合があります(※1)。そのため、hanaco の使用開始から 6ヶ月の間に、ご自身の解析データのバックアップ環境を整えてください。 もしどうしてもご自身で計算機環境・データのバックアップ環境が準備できない場合は、 国立天文台の 共同利用計算機 をお使いいただくことも可能です。
    (※1:データの削除やディスクの整理作業を行う場合は、作業日の数週間前に 必ずご連絡 いたします。)
  • 使用期限
    上記の通り基本的には 6ヶ月 としています。ただし、 データ解析が 6ヶ月で完了しなかった場合は、6ヶ月より長くお使いいただくことも可能です。 データ解析に時間がかかりそうな場合はあらかじめ helpdesk までご連絡ください。
  • 作業ディレクトリ
    HSC pipeline を使用した全ての解析は、ホームディレクトリ環境下ではなく /data/[ユーザー名]/data2/[ユーザー名] もしくは、/data3/[ユーザー名] 以下で行ってください。 ホームディレクトリ下には重いファイルを置かないようお願いいたします。
    # 自身の作業ディレクトリを /data に作成
    # ユーザー名は hoge
    mkdir /data/hoge
    # 必要に応じてディレクトリのアクセス権は変更して下さい。
    
    それぞれのデータディレクトリの使用容量を調べたいときは
    df -h
    # 以下出力結果
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sdc1        63G   40G   21G  66% /
    tmpfs           127G   24M  127G   1% /dev/shm
    /dev/sdc3        16G   44M   16G   1% /work
    /dev/sdd1        33T   13T   21T  37% /data
    /dev/sda1        28T   18T  9.4T  66% /data2
    /dev/sdb1        33T  1.8T   31T   6% /data3
    
    のように調べることができますので、空き容量に余裕のあるディレクトリで作業を行って下さい。
  • 使用可能コア数
    使用可能コア数については 1 ユーザーあたりに特に制限を設けていませんが、top コマンドの出力やログイン中のユーザー数に注意してご利用下さい。

hanaco で hscPipe を使用する際の注意点

hanaco には /data/ana/hscpipe 以下に HSC pipeline のバージョン 3、4、5、6 がインストールされています。 最新が 6.7 です。

デフォルトで起動する pipeline のバージョンが知りたい場合は、ご自身のホームディレクトリの .bashrc をご確認ください。 もし、pipeline のバージョンを変えたい場合は .bashrc の中身を書き換えて下さい。 例えば、デフォルトが 4.0.5 で、6.7 に変更したい場合は、以下のように .bashrc を書き換えて下さい。

# .bashrc
...
# source /data/ana/hscpipe/4.0.5/bashrc <- 4.0.5 をコメントアウト
 source /data/ana/hscpipe/6.7/bashrc

環境変数へのセットアップコマンドの登録は既に完了していますので、 自身のユーザーアカウントでログインし以下のコマンドを実行すれば HSC pipeline を使用できます。

# HSC pipeline のセットアップ
setup-hscpipe

2. 国立天文台共同利用計算機

国立天文台の多波長解析システム(以下、共同利用計算機)を使って HSC データの解析を行うことができます。 ここでは共同利用計算機を使って解析を行う際の注意点を紹介します。 共同利用計算機の基本的な使用ルールは各自 ユーザーズガイド で確認してください。

準備

まず最初に共同利用計算機のアカウントを作ります。 申請は データセンターの利用申請 から行ってください。

作業用ディスク

共同利用計算機では 16 TB の作業用大容量ディスクが用意されています。 作業用ディスクは /mfst[01-04][a-e] という名前がついています。 このディスク以下に自身のアカウント名のディレクトリを作成し、その中で解析を行ってください。 各ファイルシステムの空き容量やステイタスは Working (Operational) Status of Data Analysis System から確認できます。

# 使用例(ユーザー名 hoge の場合)
mkdir /mfst01b/hoge

Warning

HSC pipeline を使用したデータ解析では大量のディスク容量が必要になります。 共同利用計算機は 1 人のユーザーが占有できるわけではないので、必ず事前に ディスクの空き容量 を確認し、最も空いている作業用ディスクで解析を行ってくだい。

HSC pipeline のインストール

共同利用計算機では Red Hat Enterprise Linux 7 の OS を使用しています(2018年8月現在)。 hscPipe7 のインストール方法 ページから Cent OS 7 のバイナリパッケージを選択してインストールします。

Red Hat Enterprise Linux 7 の以下のバイナリパッケージは共同利用計算機で一通り動作を確認しております。 https://hscdata.mtk.nao.ac.jp:4443/hsc_bin_dist/hscpipe/7.9.1/hscPipe-7.9.1-openblas-centos-7-x86_64.tar.xz

また、アストロメトリ用カタログについては、以下のバイナリパッケージ配布所からダウンロードできます。 https://hscdata.mtk.nao.ac.jp/hsc_bin_dist/index-ja.html

しかし、共同利用計算機からバイナリ配布所のサーバーへは直接アクセスできません。 そのため、次のいずれかの方法を使って HSC pipeline のバイナリパッケージとアストロメトリ用カタログファイルをダウンロードしてください。

  1. 自身の計算機に一度ダウンロードし、そのファイルをscpで共同利用計算機にコピーする

  2. 自身の計算機を経由して計算機に直接ダウンロードする

# 例えば、2. の場合のコマンドは以下です
#
# wget の場合
wget https://[pipeline URL] --no-check-c -O - | ssh hoge@kaim01.ana.nao.ac.jp:/lfs01/hoge/ 'cat > pipe.tar.xz'

# curl の場合
curl https://[pipeline URL] --insecure https://[pipeline URL] | ssh hoge@kaim01.ana.nao.ac.jp:/lfs01/hoge/ 'cat > pipe.tar.xz'

共同利用計算機の場合、usnet LD_LIBRARY_PATHを行ってからhscpipeを立ち上げてください。 これを行わない場合、hscpipeは立ち上がりますがスクリプトは走りません。

#hscpipeの立ち上げ
usnet LD_LIBRARY_PATH
source [your_path_for_hscpipe]/bashrc
setup-hscpipe

HSC pipeline を実行するサーバーとキュー

共同利用計算機では、自分の作業ディレクトリから PBS スクリプトでバッチ処理を実行することができます。 共同利用計算機における構成機器やバッチの詳細は こちら をご覧ください。

PBS バッチ処理

共同利用計算機では PBS というバッチ処理システムが組み込まれています。中でも、コア数が最多の q16m キューでは、 最大 1 ノード 16 コアまで使用してバッチ処理を実行できます。 HSC pipeline のいくつかのコマンドでバッチ処理を実行するには、そのコマンドが書き込まれた PBS バッチスクリプトを準備する必要があります。

HSC pipeline のコマンドでバッチ処理が可能なものは constructBias.py, constructDark.py, constructFlat.py, constructFringe.py singleFrameDriver.py, coaddDriver.py, multiBandDriver.py です。 今回はこのうち singleFrameDriver.py で PBS バッチスクリプトを準備してみます。

# コマンドを dry-run で実行してバッチスクリプトを作る
singleFrameDriver.py /lfs01/hoge/hsc --calib /lfs01/hoge/hsc/CALIB  --id filter=HSC-I visit=902798..902808:2 --config processCcd.isr.doFringe=False --time 600 --nodes 1 --procs 16 --dry-run --clobber-config

# オプション:
#                     代わりに --rerun [rerun] としても可能(処理速度が遅くなるだけ)
#   --dry-run     :コマンドを空実行。実行するための PBS スクリプトが生成される
#   --clobber-config :同じ rerun 情報を引き継がずコマンドを実行

上記例のようにコマンドに –dry-run を付加すると、自身が実行したコマンドのバッチスクリプトの結果が /var/tmp/ 以下に出力されます。 この出力結果を自身の作業ディレクトリにコピーし、中身を編集すれば PBS バッチスクリプトの完成です。

# --dry-run の出力結果を作業ディレクトリにコピー(移動しても可)
cp /var/tmp/tmph0gE /lfs01b/hoge/work/


# tmph0gE(PBS バッチスクリプト)の中を編集する
# バッチスクリプトにはデフォルトの PBS 指示のコメントがあらかじめ書き込まれています(# 箇所)
# こちらを全て削除して、以下に書き直してください
:
:
#!/bin/bash
#PBS -m abe
#PBS -q q16
#PBS -N test
#PBS -l select=1:ncpus=16:mpiprocs=16:mem=20gb
#PBS -l walltime=336:00:00
#PBS -M hoge@nao.ac.jp
#PBS -o hoge.out
#PBS -e hoge.err

# バッチ処理の進行を確認用 log file の作成のため
# 上記の PBS 指示コメントの後で以下の記述も追加してください
:
:
{

        (pipelineのコマンドに関する内容が記述されている箇所)

} &> /mfst01b/hoge/work/tmph0gE.log

PBS 指示の詳しいオプションは 共同利用計算機のページ を参照してください。 ここで重要なのは

  • -q q16 で q16 のキューを指定すること

  • -l walltime=336:00:00 でジョブ経過時間の最大時間を最大に設定しておくこと

です。

PBS バッチスクリプトが準備できたら、いよいよ実行です。スクリプトを実行するコマンドは以下です。

# PBS バッチスクリプトの投入
qsub -V /lfs01b/hoge/work/tmphOgE

このバッチスクリプトの経過は tmphOgE.log に書き出されており、例えば以下の方法で確認することができます。

# log file を更新させながらターミナルに表示
tail -f tmphOgE.log

3. 大規模観測データ解析システム

HSC等の共同利用望遠鏡で取得されたデータの解析は、今後は国立天文台大規模観測データ解析システム(Large-scale data analysis system = LSC) で行っていただくことを想定しています。

HSCの観測プログラムを採用されたPI/CoIsは解析スタートから一年間はこの計算機のリソースを優先的に使う資格があります。優先期間終了後は、ユーザは自動的に一般ユーザとなり、利用できるリソースは少なくなります。

2019年秋より試験運用が始まっており、S19BのPIには案内メールが送られております。

大規模観測データ解析システムの利用方法はPIへの案内、以下のページをご参照ください。 https://www.adc.nao.ac.jp/LSC/users_guide_j.html

LSCのhscPipe及びHSCデータ解析に関するお問い合せは、 HSC pipeline helpdesk (helpdesk [at-mark] hsc-software.mtk.nao.ac.jp)へご連絡ください。

hscPipe以外のにLSCについてのお問い合わせは、 lsc-consult [at-mark] ana.nao.ac.jp へご連絡ください。 ([at-mark] は@マークに置き換える)

4. PBS 以外のバッチ処理システム

バッチ処理システムは、PBS 以外にも様々なシステムがあります。HSC pipeline では PBS システム用のバッチ処理がデフォルトの設定とされていますが、オプションで他のバッチ処理システムを指定することができます。 自身が使用する計算機環境で使われているシステムを理解し、HSC pipeline のバッチ処理を使用してください。

# 例えば SLURM で singleFrameDriver.py を実行する場合
singleFrameDriver.py ~/hsc --calib ~/hsc/CALIB --rerun test --id filter=HSC-I visit=902798..902808:2 --config processCcd.isr.doFringe=False --batch-type=slurm

# オプション:
#   --batch-type :使用するバッチ処理システムを指定。{slurm,pbs,smp} から選択できる。詳細は singleFrameDriver.py --help で確認できる。