并行是指系统同时执行多个操作,并且这些操作之间是独立的,相互不影响。
与并发不同,并行需要多个处理器或者多个计算核心,才能实现同时执行多个操作。并行的好处是能够提高系统的处理能力和效率。
并行计算的应用非常广泛,几乎涵盖了所有需要高效率处理大规模数据的领域。其中,最著名的应该是高性能计算、机器学习、图形处理、物理模拟、信号处理等领域。
尤其是在高性能计算领域,大量使用并行计算是实现超级计算机的必要条件。
并行计算可以分为共享内存模型和分布式内存模型两种。
共享内存模型指的是多个处理器或者计算核心共享一个内存空间。在这种模型下,所有处理器都可以访问全部内存,并且可以通过共享内存进行通信。
常见的共享内存模型包括OpenMP和Pthreads等。
分布式内存模型指的是多个处理器或者计算核心分别拥有自己的内存空间,在执行过程中需要通过网络进行通信。
常见的分布式内存模型包括MPI和Hadoop等。