并行和多核编程之间有什么区别?

时间:2010-11-23 14:35:10

标签: parallel-processing multicore

我认为这个话题说明了一切。并行和多核编程之间有什么区别?感谢。

3 个答案:

答案 0 :(得分:5)

Mutli-core是一种并行编程。特别是,它是一种MIMD设置,其中处理单元不是分布式的,而是共享公共存储区域,甚至可以根据需要共享数据,如MISD设置。我相信它甚至不受多处理的影响,因为多核设置可以共享某种级别的缓存,因此比不同核心上的CPU更有效地协作。

通用并行编程还包括SIMD系统(如GPU)和分布式系统。

答案 1 :(得分:1)

差异不在于方法,只是在软件运行的硬件上。并行编程遇到了问题,并将工作负载分成可以并行处理的较小部分(分而治之类型的问题等)或可以彼此独立运行的功能。将该软件放在多核硬件上,操作系统将对其进行优化,以便在不同的内核上运行。这样可以提供更好的性能,因为您创建的每个线程可以在不占用单个处理器/内核的CPU周期的情况下运行并行工作。

答案 2 :(得分:0)

多核系统是并行系统的子集。不同的系统将具有不同的存储器架构,每个架构都有各自的挑战。一个系统如何处理缓存一致性? NUMA是否参与等等。