問題タブ [rparallel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
98 参照

r - R 並列パッケージ parSapply(): メッセージを出力できません

私は並列パッケージで parSapply() 関数を調べてきました。

sapply() 関数では、次のことができます。

これにより、各反復で「haha」が出力され、「result」に 1:10 が格納されます。

parSapply() を使用して同じことをしようとすると:

結果に保存されたのは 1:10 だけですが、「はは」は出力されません。これを修正する方法を知りたいですか?ありがとう!

0 投票する
2 に答える
316 参照

r - R parallel にすべてのコアを使用しないように指示する必要があるのはいつですか?

私はこのコードを使用しています:

次に、次のようなラッパー関数があります。

8 コア (4 コア、ハイパースレッディング) のノートブックでテストしました。50,000 行、800 列のマトリックスで実行したところ、完了するまでに 177.5 秒かかりました。ほとんどの場合、7 つのコアはほぼ 100% に保たれ (トップによると)、最後の 15 分間はそのままでした。結果を組み合わせていたと思います。によるとsystem.time()、ユーザー時間は 14 秒なので一致します。

現在、私は 36 コアの c4.8xlarge である EC2 で実行していますが、ほぼすべての時間を 1 つのコアだけで 100% 費やしています。より正確には:すべてのコアが使用されている約10〜20秒のバーストがあり、次に100%のコアが約90秒(Rによって使用されている)、次に約45秒の他のものがあります(結果を保存し、データの次のバッチをロードします)。40,000 行、800 列のバッチを実行しています。

top によると、長期的な負荷平均は 5.00 前後で推移しています。

これは合理的に思えますか?または、R の並列処理が通信のオーバーヘッドにより多くの時間を費やすポイントはありますか?たとえば、16 コアに制限する必要があります。ここに経験則はありますか?

参考:CPUスペック 「Linux 4.4.5-15.26.amzn1.x86_64(amd64)」を使用しています。R バージョン 3.2.2 (2015-08-14)

更新: 16 コアで試しました。最小データの場合、実行時間は 13.9 秒から 18.3 秒に増加しました。中規模のデータの場合:

つまり、オーバーヘッド部分は同じ時間かかりましたが、並列ビットはコア数が少ないため時間がかかり、全体的に時間がかかりました。

mclapply()コメントで提案されているように、も使用してみました。それは少し速いように見えました (私が試した特定のテスト データでは 330 秒と 360 秒のようなものです) が、それは私のノートブック上であり、他のプロセスや過熱が結果に影響を与える可能性があります。だから、私はまだそれについて結論を出していません。

0 投票する
1 に答える
1009 参照

r - 並列処理のエラー: ポートを開くことができません

Linux クラスターでバッチ モードでさまざまな R スクリプトを一度に実行して、さまざまなデータ セットのモデルを推定しています (Mac で実行した場合にも発生します)。スクリプトは、使用しているデータ セットを除いてまったく同じです。それを行うと、次のメッセージが表示されます。

再現可能な例を次に示します。2 つのファイル tmp1.R と tmp2.R、および tmp.sh を次の内容で作成します。

ファイル tmp1.R および tmp2.R の内容:

tmp.sh ファイルの内容:

リストの最初のファイルが実行されます。2 番目は、上記のエラーを表示します。誰もそれを解決する方法を知っていて、手動の介入なしですべてのスクリプトを一度に自動的に実行しますか?

PS:他の同様の質問をすべて読みましたが、再現可能な例や上記の質問への回答はありません。

0 投票する
1 に答える
713 参照

r - 複数のホストで並列 R を実行する

Ubuntu Linux マシンでゼロから 2 つのホスト (Amazon ec2) で並列クラスターを実行するスクリプトを提供していただけますか?

仕様

  1. ホストは、amazon_key.pem という名前の ID キーを介してローカル マシンから接続されます。
  2. ホスト名は、Amazon クラウドによって提供される内部 IP アドレスを介して接続されることになっています
  3. クラウドのセットアップ中は、ホスト名を rserver1 および rserver2 のままにします