2011-06-21 18 views
0

マルチコアパッケージを使用してパラレルRジョブを実行しようとしています。すべてのジョブは異なる引数を持つ同じscript.Rの実行です。パラレルRジョブへのパラメータの受け渡し

一般的な考え方は、argsを受け取り、source("script.R")を呼び出す関数を定義することです。問題は私がscript.Rにargsを渡すことができないことです。私はパラレルで実行しているので、グローバルスコープでargsを定義することはできません。

助けを歓迎します。

+2

マルチコアが各コアのグローバル環境で変数を設定する方法をサポートしていれば、それを使うことができます。個人的には、私は積雪処理を並列処理に使用しており、とても満足しています(これらの種類のものを簡単にサポートしています)。 –

+0

私はR並列処理の新機能を使い始めています。私は降雪を見ます。ありがとう。降雪パッケージの場合は – denim

+0

+1。私は雪を使って、あなたがやりたいと思うものを歩くブログ記事を書きました:http://bit.ly/xaWAx6 –

答えて

0

パラレルRインスタンスを異なるノード/コンピュータ上で実行している場合は、外部データベースを使用してパラメータを格納することをお勧めします。

私はredisを非常に高速で、完全にaccessible in Rとし、パラレル実行の場合は弟:doredisとします。

したがって、パラメータのためにフェッチできるRedisサーバ(またはすべてのホスト上に複製されたスレーブデータベースさえも)を持つことができます。 Rの外からでもすべての作業者が使用できるパラメータを即時に更新でき、doredisを使用して新しい作業者を簡単に追加することができます。

関連する問題