- 任务并行:将待解决问题所需要执行的各个任务分配到各个核上执行
- 数据并行:将待解决的问题所需要处理的数据分配给各个核,每个核在分配到的数据集上执行大致相似的操作。
- 通信
- 负载平衡:每个核被分配到大致相同数目的数据来计算
- 同步
- 共享内存系统:各个核能够共享访问计算机的内存,理论上每个核能够读、写内存的所有区域。-----Pthreads、OpenMP
- 分布式内存系统:每个核拥有自己的私有内存,核之间的通信是显式的,需要使用类似于网络中发送消息的机制。-----MPI

- 并发计算:一个程序的多个任务在同一时段内可以同时执行
- 并行计算:一个程序通过多个任务紧密协作来解决某个问题
- 分布式计算:一个程序需要与其他程序协作来解决某个问题
因此,并行程序和分布式程序都是并发的
并行计算学习之并行程序设计导论
原文:https://www.cnblogs.com/cola-1998/p/11150478.html