解析サーバ

解析サーバ 利用の手引き

お知らせ

(2018-12-20)
作業の遅れにより利用の手引き(このページ)の情報が現状と整合的でなくなっております。ご不便をおかけして申し訳ありません。
順次改定を進めて参りますが、不明な点がございましたらお問い合わせフォームからお問い合わせください。

    Last Updated: 2022/12/06




    1. システムの概要


    解析サーバはシミュレーションデータを解析・可視化するためのサーバ群です。各サーバはそれぞれ多数の演算コア、大容量のメインメモリと各種解析・可視化ソフトウェアがインストールされており、CfCAの共同利用計算機のアカウントを持つ全てのユーザーが使用することができます。また解析サーバには大容量ファイルサーバ群が10GbEの高速ネットワークで接続され、一体のシステムとして運用されています。

    現在運用されている解析サーバは以下の通りです。これらの解析サーバは全てCfCA HPCネットワーク内に存在します。

    表1. CfCA解析サーバ
    ホスト名 ドメイン名 主演算装置 (全機器で共通) 主記憶容量 (全機器で共通) 設置場所 (全機器とも)
    an[09-14] an[09-14].cfca.nao.ac.jp Intel Xeon CPU E5-2697 v4 (18 cores) ✕ 2 1 TB 国立天文台三鷹



    2. 解析サーバの利用案内


    ここでは、解析サーバを利用する上で必要となる事柄を紹介していますので、解析サーバの利用を希望する方は必ず目を通して下さい。

    2.1 利用ポリシー

    CfCAの共同利用計算機のアカウントを持つ全ての利用者が解析サーバを利用することができます。
    従いまして解析サーバの利用のあたっては、各利用者は他の利用者の利便を絶対に損なわないようにしてください。
    ノード間並列は出来ません。また利用者が使用できるCPUとメモリは1ノード当たり計算資源の50%です。利用者が1ノードで実行中のジョブとプロセスの合計使用量が50%以下になるようご協力をお願い致します。
    また、プロセス数もCPUコア数の50%です。 過度にネットワークに負荷をかける解析もご遠慮願います。
    これらの利用ポリシーが守られていないとこちらで判断した場合、警告無く利用者のプロセスを終了することをご了承下さい。
    現在解析サーバでは1人当たりの同時利用ジョブ数の制限などはしていませんが、利用状況によっては今後ジョブ管理システムの導入を検討する可能性もあります。

    2.2 ユーザーアカウントとログイン

    CfCAの共同利用計算機のアカウントを持つユーザーであれば新たに申請すること無く、同じアカウントでそのまま解析サーバを使用できます。
    解析サーバへはsshを用いて、

    % ssh an.cfca.nao.ac.jp -l username -X

    とすることで 何れかの計算機にログインすることができます。

    ユーザーのパスワードとシェルの変更は、それぞれ例えば解析サーバにログインして、

    % yppasswd

    % ypchsh

    とすれば行えます。設定が反映されるまで数分かかりますのでご注意願います。
    (注) パスワード長は12文字以上にすべきという原則が自然科学研究機構の情報セキュリティ対策基準にて定められています(5.4節, (3) 2)。利用者各位もこちらへの準拠をお願いいたします。
    HPCネットワークで使用できるシェルは、bash、csh、ksh、sh、tcsh、zsh です。ypchshでシェルを変更する場合は必ず絶対パスで以下の様に指定してください。

    /bin/<シェル名>

    この変更は解析サーバに限らずCfCAのシステム全体 (XC50、GPU システム、計算サーバ等)に反映されてしまいますので御注意ください。
    機材によっては /usr/bin 以下にもシェルが存在しますが、XC50 では /usr/bin 以下には存在しないためログイン不能になります。
    (たとえば /usr/bin/csh などを指定してしまうと、解析サーバにはログインできるが XC50 にはログインできなくなります。)

    2.3 ユーザー環境設定

    2.3.1 シェルの環境設定ファイル

    解析サーバ・計算サーバ・GPUなどではホームディレクトリを共有しておりますが、各システムごとに読み込むべき設定が異なるので、処理を切り分ける必要があります。その切り分けに対応した初期設定ファイルの例を bash と tcsh について提供しております。/home/skel/下にあるファイルのうち必要なものをコピーし、適宜編集してお使いください。
    ※2022年度以降の新規利用者のホームディレクトリには以下のファイルが最初から提供されています。

    • /home/skel/.bash_profile
    • /home/skel/.bashrc
    • /home/skel/.tcshrc
    • /home/skel/.zshrc

    例えば以下のようにします。

    • 1. コピー作業の例
    • cp /home/skel/.bash_profile ~
      cp /home/skel/.bashrc ~
      cp /home/skel/.tcshrc ~
      cp /home/skel/.zshrc ~
    • 2-1. ファイルの読み込み(bashの場合)
    • % source .bashrc

      次回ログイン以降は.bash_profileに上記が記載されているため、自動的に.bashrcが読み込まれます。

    • 2-2. ファイルの読み込み(tcshの場合)
    • % source .tcshrc

      次回ログイン以降は自動的に.tcshrcが読み込まれます。

    • 2-3. ファイルの読み込み(zshの場合)
    • % source .zshrc

      次回ログイン以降は自動的に.zshrcが読み込まれます。

    なおシステムの変更や増強に伴い、上記の設定ファイル自身も更新されて行く可能性があります。

    2.3.2 ソフトウェア切替のための環境変数設定

    解析サーバでは必要なソフトウェアの切替とそのための環境変数の設定がmoduleコマンドを用いて行うことが出来ます。
    これらは2.3.1 のシェルの初期設定ファイルの中であらかじめ設定しておくことも可能です。

    利用可能なソフトウェアの環境変数モジュールは、以下のコマンドで知ることが出来ます。

    % module avail

    現在読み込まれている環境変数モジュールは、次のコマンドで知ることが出来ます。

    % module list

    例えばIntelコンパイラを使用したい場合は以下のようにして、Intelコンパイラの環境変数モジュールを読み込んでください。

    % module load intel

    異なるバージョンのソフトウェアに切り替えたい場合は、以下のようにしてください。

    % module switch intel/2018

    ※ 同じソフトウェアの異なるバージョンを同時に読み込むことはできません。
    モジュールを削除するには以下のようにしてください。

    % module unload intel/2018

    2.4 ユーザーのディスク環境

    CfCAの共同利用計算機にアカウントを持つ全ての利用者は、アカウント取得と同時に解析サーバにホーム領域が与えられます。

    表2. ディスク環境
    ディスク領域 ソフトリミット※1 ハードリミット※2、※3 メールによるクォータ超過時の通知 備考
    /home/アカウント名 1TB 1.5TB あり

    ※1. ソフトリミットを超過した場合、7日後に書き込みが出来なくなります。
    ※2. ハードリミットを超えた書き込みは出来ません。
    ※3. より大容量のディスク領域が必要な場合は、ファイルサーバをご利用ください。
    書き込みができなくなった場合はソフトリミット以下まで容量を減らして下さい。

    容量の確認には以下のコマンドをお使い下さい。

    % grep `whoami` /home/userspace.txt

    リミット超過の警告メールを転送するために /home/(ユーザーアカウント名)/ 下に .forward ファイルを作成しご自身のメールアカウントを記載して下さい。
    メール転送の設定を行っていない場合、こちらで転送設定を行わせていただくことがありますのでご了承願います。

    2.5 データ転送

    計算結果を解析する場合は、scpを用いて解析サーバへデータ転送を行ってください。
    また、ファイルをHPCネットワーク外部へ転送する場合、
    アクセス許可された外部マシン側から受け取るようにして転送してください。

    外部マシン% scp username@an09.cfca.nao.ac.jp:/home/username/hogehoge.c ./

    なお、現在解析サーバからインターネットへのアクセスは制限されており外部へのwebアクセスはできません。

    xc50システムのwork領域が/xc-workに読み込み専用でマウントされています。
    xc50からファイルサーバへデータを転送する際にご利用下さい。

    2.6 計算資源の制限方法

    CPU利用率を制限するには cpulimit コマンドを使用します。
    以下の使用例では指定したプログラムのCPU使用率を 50% に制限しています。

    % cpulimit -e プログラム名 -l 50

    また、すでに実行中のジョブについてはプロセスIDを指定して制限できます。

    % cpulimit -p プロセスID -l 50

    3. 利用可能なアプリケーション


    各アプリケーションで使用可能なバージョンは module avail コマンドでご確認下さい。
    また、天文シミュレーションプロジェクトでは、解析サーバで利用可能なアプリケーションの操作法に関するサポートは行なっておりません。

    3.1 コンパイラ/解析言語

    • GNU Compiler
      % module load gcc
    • Intel Compiler
      % module load intel

      同時使用2ライセンス:ライセンスエラーが出た人はちょっとタイミングをずらして使ってください。

    • PGI Compiler
      % module load pgi
    • MPI
      % module load mpi

      ※ ノード間並列はできません。

    3.2 可視化ソフト

    • IDL (起動コマンド CUI: idl, GUI: idlde)
      2024年2月27日現在、IDL 9.0とIDL 8.9が利用可能です。
      • IDL 9.0 を利用する場合
        % module load idl
      • IDL 8.9 を利用する場合
        % module load idl/8.9

      4ライセンス:全ライセンスが使用されてる場合はライセンスが解放されるのを待つ or 7分のデモモードとなります。
      ※ユーザーがIDLを使用せずに放置(idle状態に)すると3時間で自動timeoutして終了します。
      1ユーザーの同時使用は1ライセンスまでとしてください。
      複数ライセンスを長時間同時使用している場合は、ライセンスの混み具合を見てkillする場合がありますのでご注意ください。

      IDL:NV5 Geospatial 株式会社

    • AVS/Express Developer (起動コマンド express)
      % module load avs

      2ライセンス

    • GDL - GNU Data Languade (起動コマンド gdl)
    • paraview
    • gnuplot (起動コマンド gnuplot)
      % module load gnuplot

      gnuplot home page

    • PGPLOT Graphics Subroutine Library
    • module load を行う必要はありません.2019年8月時点ではversion 5.2.2 がインストールされています.
      以下のようにしてコンパイルします.ifort でも動きます.

      % gfortran sample.f -lpgplot

      pgplot自体のドキュメントは /usr/share/doc/pgplot-devel-5.2.2 以下のファイルを参照してください.

    • ImageMagick
    • yt
    • yt は anaconda 内に含まれています.anaconda/3 もしくは anaconda/2 モジュールをロードすることでご利用になれます.

      % module load anaconda/3

      ドキュメント

    • VisIt
    • % module load visit

      現在 VisIt は parallel mode で起動しても serial mode で立ち上がります。

    3.3 数式処理ソフト

    3.4 スクリプト言語

    • Perl
    • Python
      • matplotlib
      • numpy
      • scipy

      バージョン3.x系を使用する場合

      % module load anaconda/3

      バージョン2.x系を使用する場合

      % module load anaconda/2
    • Ruby

    4. その他


    4.1 Anacondaを使った環境構築作業の例

    • アプリケーションの自身のホームディレクトリへの導入方法
      解析サーバ等では上記のアプリケーション以外にも,自身のホームディレクトリに環境を構築することでアプリケーションを使用できる場合があります.例えば最新のPythonを利用したい、あるいはPythonパッケージを追加したい場合には、自身のホームディレクトリにPython環境を構築することで対応可能です.AnacondaからPythonをインストールする方法を以下に示します.
      1. https://www.continuum.io/ からLinux 64bit対応のインストーラをダウンロードして、御自分のホームディレクトリに置きます。
      2. シェルがbashなら、以下のようにしてインストールします。
          $ bash Anaconda3-4.2.0-Linux-x86_64.sh
        

        デフォルトでホームディレクトリ直下にインストールされ、環境変数の設定も行われます。

      3. 環境変数の設定が済んでいれば、AnacondaのPythonが使用されます。
      4.   $ python --version
          Python 3.5.2 :: Anaconda 4.2.0 (64-bit)
        

      またこのように導入したAnacondaにはPythonパッケージが追加可能です,

      1. 手元の環境で必要なパッケージのtar.bz2ファイルを用意します.以下の2通りの方法が存在します.
        • (1) anacondaのpackages repository から直接取得
        • (2) 下記コマンドで取得後,

          % conda install (パッケージ名)

          anacondaディレクトリ下のpkgsディレクトリ内から対応するtar.bz2ファイルを取得.
          conda仮想環境を用いてこの方法を取ることも可能です.(下記)

      2. CfCA機材上でtar.bz2ファイルからホームのAnaconda Pythonのcondaを用いてパッケージをインストールします.
      3. % conda install (package).tar.bz2

      conda仮想環境を用いることもできます.手元の環境で

      % conda create -n (仮想環境名, 下記では例としてenv_cfcaを用います)
      % conda activate env_cfca
      (env_cfca) % conda install (パッケージ名)
      (env_cfca) % conda deactivate
      %

      conda activate で CommandNotFoundError が出た際にはエラーメッセージに沿ってconda init, あるいはsource activate env_cfca 等のコマンドで対応可能です.ここで仮想環境を用いてインストールされたパッケージは,anacondaのデフォルト環境でインストールされたパッケージと同じanacondaディレクトリ下のpkgsディレクトリ内にtar.bz2ファイルがダウンロードされます.類似の導入方法を解説したwebページなども存在します.ご参考にしてください.

    4.2 質問コーナー

    よくある質問とその回答についてはこちらをご覧ください。
    それ以外の質問がある方は以下のリンクからどうぞ。
    質問コーナー(プログラミング以外の要望・意見・質問などの受付窓口)