【问题标题】:How can OpenCPU run computationally expensive commands simultaneously?OpenCPU 如何同时运行计算量大的命令?
【发布时间】:2015-03-13 21:09:41
【问题描述】:

我目前正在创建一个应用程序,它需要在短时间内运行数百万次统计回归。这些计算的并行化是加速该过程的一种可能性。

OpenCPU 服务器似乎不能很好地扩展并行执行的命令。所有命令都按顺序执行。

是否可以使用 OpenCPU 生成多个 R 会话,或者我是否需要运行多个服务器实例?我是否错过了 OpenCPU 如何同时处理多个计算量大的命令?

【问题讨论】:

  • R 中有一些工具可以利用多核。请参阅high performance task view on CRAN
  • 如果您需要运行多个线性模型,也许您可​​以使用fastLm, arceepeepee 来提高性能;)
  • 这个问题开始看起来像是 Dirks 产品的广告 :)
  • 我将研究多核的使用。由于我想尽快获得结果以动态更新我的可视化,我仍然更喜欢多个 R 实例。即使在一种方法中使用多个内核 - 我仍然需要等待所有作业完成才能将结果通过管道传回我的主页。

标签: r opencpu


【解决方案1】:

OpenCPU云服务器并行执行所有http请求,所以第一次观察是错误的。当然,您必须同时提出请求才能这样做。

如果您的代码由单个 R 函数或脚本组成,那么 OpenCPU 不会神奇地为您并行处理事情,如果这是您所追求的。在这种情况下,您需要在 R 函数中使用 snow 或 mcparallel 之类的东西。但这与 OpenCPU 无关,它只为您的 R 函数或脚本提供 http 接口。

【讨论】:

  • 感谢您的快速回复,我会研究下雪和mcparallel!
猜你喜欢
  • 2014-05-06
  • 1970-01-01
  • 1970-01-01
  • 2014-12-03
  • 1970-01-01
  • 1970-01-01
  • 2015-10-27
  • 1970-01-01
  • 2017-03-12
相关资源
最近更新 更多