2010-02-19 51 views
2

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

+0

您的代码计算是绑定还是IO绑定?虚拟机看到多少个CPU? – 2010-02-19 06:37:23

+0

关于计算边界或IO边界,我对两者都开放。我刚刚开始在这个领域。关于CPU的,我把所有的4核心都分配给了VM ... – Legend 2010-02-19 06:45:12

回答

5

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

一些要点是:

  • 开拓不同的并行范式像分而治之,主工人,SPMD,...取决于你想要什么数据和任务依赖性做。
  • 选择不同的数据分割粒度来检查计算/通信比率(在消息传递的情况下),或者检查由于互斥到存储器区域而导致的串行执行量。

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

+0

很好...谢谢..你几乎涵盖了我一直在寻找的一切。 – Legend 2010-02-19 22:32:17