多核处理器&类UNIX系统 -> 之多进程和多线程性能比较


网络上有很多讨论关于在*NIX系统在SMP环境下到底是应该用多线程还是多进程, 到底哪一个有更好的性能,  比如有很多人认为考虑到linux使用1-1线程模型(对内核来说, 线程就是一个进程)并且系统已经为进程处理做了很多优化,效率提升, 所以在liunx SMP环境下, 多进程和多线程几乎有做一些的性能, 加上多线程得考虑locking,更加容易导致问题. 有人认为无论是创建还是切换, 线程肯定是要cheaper一些, 所以如果追求性能的话应该尽量使用多线程.   

观点很多,从各个角度,很难说有绝对的真理, 以下的link是IBM团队分别在多核的Solaris 10系统和多核的 Red Hat Enterprise Linux 5.4系统上做的一系列不同场景的比较, 非常详细, 当你需要考虑在你的多核环境中使用何种方式时, 可以从以下分析中获得一些数据和启发.


An Old Question on New Platforms:

Threads vs. Processes: Which is better to achievehigher performance?

– Each process has own virtual memory space

#Using processes provides better inter-process isolation

– Threads in one process shares a virtual memory space

#Multi-thread processing is better for performance due toits memory efficiency (smaller footprint)ƒ 


Is this answer still valid on today’s processors withmultiple cores and multiple SMT threads in a core?

Check the answer below form IBM analysis.

 

http://researcher.watson.ibm.com/researcher/files/jp-INOUEHRS/IISWC2010_inoue_slides.pdf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值