简述并行编程

并行编程模式主要有三种,那么三种模式的优劣又是怎样的呢?请看下文:

  并行编程模式主要有以下三种:

  共享地址空间模式:以OpenMP为代表,主要是利用添加并行化指令到顺序程序中,由编译器完成自动并行化。

  消息传递模式:以MPI为代表,PVM是消息传递模式的一个变种。

  数据并行模式:比较少见,但以其独特的处理方式受到特定用户群的喜欢。

  我可以这样打比方:作并行计算好比是盖楼房,你有了Beowulf和MPI就好比是有了砂石,水泥和钢材,你可以盖最美的房子,但你必须使用最原始状态的原材料,付出可观的智力劳动;你有了OpenMP就好比是有了预制板和各种预制件,可以非常快速地造房子,事半功倍;你有了数据并行环境,可以比作你有了包工头,很多事情您就可以完全依靠他了。也许我的比喻方式不是很恰当,但是三种编程模式的优劣、效率是很有差别的,可以不夸张地说OpenMP比MPI要容易很多倍。

  在现今流行的Beowulf集群上,MPI和PVM是可以实现的,不管使用千兆网,SCI,还是IB;但是,在这种集群上OpenMP是没有办法实现的。要实现OpenMP编程,至少要有4/8路处理器的SMP系统以及相应的编程环境;要实现数据并行编程模式,光有免费的Beowulf+OSCAR环境远远不够。
 

你可能感兴趣的:(程序算法)