我最近开始在 R 中使用 Snowfall 包。我让它在相当复杂的实现中成功运行,如下所示(并行处理 y 循环):
increment x from 1:100 {
increment y from 1:100 {
increment z from 1:20 { }
increment q from 1:20 { }
}
}
我在 2 或 4 处理器计算机上运行它。理论上,我想我可以并行运行 x、y、z 和 q 循环。所以并行运行 x 计数器,然后对于每个并行 x 进程,并行运行 y 等。
我的问题是使用这么少的处理器时这是否有意义?例如,对于四个处理器,我想象的 y 循环计算将保持进程以最大输出运行(每个处理器在任何时候平均 25 个),因此拆分进程的其他部分不会节省时间。