LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1699|回复: 5

NUMA是什么呀?

[复制链接]
发表于 2004-12-24 03:07:23 | 显示全部楼层 |阅读模式
在看linux内核的内存管理部分的时候遇到Non-Uniform Memory Access这个概念。
NUMA是什么东西
发表于 2004-12-24 03:31:06 | 显示全部楼层
如果整个物理内存是均匀一致的,那CPU访问任何地址所需要的时间都是相同的,这种内存就叫UMA;但是对于多CPU系统,每个CPU本身有本地的物理内存,多个CPU链接到一条总线上,这条总线上还链接有一个公用的存储模块,那么对某个CPU来说,访问本地的内存就比较快,通过总线访问公共的内存就慢一些,因此把所有这些物理内存(本地和公共的)就称作是NUMA(non-uniform memory architecture)。通常linux把地址不连续的物理空间也归到NUMA范畴里面处理,因为不连续也就是中间有空洞,即不是均匀一致的,于是把这些不连续的区间各用一个pa_data_t结构来表示。
 楼主| 发表于 2004-12-24 17:59:57 | 显示全部楼层
为什么会出现地址不连续的物理空间呢?
是内存条上的某些电子元件坏掉了的缘故吗?
发表于 2004-12-24 19:56:09 | 显示全部楼层
对于主存RAM来说,采用的集成电路,里面都是由MOS管组成的,这个不同于电子元器件,坏了可以换一个,如果某个BANK内部的管子出现问题,整个也就报废了。通常在出厂之前都会做各种测试,去除坏管子(用备用管子来代替等方法),所以你不要往这方面考虑。
呵呵,有些扯远了!
因为计算机有很多种架构,系统内含多条总线,可能会存在地址空间不连续或者连续空间但是存取时间不同等,这就需要操作系统支持类似NUMA这种技术;而且对于咱们常用的单CPU的PC机来说,还包含像什么主存RAM,ROM(BIOS),还有显卡上的RAM等,应当说严格的UMA是不存在的。但是通常就认为主存RAM是一个均匀,连续的空间就可以了,所以对于PC机来说linux中一般就存在一个node。因此内存管理的布局就如下所示:
( pg_data_t)node-zone----->(zone-dma;zone-normal;zone--higme)------->mem-map;

目前好像见到NUMA基本上都是多CPU架构的,这个技术也更多的体现在架构上面。好像IBM有NUMAQ这种系统吧,没记错应该是:)你可以到网上查来看看相关资料

理解可能会有错误,还请大牛过来指正撒
发表于 2004-12-24 20:00:17 | 显示全部楼层
BTW:我见有的书上说UMA是uniform-memory architecture,有的上面写作uniform-memory-access architecture,不过网上英文资料里面都是说uniform-memory-access的。
迷茫中。。。。。。。。。。。
:p
 楼主| 发表于 2004-12-24 23:16:16 | 显示全部楼层
我这个是在Understanding The Linux Virtual Memory Manager上看到的。
谢谢楼上了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表