关于numa的一些总结

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上.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值