1

別のマシン(Linux)に大量のファイルがあり、通常はssh(またはもちろん転送したい場合はscp)を介してアクセスします。また、自分のマシン (mac os x) には多くの matlab スクリプトがあり、私の知る限り、他のマシンでは簡単に実行できません。

理想的には、自分のマシンからスクリプトを実行しますが、他のマシンのデータに対して実行したいと考えています。この種のことをsshまたは同様のものを介して行うことは可能ですか? それとも、(本当に非常に大きな)一連のファイルを自分のマシンに scp して、そこから分析を行うのが最善でしょうか。

前もって乾杯、アダム

4

2 に答える 2

2

おそらく、回答ではなく拡張コメントです。

Matlab コードがデータを実行するとき、必要なデータはコードと同じ RAM にある必要があります。これは、データを永続的に保存するファイルがどこに保存されていても当てはまります。基本的に 3 つのオプションがあります。

  1. データが保存されているマシンに Matlab コードをコピーし、リモート マシンの RAM で分析を実行します。これにより、転送されるデータの量を最小限に抑えることができます (Matlab プログラムをリモート マシンにコピーします) が、結果をローカル マシンに戻す必要がある場合があります。あなたの質問は、リモート マシンで Matlab を実行できない可能性があることを示唆しているため、これはオプションではない可能性があります。

  2. 各プログラムの実行時に、一度に 1 ファイルずつ、リモート マシンからローカル マシンにデータをコピーします。これにより、データの転送が比較的多く、比較的小規模になります。

  3. データをまとめてリモート マシンからローカル マシンにコピーし、すべてのプログラムをローカルで実行します。

あなたはおそらく私がこれを行っているところを見ることができます: 総実行時間を最小限に抑えるには、オプション 2 よりもオプション 3 を使用してデータ転送時間 (つまり、レイテンシ (ファイルごとの時間) と帯域幅 (バイトごとの時間)) を最小限に抑える必要があります。 、あなたの最善の選択肢は、ファイル全体をリモートからローカルにscpすることだと思います。

于 2013-09-18T11:59:08.130 に答える