使用不同数量的多重工作者时的不同行为

时间:2010-08-23 13:11:36

标签: windows r multicore

我正在玩我的程序(尝试多核部分),我注意到“CPU历史”看起来有点不同,取决于我开始的工人数量。 2-4名工人似乎产生了“稳定”的工作流程,但是固定5-8名工人会产生不稳定的行为(从零到最大,见图片)。我应该指出,所有的运行都以“平滑”的最大容量开始(例如2个核心只有25%),并且仅在一分钟左右后开始表现出不稳定的行为。 这是怎么回事?我有4个核心处理器,你觉得这个行为可能与这个事实有关吗?

我希望你能看到这些照片。

2名工人 2 workers

3名工人 3 workers

4名工人 4 workers

5名工人 5 workers

6名工人 6 workers

7名工人 7 workers

8名工人 8 workers

1 个答案:

答案 0 :(得分:11)

这是具有超线程的四核的经典行为。 R不会因超线程而获益,因为它通常使用完整的核心进行计算。因此,如果一个物理处理器生成2个逻辑处理器,则处理器必须在两个线程之间连续切换,这解释了模式。

对于R,我在计算机上推迟了超线程。相反,它没有帮助。如果R正常工作时只使用一个线程,则会丢失容量(最大值为12.5%而不是25%)。