并行编程基础之CPU架构理解 SMP/MPP/NUMA/SMT/CMP

本文介绍了并行编程中四种常见的CPU架构:SMP(对称多处理)、MPP(大规模并行处理)、NUMA(非一致内存访问架构)和CMP(多核处理器)。SMP通过共享内存实现并行,MPP通过节点间通信,NUMA结合两者特性,而CMP是多核芯片实现的SMP。各种架构在一致性、扩展性和性能上有不同优劣,适用于不同的场景。
摘要由CSDN通过智能技术生成
               

 

集群架构

l  SMP/MPP/NUMA都是cpu级别的架构,区别是在于访问内存,I/O和外部中断等资源方式的不同。SMP是对称访问和共享访问所有资源,MPP是独立访问各自资源,完全没有共享资源,如果是综合则是NUMA(部分本地内存/部分远端内存)。这就引起一致性等处理方式不同。

è  一致性

SMP模式:数据一致性是由硬件专门管理的,这样做比较容易实现,但成本较高。使用了MESI协议处理多个处理器之间的Cache一致性。该协议也被称为Illinoisprotocol,MESI协议在SMP处理器系统中得到了广泛的应用。

MPP模式:节点之间的一致性是由软件来管理,因此,它的速度相对较慢,但成本却低得多;

NUMA模式:在共享内存时维持高速缓存一致性的开销非常大(譬如ccNUMA),所以NUMA无法保证系统性能线性增加,譬如8倍cpu带来3倍性能提升。Intel提出了另外一种MESI协议的变种,即MESIF协议,由Intel的QPI(QuickPath Interconnect)技术引入。主要解决ccNUMA处理器结构的Cache共享一致性问题,这种结构通常使用目录表,而不使用总线监听处理Cache的共享一致性。值得注意的是,MESIF协议解决主要的问题是ccNUMA架构中SMP子系统与SMP子系统之间Cache一致性。而在SMP处理器系统中,依然需要使用传统的MESI协议。Nehelem EX处理器也可以使用MOESI协议进一步优化SMP系统使用的Cache一致性协议,由此可见CMP的某种实现方式就是SMP。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值