多线程与多进程性能分析与最佳实践
创作时间:
作者:
@小白创作中心
多线程与多进程性能分析与最佳实践
引用
CSDN
1.
https://blog.csdn.net/shaoqieqian647/article/details/145097816
在现代多核处理器系统中,选择合适的线程数和进程数对程序性能至关重要。本文通过实验数据分析,得出一些结论和思考。具体代码可从Github获取。
系统环境
- 物理核心数:40
- 逻辑核心数:80
性能数据分析
从数据可以观察到以下特点:
- 线性增长阶段:1-40线程时,性能几乎呈线性增长,这是因为每个线程都能独占一个物理核心。
- 次线性增长阶段:40-80线程时,性能继续提升但增长速度放缓,这是由于使用了超线程技术。
- 性能收敛阶段:超过80线程后,性能出现波动,但基本维持在同一水平。
- 线程和进程性能曲线:线程和进程性能曲线基本一致,不要被超线程的名字给迷惑了,超线程技术对线程和进程都提供了同等的硬件支持,后面具体说明。
- 补充说明:线性增长和次线性增长没有在40和80时完全达到阶段性最高值,是因为系统中还运行了其他任务,会占用部分资源,有条件的可以自行测试。另外,部分国产CPU芯片没有超线程技术,请注意甄别。
为什么在逻辑核心数附近达到最佳性能?
- 硬件资源匹配
- 当线程/进程数等于逻辑核心数时,实现了计算资源的最优利用
- 每个线程/进程都能获得一个执行上下文,避免了过度的上下文切换
- 超线程技术的影响
- 物理核心通过超线程技术模拟出两个逻辑核心
- 在资源未被充分利用时,超线程可以提升性能
- 这解释了为什么性能在40-80线程/进程之间仍能提升
- 资源竞争
- 超过逻辑核心数后,会导致更频繁的上下文切换
- 增加了调度开销和资源竞争
- 这解释了为什么超过80后性能会波动
超线程技术与多进程的关系
逻辑核心与超线程
在我们的系统中,40个物理核心能够支持80个逻辑核心,这确实是通过英特尔的超线程技术(Intel Hyper-Threading Technology,HT)实现的。超线程的工作原理如下:
- 硬件层面的实现
- 每个物理核心包含两套独立的寄存器组(architectural state)
- 共享同一个物理核心的执行单元、缓存和其他计算资源
- 操作系统将这两套寄存器组视为两个独立的逻辑核心
- 资源共享机制
- 指令流水线
- L1/L2缓存
- 执行单元(ALU、FPU等)
- 分支预测器
为什么多进程也能利用超线程?
- 操作系统层面的调度
- 操作系统调度器不区分进程和线程的硬件资源分配
- 调度器将进程和线程都视为可调度的执行单元
- 在硬件层面,进程和线程都被映射到逻辑核心上执行
- 超线程的通用性
- 超线程是在硬件层面实现的并行技术
- 不关心执行单元是进程还是线程
- 只要有两个独立的指令流,就能利用超线程提供的并行能力
- 性能提升原理
- 当一个进程在等待内存或I/O时,另一个进程可以利用空闲的执行资源
- 通过资源共享提高硬件利用率
- 这就解释了为什么进程数在40-80之间仍能获得性能提升
这也说明了为什么在我们的测试中,无论是多线程还是多进程,都能在接近逻辑核心数(80)时达到最佳性能。超线程技术对两种并行方式都提供了同等的硬件支持。
最佳实践建议
- 线程数选择
- 对于CPU密集型任务,建议将线程数设置为逻辑核心数
- 对于I/O密集型任务,可以适当增加线程数,但建议不要超过逻辑核心数的2倍
- 进程数选择
- 进程数同样建议设置为逻辑核心数
- 对于I/O密集型任务,可以适当增加线程数,但建议不要超过逻辑核心数的2倍
热门推荐
“国培计划”创新培训模式 助力教师素质全面提升
杨滩小学教师素质提升计划:创新模式与未来展望
教师培训赋能专业成长,教学质量提升助力学生成才
“双减”下的教师心理调适指南
新材料如何改变水下战场?从096型核潜艇看未来潜艇技术发展趋势
古拉姆骑兵:萨曼王朝的铁骑传奇
萨曼王朝的古拉姆骑兵:传奇背后的真相
上班用工作号,下班用生活号,两个微信号能“公私分开”吗?
电气工程专业考公难吗?最新攻略来了!
南沙港首航!丽星邮轮"处女星号"开启华南邮轮旅游新纪元
电气工程专业考公难吗?来聊聊你的经验!
电气工程专业考公,你准备好了吗?
再这样吃饭,你的胃就废了!医生告诫:这3种吃饭时间,太伤身
地中海饮食:平衡雌激素的健康之选
促甲状腺激素受体抗体异常:小心情绪失控!
斐济楠迪国际机场:天堂美景尽收眼底!
深中通道开通在即,深圳机场如何助力地方经济腾飞?
冬季手脚冰凉?试试金匮肾气丸!
双十一囤货指南:如何挑到最新鲜的皮皮虾?
皮皮虾:吃货必知的营养与禁忌!
李子柒教你做皮皮虾,超简单!
桩基自平衡法静载试验:原理与优势详解
莱芜钢铁:50年发展铸就钢铁巨人
前瞻2025 | 中国人形机器人展望:先工业,后消费
掌握"then"的发音与用法,提升英语表达能力的关键所在
菏泽孙大园堌堆:165座古墓揭示“天下之中”数千年文明密码
田中连书法作品赏析:感受大师笔下的菏泽韵味
四环素牙怎样才能变白?冷光美白/瓷贴面/烤瓷冠等方式可有效改善
欣字取名女孩名字寓意 带欣字最好听的女孩名字
北京女子混用洁厕灵和84消毒液中毒!这些清洁剂使用禁忌你知道吗?