-
Notifications
You must be signed in to change notification settings - Fork 4
Pwrake.ja
Masahiro TANAKA edited this page Dec 18, 2015
·
19 revisions
並列・分散実行が可能なRakeです。
- Rakefileに記述されたワークフローを実行する
- Rakefileの仕様は、Rakeと全く同じ。
- 依存関係がないRakeのタスクを自動で並列に実行。
- Rakeの並列タスク定義である
multitask
は不要。
- 複数のノードからなる計算機クラスタを用いて、並列分散実行が可能。
- 分散実行に必要な設定は、SSHでログインできること、および、NFS,Gfarm等でディレクトリが共有されていること。
- Pwrakeが自動でリモートホストにSSHで接続するため、デーモンの起動は不要。
- オプションにより、リモートホスト名、並列数を指定。
- Gfarmファイルシステムの活用
- 計算ノードのストレージを活用することにより、ネットワークを経由しないローカルアクセスを可能にする。
- 入力ファイルが保存されている計算ノードに、タスクを割り当てるスケジューリング。
ソースコード(tgz/zip)をダウンロードし、サブディレクトリに移って次のコマンドを実行:
$ ruby setup.rb
あるいは、RubyGems でインストール:
$ gem install pwrake
$ pwrake -j 4
$ pwrake -j
- 実行ホスト間で、Rakefileのあるディレクトリを、NFSやGfarmのような分散ファイルシステムで共有する。
- 次のいずれかの方法で、実行ホストにSSHでパスフレーズなしでログインできるようにする。
-
ssh-keygen
でパスフレーズを入力せずに作成した鍵を登録する -
ssh-add
でエージェントにパスフレーズを登録する
-
実行ホスト名と使用コア数を、ホストファイルに記述する:
$ cat hosts host1 2 host2 2
-
オプション
--hostfile
か-F
でホストファイルを指定して、pwrake
を実行:$ pwrake --hostfile=hosts
-L, --logfile [FILE] [Pw] Write log to FILE
--ssh-opt, --ssh-option OPTION [Pw] Option passed to SSH
--pwrake-conf [FILE] Pwrake configuation file in YAML:
-
pwrake_conf.yaml
: このファイルが当該ディレクトリに存在すれば、これを読んでオプションを設定する。これによりPwrakeオプションをコマンドラインに記述する手間を省くことができる。詳細は...
- Ruby 2.2.2
- Rake 10.4.2
- CentOS 6.7
このソフトウェアは、以下の支援を受けて開発されました。
- JST CREST: 研究領域「ポストペタスケール高性能計算に資するシステムソフトウェア技術の創出」における研究課題「ポストペタスケールデータインテンシブサイエンスのためのシステムソフトウェア」
- 文部科学省の科学技術試験研究委託事業による委託業務: 次世代IT基盤構築のための研究開発「e-サイエンス実現のためのシステム統合・連携ソフトウェアの研究開発(RENKEI)」