关于numa的一些总结
2015-07-03 18:57
281 查看
http://blog.csdn.net/chrysanthemumcao/article/details/9237891
1.不同的操作系统对numa的支持不一样.
1.1 solaris提供了locality group api. 可以使用它方便地进行 locality操作.api可以参考http://docs.oracle.com/cd/E19082-01/820-1691/lgroups-1/index.html.
另外还有一点需要注意, solaris提供的系统调用mmap分配内存的时候会在多个node上都分配内存.所以在调度的时候,可以使用numa的locality特性来访问数据,以提高性能.
1.2 linux对numa也提供了一些函数,但是它提供的操作并不好用.如mbind,set_mempolicy.sched_setaffinity等.
不过linux上提供了一个api libnuma.可以用它来进行相关调用.不过个人感觉也不是很好用.
具体的比较可以参考论文"Exploring Thread and Memory Placement on NUMA Architectures: Solaris and Linux,
UltraSPARC/FirePlane and Opteron/HyperTransport".
2.libnuma提供的api:http://linux.die.net/man/3/numa.
3.从指定的内存地址得到其对应的node结点:http://stackoverflow.com/questions/7986903/can-i-get-the-numa-node-from-a-pointer-address-in-c-on-linux.
http://stackoverflow.com/questions/8154162/numa-aware-cache-aligned-memory-allocation.
4.给定一个进程,绑定到指定的node上.
1.不同的操作系统对numa的支持不一样.
1.1 solaris提供了locality group api. 可以使用它方便地进行 locality操作.api可以参考http://docs.oracle.com/cd/E19082-01/820-1691/lgroups-1/index.html.
另外还有一点需要注意, solaris提供的系统调用mmap分配内存的时候会在多个node上都分配内存.所以在调度的时候,可以使用numa的locality特性来访问数据,以提高性能.
1.2 linux对numa也提供了一些函数,但是它提供的操作并不好用.如mbind,set_mempolicy.sched_setaffinity等.
不过linux上提供了一个api libnuma.可以用它来进行相关调用.不过个人感觉也不是很好用.
具体的比较可以参考论文"Exploring Thread and Memory Placement on NUMA Architectures: Solaris and Linux,
UltraSPARC/FirePlane and Opteron/HyperTransport".
2.libnuma提供的api:http://linux.die.net/man/3/numa.
3.从指定的内存地址得到其对应的node结点:http://stackoverflow.com/questions/7986903/can-i-get-the-numa-node-from-a-pointer-address-in-c-on-linux.
http://stackoverflow.com/questions/8154162/numa-aware-cache-aligned-memory-allocation.
4.给定一个进程,绑定到指定的node上.
相关文章推荐
- Uva 127 poj 1214 `Accordian'' Patience 纸牌游戏 模拟
- NYOJ 673 悟空的难题
- js控制不同的时间段显示不同的css样式的实例代码
- Clustered Index & Non Clustered Index(聚簇索引和非聚簇索引)
- 【剑指offer】面试题23:从上往下打印二叉树
- NYOJ 46 最少乘法次数
- CSS透明属性详解代码
- 【剑指offer】面试题22:栈的压入、弹出序列
- 设计模式之单例模式:懒汉&饿汉
- 快速排序的非递归实现
- Linux中三种SCSI target的介绍之LIO
- android反编译-smali语法
- JSP,EL,JSTL快速入门
- apktool 反编译 Input file was not found or was not readable.问题解决方案
- 如何为ios酷我音乐盒下载导出的音乐文件(使用Java程序设计)
- Implement strStr()
- Ngx_Lua使用分享
- 正确定义Objective-C常量
- CSS透明属性详解代码
- Python笔记:_mysql常用操作