0

処理したい一連の企業があります。各企業は処理に時間がかかるので、並列化したいと考えています。2 つの質問があります。

  1. R の複数のインスタンスに同じ R ワークスペース イメージ (たとえば、確定申告を含む) をロードし、結果を csv ファイル (追加) に吐き出して、そのように明示的に並列化することはできますか?
  2. これを行うためのより良い方法があるはずです。HPC タスク ビューを見回しましたが、MPI などはこのタスクには少し複雑すぎると思いますか? 助言がありますか?

ここに私が考えているようなものがあります。これは非常に単純化されていますが、ポイントを非常に明確に伝えています。

require(data.table)
dtb = data.table(data.frame(a=1:100, id=1:2), key="id")
save(dataf, file="mydata.RData")

#now launch a session that accepts the id argument
args = commandArgs(trailingOnly = TRUE)
theid = as.integer(args[1])
load("mydata.RData")
r = dtb[id == theid,sum(a)]
write.csv(r, "myfile.csv", append=TRUE)

これは明らかに非常に高速に機能しますが、会社ごとに多数のローリング回帰を実行しているため、少し遅いですが、各プロセスは独立しています。セッションを開始するさまざまなノードを持つ LSF グリッドでこれを実行したいことに注意してください。現在、パラメーターを使用していくつかのジョブを送信しています。もっと良い方法が欲しいです。

4

0 に答える 0