23.2. 系统拓扑类型


在现代计算中,单个 CPU 的概念误导,因为大多数现代系统具有多个处理器。系统的拓扑是这些处理器互相连接并与其他系统资源的连接的方式。这会影响系统和应用程序性能以及系统的调优注意事项。

以下是现代计算中使用的两种主要拓扑类型:

对称多进程 (SMP) 拓扑
SMP 拓扑允许所有处理器在相同时间内访问内存。但是,因为共享和相同的内存访问本质上会阻止所有 CPU 进行序列化内存访问,SMP 系统扩展限制通常被视为不可接受的。因此,所有现代服务器系统都是 NUMA 机器。
非统一内存访问 (NUMA) 拓扑

NUMA 拓扑是比 SMP 拓扑更久而开发的。在 NUMA 系统中,多个处理器通过插槽被物理分组。每个套接字都有一个专用的内存区域,并且该套接字上的处理器对该内存具有本地访问权限。套接字、其内存以及关联的处理器形成什么称为节点。同一节点上的处理器对节点的内存银行具有高速访问,而对其他节点上的内存银行的访问速度较慢。

因此,访问非本地内存时会出现性能损失。因此,具有 NUMA 拓扑的系统上性能敏感的应用程序应该访问与执行应用程序的处理器相同的内存,并应尽可能避免访问远程内存。

对于性能敏感的多线程应用程序,这些应用程序可能会被配置为在特定 NUMA 节点上执行,而不是特定处理器。这是否适当地取决于您的系统和应用程序的要求。

  • 如果多个应用程序线程访问同一缓存的数据,那么可将这些线程配置为在同一处理器上执行。
  • 如果多个访问和缓存不同数据在同一处理器上执行的线程,则每个线程可能会驱除由之前线程访问的缓存数据。这意味着,每个线程"misses"缓存,浪费执行时间从内存中获取数据并在缓存中替换。使用 perf 工具检查是否有过多的缓存未命中。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat