并发和并行的异同
老师上课讲并行计算是基于第三方库的openmp和mpi,想请教各位,程序员们口中的并发编程和并行编程他们的不同点和相同点,他们都可以用来做高性能计算吗?...
老师上课讲并行计算是基于第三方库的openmp和mpi,想请教各位,程序员们口中的并发编程和并行编程他们的不同点和相同点,他们都可以用来做高性能计算吗?
展开
1个回答
展开全部
并发和并行在不同的环境下有不同的定义。
在网络编程环境中,并发一般是指多任务,或者多进程。简单的例子就是一个服务端可以同时给多个客户机进行通信,这个时候服务端就处于并发状态。这种也可以称为并行。
在大数据分析中,并行和并发也是一样的,即可以多线程(openmp)或多进程(mpi)处理同时处理数据。从而达到加速的效果。但是一般大数据中不同线程或进程中的耦合较低或者不耦合,并行很容易实现。
在数值分析领域,一般称之为并行编程,也有多线程和多进程的方式。但是数值分析一般是一个求解域的偏微分方程,不同的线程或进程划分之后耦合性较强,所以并行计算比较难实现。但是一般数值分析最后都可以转化为求解一个大型的线性方程组的问题,而求解大型线性方程组则有很多开源或闭源的软件包可以利用。
高性能计算一般指的是数值分析领域。
在网络编程环境中,并发一般是指多任务,或者多进程。简单的例子就是一个服务端可以同时给多个客户机进行通信,这个时候服务端就处于并发状态。这种也可以称为并行。
在大数据分析中,并行和并发也是一样的,即可以多线程(openmp)或多进程(mpi)处理同时处理数据。从而达到加速的效果。但是一般大数据中不同线程或进程中的耦合较低或者不耦合,并行很容易实现。
在数值分析领域,一般称之为并行编程,也有多线程和多进程的方式。但是数值分析一般是一个求解域的偏微分方程,不同的线程或进程划分之后耦合性较强,所以并行计算比较难实现。但是一般数值分析最后都可以转化为求解一个大型的线性方程组的问题,而求解大型线性方程组则有很多开源或闭源的软件包可以利用。
高性能计算一般指的是数值分析领域。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询