并发和并行在不同的环境下有不同的定义。
在网络编程环境中,并发一般是指多任务,或者多进程。简单的例子就是一个服务端可以同时给多个客户机进行通信,这个时候服务端就处于并发状态。这种也可以称为并行。
在大数据分析中,并行和并发也是一样的,即可以多线程(openmp)或多进程(mpi)处理同时处理数据。从而达到加速的效果。但是一般大数据中不同线程或进程中的耦合较低或者不耦合,并行很容易实现。
在数值分析领域,一般称之为并行编程,也有多线程和多进程的方式。但是数值分析一般是一个求解域的偏微分方程,不同的线程或进程划分之后耦合性较强,所以并行计算比较难实现。但是一般数值分析最后都可以转化为求解一个大型的线性方程组的问题,而求解大型线性方程组则有很多开源或闭源的软件包可以利用。
高性能计算一般指的是数值分析领域。