研究日誌。

大規模なグラフ処理に対してメモリ階層構造を考慮した高性能なソフトウェアを開発。

numactl その1

2010-08-10 14:52:16 | Weblog
numactl は非常に便利な ライブラリであるが、どのように実行しているのか気になったので、strace をかけてみた。

ハードウェアの情報の取得には、
以下の 2つのディレクトリを見に行っているようだ。
/sys/devices/system/node
/sys/devices/system/cpu

というわけで、これらのファイルを眺めてみる。
以下、Istanbul(6cores) x 4sockets での結果の抜粋。

● /sys/devices/system/node 内の情報
% cat /sys/devices/system/node/online
0-3
% cat /sys/devices/system/node/possible
0-3

● /sys/devices/system/cpu 内の情報
% cat /sys/devices/system/cpu/possible
0-31
% cat /sys/devices/system/cpu/online
0-23
% cat /sys/devices/system/cpu/offline
24-31
% cat /sys/devices/system/cpu/present
0-23
% for i in {0..3}
cat /sys/devices/system/node/node$i/cpulist
0,4,8,12,16,20
3,7,11,15,19,23
2,6,10,14,18,22
1,5,9,13,17,21

これらのファイルを見る事でプロセッサの構成を知る事ができる。