foreach能否同时选择性地利用多个后端(doParallel和doRedis)?

foreach能否同时选择性地利用多个后端(doParallel和doRedis)?,r,parallel-foreach,doparallel,r-doredis,R,Parallel Foreach,Doparallel,R Doredis,我正在处理大小约为1GB的文件。处理过程可以分为两个步骤,一个取决于大文件,另一个取决于较小的数据量。我是否可以在将其他foreach命令与doRedis后端一起排队时,为doParallel后端排队一些foreach命令 foreach() %dopar:doParallel% { foreach() %dopar:doRedis% {} } 这里的目标是,由于内存和网络IO限制,使远程作业保持较小,同时也利用我拥有的几个本地内核进行预处理/后处理。不,不是概念上的。但是,您需要明确

我正在处理大小约为1GB的文件。处理过程可以分为两个步骤,一个取决于大文件,另一个取决于较小的数据量。我是否可以在将其他foreach命令与doRedis后端一起排队时,为doParallel后端排队一些foreach命令

foreach() %dopar:doParallel% {
    foreach() %dopar:doRedis% {}
}

这里的目标是,由于内存和网络IO限制,使远程作业保持较小,同时也利用我拥有的几个本地内核进行预处理/后处理。

不,不是概念上的。但是,您需要明确列出每个功能使用的核心数量,并为doRedis分配线索和工作人员,并确保在完成任务时明确结束每个功能中的工作功能。取决于任务以及它们之间的互动方式,最终你可能会陷入混乱。你只需要试试!好的,太好了。您能告诉我如何将一些foreach命令分派到doRedis后端,将一些分派到doParallel后端吗?您需要为每个任务设置单独的函数,并在每个任务中分配核心。这需要一些实验。查看此pdf文件,看看您是否能够了解如何分配节点。我认为最大的障碍将是编写有效地分离任务的函数。然后您可以将它们分流到并行应用程序。我不相信您需要foreach的
foreach
,除非您正在迭代某些东西。这个伪代码不足以表示我很抱歉,但你的话不够具体,我无法从你的评论中获得任何见解。您链接的pdf中没有任何信息。不管怎样,这个问题专门涉及foreach。(还有,有许多任务意味着迭代某些东西(任务、数据块)?Foreach只是迭代的一个方便接口。)没有办法更具体。您没有给出任何可供评论的代码。上面的脚本除了启动并行外什么都不做……但它们内部什么都没有发生……代码中没有为任何工作编写代码。如果看不到脚本所做的工作,就无法提高脚本的工作效率。你需要包括更多,否则你将得不到你需要的帮助。不,不是概念上的。但是,您需要明确列出每个功能使用的核心数量,并为doRedis分配线索和工作人员,并确保在完成任务时明确结束每个功能中的工作功能。取决于任务以及它们之间的互动方式,最终你可能会陷入混乱。你只需要试试!好的,太好了。您能告诉我如何将一些foreach命令分派到doRedis后端,将一些分派到doParallel后端吗?您需要为每个任务设置单独的函数,并在每个任务中分配核心。这需要一些实验。查看此pdf文件,看看您是否能够了解如何分配节点。我认为最大的障碍将是编写有效地分离任务的函数。然后您可以将它们分流到并行应用程序。我不相信您需要foreach的
foreach
,除非您正在迭代某些东西。这个伪代码不足以表示我很抱歉,但你的话不够具体,我无法从你的评论中获得任何见解。您链接的pdf中没有任何信息。不管怎样,这个问题专门涉及foreach。(还有,有许多任务意味着迭代某些东西(任务、数据块)?Foreach只是迭代的一个方便接口。)没有办法更具体。您没有给出任何可供评论的代码。上面的脚本除了启动并行外什么都不做……但它们内部什么都没有发生……代码中没有为任何工作编写代码。如果看不到脚本所做的工作,就无法提高脚本的工作效率。您需要包含更多内容,否则将无法获得所需的帮助。