研究日誌。

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

NehalemEP v.s. Istanbul。

2009-09-06 14:45:22 | Weblog
当研究室最速マシンはどちらかということで、ベンチマークしてみました。Istanbul での HugeTLBfs による改善率は大変大きいが、NehalemEP の方に軍配が上がる結果となった。Linpack では逆の結果になったようで、気になるところである。

Graph Data: USA-road-d.USA.gr (23,947,347 nodes 58,333,344 arcs)

◆ Execution Time [sec./query]
                    1      2      4      6      8     10     12
NehalemEP        2.58   1.36   0.72     -    0.42     -      -
NehalemEP(Huge)  2.33   1.23   0.65     -    0.37     -      -
Istanbul*        3.99   2.15   1.16   0.86   0.71   0.65   0.62
Istanbul*(Huge)  2.86   1.52   0.81   0.58   0.48   0.42   0.39




最新の画像もっと見る

2 コメント

コメント日が  古い順  |   新しい順
Unknown (後藤)
2009-09-11 21:59:09
もう少し測定を厳密にした方がいいかもしれません。特に使用コア数が全コア数より少ない場合に、どのコアを使用したのかが不明です。

1.1コア使用時には、メモリのアロケーションは性能に影響するか。
2.2コア使用時には、別々のソケット上のコアを使用した方が良いか、それとも同一ソケット上が良いか?メモリのアロケーションは?

という感じです。Nehalem-EP と Nehalem-EP(Huge) の性能比率から考察すると、4 コアの性能値は2コア+2コアでの実行結果かな?という気がしますが正しいですか?
返信する
Unknown (安井)
2009-09-12 17:55:16
1. 現在の実装では、各Threadがメモリを確保しにいくのではなく、ソルバが実行されたコアで全てのメモリを確保し、各Threadに割り振るようにしてしまっています。実験には実装を変更する必要があります。


2. 片方のコア上でメモリ確保はされるので、もう片方が同一ソケット上にあるとどうかを判断できます。実験し次第アップします。

Nehalem に関しては、「2コア+2コア」に近いですが、「4コア」でもほとんど変わりません。
返信する

コメントを投稿