过完新年,头累脚累肚子累,上个班休息休息,再写一篇,也顺路给各位拜个年!
前面说了NUMA的总总特点,有朋友问了这么一个问题:要是我的程序就是乱序的访问内存,也不太可能改了,那怎么办呢?是不是就注定被NUMA欺负了?也不是。
在英特尔下一代Xeon处理器平台中,BIOS里有一个NUMA 选项, 可以指定怎么映射内存。以两颗CPU为例。如果指定NUMA mode,那么前一半内存空间被指定到直接连接CPU0, 后一半内存空间被指定到直接连接CPU1,换句话说就是我们说的NUMA方式;如果指定Non NUMA,那么就是奇数页面被指定到直接连接CPU0,偶数页面被指定到直接连接CPU1,也就是页面奇偶交错分布,用户体验上就跟传统方式类似,虽然没 有了NUMA的好处,但也没被NUMA伤了。