多进程运算的效能与多线程运算相比慢多少?

pango2005 2007-06-29 11:52:28
公司开发的一光照计算引擎采用了单件模式(就是一个进程只能创建一个引擎实例),现在要把它往

多线程方向应用,具体想法是开辟N个线程,每个线程跑一个引擎实例,然后将要计算的数据(数据

量很大)分成大小相同的N份,交给每个线程的引擎去计算;现在问题出来了,由于引擎采用单件模

式设计,一个进程中只能有一个引擎实例,修改引擎的架构设计已来不及了,所以我想出了用多进程

计算,就是由主进程开辟N个子进程,每个子进程跑一引擎实例,然后由主进程分配计算数据给子进

程,并等待子进程计算完毕的信号通知;我想这么做,但有些问题我还没把握:

- 多进程计算能达到和一进程多线程计算同样的效能吗?(我自己认为是可以的,因为毕竟进程是

由线程组成的,但没把握,所以问问);

- 多进程方案要求进行进程之间的通讯,以及要在进程之间传递大量数据(>10M),我想知道

WINDOWS平台上进程之间传递数据的方法有哪些?哪个效能是最高的?

- 多进程方案的瓶颈是否是在进程之间传递大量数据?此操作是否会造成整体性能的大幅降低?
...全文
301 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
IntelSupport 2007-07-11
  • 打赏
  • 举报
回复
楼上的应用瓶颈应该是在多个进程间操作的同步上, 如果进程间的数据传递可以实现pipeline的形式, 也不会造成同步上的等待。

568

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧