什么是并行计算?什么是分布计算?什么是云计算?我们如何更好理解这3个概念,我们采用概念之间的区别和联系的方式来理解,做到切实理解,深刻体会。
1、并行计算与分布式计算
并行计算、分布式计算都属于高性能计算范畴,这也使得很多人一直分不清两者之间的关系。
并行计算是相对于串行计算来说的,并行计算主要目的是加速求解问题的速度和提高求解问题的规模。并行计算强调时效性和海量数据处理,各任务之间的独立性弱,而且关系密切,每个节点之间的任务时间要同步。即并行程序并行处理的任务包之间有很大的联系,并且并行计算的每一个任务块都是必要的,没有浪费的、分割的,就是每个任务包都要处理,而且计算结果相互影响,这就要求每个计算结果要绝对正确。
☀所以,并不是所有的数据或者任务都使用并行计算。
分布式计算是相对于集中式计算来说的。分布式计算的任务包相互之间有独立性,上一个任务包的结果未返回或者是结果处理错误,对下一个任务包的处理几乎没有什么影响。分布式计算的实时性要求不高,并且允许存在计算错误。
分布式计算中,有大量的无用数据块。因此,分布式计算的速度尽管很快,但真正的“效率”是低之又低的。分布式要处理的问题一般是基于“寻找”模式的。所谓的“寻找”,就相当于穷举法。而并行计算的任务包个数相对有限,在一个有限的时间应该是可能完成的。
分布式计算程序的编写一般用是C++或Java,基本不用MPI接口。并行计算编程采用用MPI或者OpenMP。
☀那么,并行计算和分布计算的区别和联系是什么呢?