---
title: NUMA非统一内存访问结构
description: "由于SMP集中式共享存储器的设计限制了处理器访问存储器的频次，导致处理器可能会经常处于对数据访问的饥饿状态。为了更好地解决问题，NUMA架构诞生了。"
url: https://www.hikunpeng.com/document/detail/zh/perftuning/progtuneg/kunpengprogramming_05_0004.html
sourcePath: /source/zh/perftuning/progtuneg/kunpengprogramming_05_0004.html
indexId: 351d71023685994598b887a29a6363e29cbad871f39922a1d8f933edd574509b63
---
# NUMA非统一内存访问结构

由于SMP集中式共享存储器的设计限制了处理器访问存储器的频次，导致处理器可能会经常处于对数据访问的饥饿状态。为了更好地解决问题，NUMA架构诞生了。

NUMA架构将多个核组成一个节点（Node），每一个节点相当于一个对称多处理机（SMP），一块CPU的节点之间通过On-chip Network通讯，不同的CPU之间采用Hydra Interface实现高带宽低时延的片间通讯。在NUMA架构下，整个内存空间在物理上是分布式的，所有内存的集合就是整个系统的全局内存。每个核访问内存的时间取决于内存相对于处理器的位置，访问本地内存（本节点内）会更快一些。Linux内核从2.5版本开始支持NUMA架构，现在的操作系统也提供了丰富的工具和接口，帮助我们完成就近访问内存的优化和配置。鲲鹏处理器支持NUMA架构，使用鲲鹏处理器所实现的计算机系统，通过适当的性能调优，既能够获得很好的性能，又能够解决SMP架构下的总线瓶颈问题，提供更强的多核扩展能力，以及更好更灵活的计算能力。

图1 NUMA架构
