AWSでNAMDをカジュアルに動かしてみた
謎の頭痛が続いているリーダーですこんにちは。
ちょいとクラスタコンピューティングを調べる事があったのでカジュアルに情報共有します。
というのも、クラスタコンピューティングをWebで調べてみると英語のMLだったり、大学や研究機関のガチ論文がヒットして「カジュアルに動かしてみたい」僕の要求レベル以上のレスポンスでちょっと苦労しました。
僕のようにカジュアルにクラスタコンピュートしたいという人向けのエントリです。
動作環境
AWS上で動作確認をしています。
OS | AmazonLinux(Cluster Compute Amazon Linux AMI 2012.03) |
NAMD | NAMD_2.9b3_Linux-x86_64-TCP |
動作を確認するだけであればt1.microでも動作します。
鍵ペアの登録
クラスタリングされるノード間はsshで接続されるのでssh公開鍵をパスフレーズ無しで登録します。
ユーザ作成は任意です。
$ sudo groupadd data $ sudo useradd -G data cluster $ sudo su - cluster $ ssh-keygen -t rsa パスフレーズ無しの鍵ペアを作成 $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys $ chmod 600 ~/.ssh/authorized_keys
環境の用意
openmpiはいらないかも知れませんがカジュアルなので気にしません。
$ sudo yum groupinstall -y "Development Libraries" "Development tools" $ sudo yum install -y openmpi-devel
NAMD、APOA1のダウンロード
http://www.ks.uiuc.edu/ ←ここからNAMD、APOA1をダウンロードします。
ダウンロードにはユーザ登録が必要です。
カジュアルに登録して下さい。
登録が終わったら以下のファイルをダウンロード。
$HOME/cluster以下に展開します。
$ tar zxf NAMD_2.9b3_Linux-x86_64-TCP.tar.gz $ wget apoa1.namd的な感じ
AMIの作成
上記を設定したインスタンスをAMI登録します。
手順まで載せるのは面倒なので割愛。
必要な数だけインスタンスを起動させますが、あまりワイルドになり過ぎないように注意して下さい。
ノード登録
起動したインスタンスをノードとして登録します。
$ sudo su - cluster $ cd NAMD_2.9b3_Linux-x86_64-TCP $ vi nodelist group main host 10.xxx.xxx.xxx host 10.xxx.xxx.xxx host 10.xxx.xxx.xxx host 10.xxx.xxx.xxx host 10.xxx.xxx.xxx host 10.xxx.xxx.xxx パスフレーズ無しでsshログイン出来る事を確認しておく * 実行 カジュアルに実行してみます。 >|| $ ./charmrun ++remote-shell ssh ./namd2 ../apoa1.namd +p 5
起動オプションの詳細はmanでも見ると良いですよ。
ただ、プロセス数を増やすとsshでの接続も増えるので必要に応じてsshdの設定を変更した方が良さそうです。
1台だけで実行する場合はcharmrunはいらないっぽいです。
まとめ
非常にカジュアルにクラスタコンピュート出来ましたね。
実行内容の結果なんて見たって分からないので「おお、すげー」くらいの感想です。
会社の技術ブログには書けないような稚拙な内容だったので個人のブログに書きました。