四核和VM上的并行编程?

时间:2010-02-19 06:19:12

标签: virtualization parallel-processing openmpi

我正在考虑慢慢选择并行编程。我见过人们使用安装了OpenMPI的集群来学习这些东西。我无法访问群集但拥有四核机器。我能在这里体验到任何好处吗?另外,如果我在虚拟机中运行linux,在VM中使用OpenMPI是否有意义?

1 个答案:

答案 0 :(得分:5)

如果要学习目标,则根本不需要群集。您的四核(或任何双核甚至单核)计算机将绰绰有余。重点是学习如何“并行”思考以及如何设计应用程序。

一些要点是:

  • 利用不同的并行模式,例如分而治之,主工作者,SPMD,......取决于你想要做的事情的数据和任务依赖性。
  • 选择不同的数据分割粒度以检查计算/通信比率(在消息传递的情况下),或检查由于互斥内存区域而导致的串行执行量。

拥有四核,您可以测量您的接近加速(由于并行化而获得的性能增益),这通常由非并行执行的时间和并行执行的时间之间的划分给出。 越接近4(四个核心意味着执行时间的1/4),并行化策略就越好(一旦你可以均匀地分配工作和数据)。