computer_knowledge_notes/Hardware/Intel/NUMA.md

1.2 KiB
Raw Blame History

NUMA简介

numa把一台计算机分成多个节点(node),每个节点内部拥有多个CPU节点内部使用共有的内存控制器节点之间是通过互联模块进行连接和信息交互。

NUMA和SMP的区别CK老师的解释

NUMA和SMP的区别在性能上。SMP是对称多处理NUMA是非统一内存访问。

SMP的每一颗处理器到内存的距离都是一样的。传统上所有处理器都连接着北桥芯片(即内存控制器)这样的结构是对称的可以认为是SMP。

现在,内存控制器做在处理器里面了,这样每一个处理器都可以控制一部分内存。要访问另一颗处理器控制的内存,就必须通过处理器的通信线路,这样访问自己的内存就快,访问别人的内存就慢,这样就存在一个处理器亲和力的问题。解决方法就是内核线程要绑定到一个处理器的一个核心中,不要老跑来跑去。

有这样一个结论任何针对单核处理器所做的优化在多核上面都要创建一个新的Memory Model。

对内存有兴趣的同学可以看两个文档:All Programmer should Know About MemoryTutorial On Memory Model。前提是要先清楚Sequential Consistency的概念。