面向众核系统的多并发优化

共 1527字,需浏览 4分钟

 ·

2021-02-13 16:26



并行计算已成为计算机体系结构中的主要范式,主要以多核处理器的形式出现。首先简单了解下串行计算和并行计算概念。


串行计算: 一个问题被分解成为一系列指令;这些指令被顺次执行;所有指令均在一个处理器上被执行;在任何时刻,最多只有一个指令能够被执行。

 

并行计算: 一个问题被分解成为多个可以同时执行的部分;每个部分进一步被分解成为一系列指令;每个部分的指令可以在不同的处理器上被同时执行。



在一个计算集群种,计算资源包括多处理器/多核(multiple processors/cores)的计算机;或者任意数量的被连接在一起的计算机。例如:NP是一个典型的并行处理系统,每个报文都可以并行处理。


并行处理的唯一目的就是节省时间,度量指标:线性度,或者说加速比(speedup)。加速比Amdahl\'s law :

 

从理论上讲,一个程序在n 个并行处理机上的执行速度是在单一处理机上执行速度的n 倍。假如一个组件1个核处理的性能是P,k核应该为kP;1个核处理时间为T,K核应该下降为T/K,这是完全线性加速,实际上很难做到,4 cores以上能做到85%的线性度加速比可以算非常优秀了。

 

所以,并行处理可以在整个系统来考虑,也可以单组件内部来考虑,目的就是回答一个问题:多核能力发挥到极致了吗。那每个模块都应该问一下自己:给你K个核,你的性能能提升K倍吗?


Speedup上限是:1/(1-P)
 

程序并行化的速度受到可以并行化多少程序的限制。如果可以并行化90%的程序,则无论使用多少个处理器,使用并行计算的理论最大加速将是10倍。


在项目实战中,常常可以采用不同方法提升多核性能,今天重点分享何王全老师的“面向众核系统的多核编译优化”,材料比较老,但并行编译知识讲解很全面。


推荐阅读:信创软硬件全景梳理(附PDF下载)



转载申明:转载本号文章请注明作者来源,本号发布文章若存在版权等问题,请留言联系处理,谢谢。


推荐阅读

更多架构相关技术知识总结请参考“架构师技术全联盟书店”相关电子书(35本技术资料打包汇总详情可通过“阅读原文”获取)。

全店内容持续更新,现下单“架构师技术全店打包汇总(全)”,后续可享全店内容更新“免费”赠阅,价格仅收188元(原总价290元)。



温馨提示:

扫描二维码关注公众号,点击阅读原文链接获取架构师技术全店资料打包汇总(全)电子书资料详情


浏览 37
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报