并行处理技术:NUMA与云计算解析
1. 非统一内存访问(NUMA)概述
在商业产品中,支持应用程序的多处理器系统常见的实现方式有对称多处理(SMP)和集群。近年来,非统一内存访问(NUMA)成为研究热点,并且已有相关商业产品问世。
在深入探讨之前,先明确几个常见术语:
- 统一内存访问(UMA) :所有处理器通过加载和存储操作,可访问主内存的各个部分。处理器对内存各区域的访问时间相同,不同处理器的访问时间也一致。前面提到的SMP架构就属于UMA。
- 非统一内存访问(NUMA) :所有处理器同样可通过加载和存储操作访问主内存的各个部分,但处理器的内存访问时间会因访问主内存的不同区域而有所差异。不同处理器所对应的较慢和较快的内存区域也各不相同。
- 缓存一致性NUMA(CC - NUMA) :在这种NUMA系统中,各处理器的缓存之间能保持一致性。
无缓存一致性的NUMA系统与集群大致相当。目前备受关注的商业产品主要是CC - NUMA系统,它与SMP和集群都有明显区别。接下来将重点介绍CC - NUMA系统。
2. 引入NUMA的动机
SMP系统在处理器数量上存在实际限制。有效的缓存机制虽能减少单个处理器与主内存之间的总线流量,但随着处理器数量的增加,总线流量也会相应增多。此外,总线还用于交换缓存一致性信号,进一步加重了负担。当达到一定程度时,总线会成为性能瓶颈,导致SMP配置中的处理器数量通常被限制在16到64个之间。例如,Silicon Graphics的Power Challenge SM
超级会员免费看
订阅专栏 解锁全文
837

被折叠的 条评论
为什么被折叠?



