NUMA架构

最近在学习.NET的并行计算技术,学到一个服务器NUMA架构,NUMA架构在中大型系统上一直非常盛行,也是高性能的解决方案,在系统延迟方面表现都很优秀。Windows一向都没有在NUMA架构上有多少表现机会,AMD的多路系统大多也会用在UNIX/Linux上。Intel如期进入了NUMA架构的怀抱,英特尔最新的服务器处理器至强5500是一项重大的结构变革。与上一代至强处理器相比,至强5500采用了非一致性存储结构(NUMA),它在一块芯片上增加了向内存控制器的并行化访问路径增加非统一内存访问。可以看这篇文章三款Nehalem至强5500塔式服务器横评对决。Windows Server 2003 在线程调度程序和内存管理器中引入了 NUMA 优化,而 Windows Server 2008 在 I/O 管理器中添加了 NUMA 优化同时扩展了内存管理器的 NUMA 优化。NUMA 系统通常是多处理器系统,其中的内存延迟随访问它的处理器不同而有所不同。内存被分成多个节点,CPU 和节点之间的延迟可能各不相同,并且每个 CPU 都被视为它可最快访问的那个节点的一部分。Windows 7 和 Windows Server 2008 R2 一个重要更新是增强了对多核的支持。 现已可以支持超过64个逻辑处理器(也就是所谓的“核”),并且引入了NUMA 技术, 大幅度提高多核运算的性能。可以说Windows 7/Server 2008 R2已经进入高端的企业级市场。

传统的多核运算是使用SMP(Symmetric Multi-Processor )模式:将多个处理器与一个集中的存储器和I/O总线相连。所有处理器只能访问同一个物理存储器,因此SMP系统有时也被称为一致存储器访问(UMA)结构体系,一致性意指无论在什么时候,处理器只能为内存的每个数据保持或共享唯一一个数值。很显然,SMP的缺点是可伸缩性有限,因为在存储器和I/O接口达到饱和的时候,增加处理器并不能获得更高的性能。

NUMA模式是一种分布式存储器访问方式,处理器可以同时访问不同的存储器地址,大幅度提高并行性。 NUMA模式下,处理器被划分成多个"节点"(node), 每个节点被分配有的本地存储器空间。 所有节点中的处理器都可以访问全部的系统物理存储器,但是访问本节点内的存储器所需要的时间,比访问某些远程节点内的存储器所花的时间要少得多。

NUMA 系统(尤其是具有超过八个 CPU 的系统)通常比一致内存访问系统更加经济且性能更高。一致内存访问系统必须平等地为所有 CPU 提供内存,而 NUMA 系统则能够为直接连接到 CPU 的内存提供高速互连,同时为与 CPU 相隔较远的内存提供较为便宜但更高延迟的连接。

为能在 NUMA 系统中有效扩展,操作系统或应用程序必须了解节点拓扑结构,以便使计算能够在包含计算数据和代码的内存附近执行。例如,Windows 调度程序为每个线程分配一个所谓的理想处理器,该处理器是调度程序试图始终在其上执行该线程的 CPU。这样做可以使线程置于 CPU 缓存中的数据能够尽可能地在每次该线程运行时可用。

NUMA 的主要优点是伸缩性。NUMA 体系结构在设计上已超越了 SMP 体系结构在伸缩性上的限制。通过 SMP,所有的内存访问都传递到相同的共享内存总线。这种方式非常适用于 CPU 数量相对较少的情况,但不适用于具有几十个甚至几百个 CPU 的情况,因为这些 CPU 会相互竞争对共享内存总线的访问。NUMA 通过限制任何一条内存总线上的 CPU 数量并依靠高速互连来连接各个节点,从而缓解了这些瓶颈状况。

SQL Server 2005开始支持NUMA,可参考SQL Server 2008的NUMA支持,NUMA架构对数据库性能的影响可以参考DBA notes同学写的NUMA 架构与数据库性能

参考资料:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

【漏洞细节】VTech平板电脑:多个数据泄露的隐患暗藏

在最近的VTech数据泄露事件后,大家或许认为VTech的电子玩具安全性不会比现在更糟糕了。然而就在这种情况下,我们又发现了两个漏洞,黑客可以从孩子们的Inno...

19650
来自专栏针针小站

【MIUI】小米5S抢鲜体验MIUI9 – 快如闪电的系统

15350
来自专栏落花落雨不落叶

树莓派+花生棒+leanote搭建自己的笔记服务器

36220
来自专栏架构师小秘圈

日订单50万级分布式事务

作者:伈情,喜玩Java、Python、Golang!热爱架构设计、SOA、微服务、高并发、分布式、性能优化、DevOps、大数据、消息队列等....!在互联网...

89580
来自专栏编程一生

架构必会的性能指标及分析策略

12520
来自专栏逍遥剑客的游戏开发

UE4中集成Wiimote

298110
来自专栏落花落雨不落叶

树莓派+花生棒+leanote搭建自己的笔记服务器

66530
来自专栏黑白安全

密码字典?神奇的碰撞操作

这样可以提高密码破译软件的密码破译成功率和命中率,缩短密码破译的时间。 如果一个人密码设置没有规律或很复杂,未包含在密码字典里,这个字典就没有用了,甚至会延长密...

32920
来自专栏SDNLAB

SDN中的Segment Routing

作者简介:晏志文,原就职于中兴通讯,目前供职于安徽皖通邮电股份有限公司。数通测试专家,本领域从业深耕多年,熟悉传统网络技术及行业解决方案,密切关注新兴网络,IC...

26440
来自专栏安恒信息

维基解密最新文件——“小飞象”使物理入侵瞒天过海

“小飞象”项目机密文件 今天,维基解密发布了美国中央情报局(CIA)的小飞象(Dumbo)项目文件。Dumbo可以暂停摄像头正在使用的进程,并且可以破坏相关任何...

32840

扫码关注云+社区

领取腾讯云代金券