swap の工夫をしたので、numactl によるコア指定での2プロセス実行をしてみた。
一番効果のあった extract_min() にのみ工夫を適応したものに対して行った。
最も性能が低下してしまう shared での性能は向上したのだが、
unshared では逆に性能低下してしまっている。
前者に関しては、単純に書き込み回数が減ったためによるものだろうが、後者に関しては、書き込みによる遅延によってたまたまバランスが取れていたのであろうか、その分スケジューリングが崩れてしまっているとも考えれる。
一番効果のあった extract_min() にのみ工夫を適応したものに対して行った。
最も性能が低下してしまう shared での性能は向上したのだが、
unshared では逆に性能低下してしまっている。
前者に関しては、単純に書き込み回数が減ったためによるものだろうが、後者に関しては、書き込みによる遅延によってたまたまバランスが取れていたのであろうか、その分スケジューリングが崩れてしまっているとも考えれる。
1process : 通常実行 other die : 異なるダイ上での2コアによる2プロセス unshared : 同一ダイ上で、L2 を共有してない2コアによる2プロセス shared : 同一ダイ上で、L2 を共有している2コアによる2プロセス