SMP对称多处理技术

SMP对称多处理技术解析

SMP(Symmetrical Multi-Processing)

1.1. 处理器的发展过程

作为核心部件的处理器,它负责对输入的数据进行分析和处理,并进行输出。衡量一个处理器的性能如何,主要有两个方面: 每个时钟周期内可以执行的指令数(IPC: Instruction Per Clock)和处理器的主频。在单核处理的时代,对于同一代的架构,改良架构来提高IPC的幅度是非常有限, 因此为了提高处理器的性能,只能通过提高CPU的主频。但随着CPU的主频不断提高,一些问题也渐渐地凸显出来。当CPU主频提高到一定程度时,处理器性能并没有出现明显的提升, 相反,使得CPU的能耗大大上升,据测算,主频每增加1G,功耗将上升25瓦,而在芯片功耗超过150瓦后,现有的风冷散热系统将无法满足散热的需要。到此,“主频为王”的时代已经走到了尽头,人们不得不另辟蹊径, 多核心处理器应运而生。
多核心处理器是指把两个或更多独立处理器封装在一个单一集成电路(IC)中,多核的硬件实现方式可以分为两种,一是将所有具有相同的构架的CPU集成在一起,称为同构多核,它们之间共享系统资源, 生活中使用的台式机或者笔记本电脑的CPU处理器大多都是采用这种架构的多核心处理器;二是异构多核,往往同时集成了通用处理器、DSP、FPGA等,主要应用于一些复杂且实时性高的应用场景, 如机器人拾取和放置装配线,它需要采集高分辨率的视频图像,并对图像进行处理,正确无误地检测和识别目标,最终通过电机驱动操控机器手臂,完成标记组件的装配。仅靠通用处理器很容易就会负载过重, 而导致无法在特定时间完成处理。
早期的手机SoC用的都是由ARM公司提出的“Big.Little”架构,它是在一个集成电路中集成了两种不同类型的ARM核心,一种为高性能Core,称作big core,负责承担高负载的任务, 一种为低性能Core,称作little core,用于处理手机的大部分工作负载。随着移动设备的普及,人们对移动设备的性能需求越来越高,相应地便产生了更多能耗, “Big.Little”架构通过对CPU大小核资源的合理调用,使得高性能与低功耗兼得,大大提高了手机电池的续航能力。
在这里插入图片描述

1.2 SMP 的基本概念:平等协作的并行计算范式

对称多处理机(SMP,Symmetric Multiprocessing)是最广泛应用的多处理机架构,其核心特征是“所有处理器地位平等、共享全局资源”,通过简洁而高效的协作模式实现并行计算。

(一)SMP的核心特征

SMP系统的“对称性”体现在多个维度,构成了其独特的并行计算模型:

  • 处理器对称性
    所有处理器型号相同、性能一致,无硬件层面的主从区分;
    任何处理器都可运行操作系统内核代码、处理中断请求和访问任何I/O设备;
    例如:4路服务器中的4个完全相同的AMD EPYC处理器。
  • 内存对称性
    所有处理器访问内存的延迟和带宽基本一致(UMA,统一内存访问);
    内存是全局共享的单一地址空间,处理器通过统一的物理地址访问任何内存单元;
    区别于NUMA系统的非对称内存访问特性。
  • 资源访问对称性
    所有处理器共享相同的I/O设备、总线和外围资源;
    设备驱动程序和资源分配由操作系统统一管理,对所有处理器透明;
    例如:任何处理器都可直接访问同一个PCIe显卡或SATA硬盘。

(二)SMP的工作原理:从任务分配到资源协调

SMP系统的运行依赖操作系统和硬件的协同配合:

任务分配

  • 操作系统将进程或线程动态分配到空闲处理器上执行;
    调度算法(如Linux的CFS)保证负载均衡,避免部分处理器过载而其他处理器空闲;
    例如:Web服务器将不同用户的请求线程分配到不同CPU核心处理。

内存共享与一致性

  • 处理器通过共享内存交换数据,如多线程程序访问全局变量;
    硬件缓存一致性协议(如MESI、MOESI)保证不同处理器缓存中的同一数据副本一致;
    当一个处理器修改共享数据时,其他处理器的缓存会收到通知并更新或失效相应副本。

同步与互斥

  • 多个处理器访问共享资源时(如写文件、修改计数器),通过同步机制(锁、信号量、原子操作)保证数据一致性;

例如:数据库事务处理中,通过行锁防止多个处理器同时修改同一条记录。

(三)SMP的优势与局限性

SMP凭借其简洁性和高效性成为主流多处理架构,但也存在固有的局限:
优势:

  • 编程简单:无需修改单线程程序即可在SMP上运行,多线程编程模型直观(如使用pthread);
    响应迅速:处理器间通信通过内存共享完成,延迟远低于消息传递;
    资源利用率高:操作系统可动态调度任务,充分利用所有处理器资源;
    兼容性好:支持现有操作系统和应用程序,迁移成本低。

局限性:

  • 扩展性有限:受限于共享总线或互连网络的带宽,处理器数量通常不超过32个;
    缓存一致性开销:随着处理器增加,缓存一致性协议的通信开销急剧增长;
    总线瓶颈:所有处理器共享内存总线时,会出现“争抢总线”现象,限制整体性能。

参考:https://blog.youkuaiyun.com/m0_62617719/article/details/152164704

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值