Parallel processing 降低并行程序速度的可能因素

Parallel processing 降低并行程序速度的可能因素,parallel-processing,cpu,Parallel Processing,Cpu,考虑一个可以并行运行并从单核移动到四核的程序。 速度会提高4倍吗 假设您在程序中没有看到预期的加速。可能的原因是什么?缓存是一个原因,如果每个核心没有单独的缓存,那么我们就有问题了。其他问题可能是什么?您无法看到性能提升的一个可能原因是您在四个处理器上分配的工作量非常小。如果有4个简单的加法操作要发送到不同的处理器,那么执行委派工作可能比在一个处理器上执行4个操作需要更多的时间 通常,如果不同的内核在共享资源(I/O总线…)上等待,您将无法获得预期的加速。这通常是内存,但也可能是“任何其他资源”

考虑一个可以并行运行并从单核移动到四核的程序。 速度会提高4倍吗


假设您在程序中没有看到预期的加速。可能的原因是什么?缓存是一个原因,如果每个核心没有单独的缓存,那么我们就有问题了。其他问题可能是什么?

您无法看到性能提升的一个可能原因是您在四个处理器上分配的工作量非常小。如果有4个简单的加法操作要发送到不同的处理器,那么执行委派工作可能比在一个处理器上执行4个操作需要更多的时间

通常,如果不同的内核在共享资源(I/O总线…)上等待,您将无法获得预期的加速。这通常是内存,但也可能是“任何其他资源”。你的代码在做什么?你有一个例子吗?这只是我和某人的对话。比如说,如果你有一个程序可以很肯定地专用于不同的核心,那么你必须期望在多个核心中完成时有一定的加速。这可能是什么概念上的原因没有发生呢。你能想出其他原因吗?我喜欢。第三个答案是关于。实际上,我刚刚听了一个关于多线程陷阱的讲座。一旦幻灯片可用,我很乐意与您分享。