在多个R会话中加载相同的图像

时间:2013-01-20 23:32:17

标签: multithreading r hadoop parallel-processing hpc

我有一套我想要处理的公司。每个公司需要一段时间来处理,所以我想并行化它。我有两个问题:

  1. 我可以在R的多个实例中加载相同的R工作区图像(例如包含公司返回)并将结果吐出到csv文件(追加),从而明确地将这些内容并行化吗?
  2. 必须有更好的方法来做到这一点。我环顾了HPC任务视图,我认为像MPI这样的事情对于这项任务来说有点过于复杂了?有什么建议吗?
  3. 这是我在想的事情。这是非常简化的,但很明确地传达了这一点:

    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网格上运行此命令。目前我只提交几个带参数的作业。我想要一个更好的方法。

0 个答案:

没有答案