2017-11-16 6 views
1

リモートクラスタでシミュレーションを並列に実行し、それらをmatlabから呼び出したいとします。matlabからリモートUNIXクラスタで並列シミュレーションを実行

私はローカルのUbuntuマシンでそれらを実行することができます。

unix('parallel -j4 flow > /dev/null :::: Pool.txt'); 

しかし、私はそれは私が本当に仕事と平行にコマンドを作るために疥癬なかったリモートクラスタでそれを実行したいです。

最初の問題は、パスワードの入力を避けることでした。そのために

私は、サーバーに私を得るが、それは次のコマンドラインに継続していないこの

unix('sshpass -p password ssh [email protected]') 

としてsshpassを使用。

私はここで参照したくない非常に多くのコマンドを試しています。

しかし基本的には、並列GNUコマンドの使い方をよく理解している人が、どのようにしてクラスタに接続できるかを教えてください。そこでシミュレーションを実行します。サーバ上でスクリプトを作成してmatlabから実行する方が良いでしょうか?

いずれかの専門家からのアドバイスをいただければ幸いです。

答えて

1

GNUパラレルではなく、sshと設定してください。まず、sshを設定しなければなりません。残りは簡単です。

だから、あなたの地元のUbuntuマシンで、あなたはあなたの鍵を作成する必要があります。

ssh-keygen -t rsa -b 2048 

$HOME/.sshにいくつかのファイルを作成します。それらのキーのパブリック部分を、並列ジョブを実行するリモートクラスタの各ノードにコピーする必要があります。

ssh-copy-id -i $HOME/.ssh/id_rsa.pub [email protected] 
... 
ssh-copy-id -i $HOME/.ssh/id_rsa.pub [email protected] 

ssh-copy-id -i $HOME/.ssh/id_rsa.pub [email protected] 

、各ノードにすることができますテストssh

ssh [email protected] 

次に、あなたの地元のUbuntuのボックスに、sshのためのあなたの設定ファイルを設定し、それが$HOME/.ssh/config

Host node0 
Hostname 192.168.0.100 
User fred 

... 
... 

Host node15 
Hostname 192.168.0.115 
User fred 
になりますので、

今すぐ使用できます。

ssh node0 

、それはそれは今GNUパラレルと連携する[email protected]

を意味知っている:私は、キーを作成したが、

parallel -S node0,node1,node2 
+0

こんにちは 私は 「SSH-コピー-IDを入力するとCLUSTERUSERNAME @リンパ節転移0 ' 私は/ usr/bin/ssh-copy-id:ERROR:IDファイル' home/USER /を開けませんでした。pub ':そのようなファイルはありません – CMN

+0

もう一度やり直してください - 更新を行いました。 –

関連する問題