研究日誌。

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

最短路ソルバーのグラフ入力高速化。

2008-06-25 08:47:06 | Weblog
現在の最短路ソルバーは、ハイスペックなサーバでも DIMACS フォーマットの全米データの読み込み(グラフと座標)に1分弱ほどもかかってしまう。Point-to-Point(1対1)タイプの1クエリ(始点・終点のペアが1組)で3,4秒しかかからないため、Web サービスでは実行時間のほとんどがデータ入力に要する時間である。


ちなみに全米グラフは 23947347 点、58333344 枝であるが、DIMACS フォーマットではグラフは 58333344 行(枝数)、座標データは 23947347 行(点数)とかなり巨大であるので、読み込みに時間がかかってしまうのも無理はない。

しかしながら、メモリ上にマッピングしたファイルの速さは良く分かったので、DIMACS フォーマットデータも mmap() でマッピングして読み込むという方法も試してみる価値はありそうである。