中田真秀(なかたまほ)のブログ

研究について、日常について、その他。

FreeBSD 8.0 dgemm:理論性能値のたった70% Ubuntu 95%

2010-04-12 12:01:45 | 日記
FreeBSD 8.0 VS Ubuntu 9.10 amd64 dgemm対決した。dgemmとは行列-行列積をおこなうルーチンの名前であり、いろんな場所で使われる重要な演算である。しかも、特にメモリ-CPU間の転送速度が律速になる最近のCPUでも、dgemmのスピードはほぼ理論性性能値に近い値が出せ、CPUの瞬間最大風速みたいなものの目安になる。

OSに依存するかを見たく、FreeBSDおよびUbuntu (Linux)で比較をした。

結果はFreeBSDが理論性能値の70%しかだせず、95%出せるUbuntuの圧倒的勝だった。

問題意識
以前後藤さんに直接「FreeBSDは計算に向かないOSだ」と言われた。残念であった。以前も二次キャッシュの悪いくせ: FreeBSD最悪, Linux普通、True64良好と書かれており、気になってメールをしてみたら、以下のようにお返事いただいた。

> ページカラーリングとかは当然行っていると思うのですが、
> 最近の巨大なキャッシュに対応させるようなことはしてい
> ないと思います。Linux もまだまだですが BSD 系列はメモリ管理の
> 粒度が小さすぎて、物理アドレスでの連続性があまり得られません。
> さらに、プロセスのスケジューリングでも同一のコアに固定した
> スケジューリングではなくて、コロコロと移動させてしまいます。
で、
> ま、ベンチマークをとってみれば一目瞭然
と当たり前のことを言われたので、(メールをいただいて3カ月後
であるが)ベンチマークをとってみた。


測定条件および結果

マシン: Core i7 920 (42.56-44.8GFlops) / DDR3 1066
OS: FreeBSD 8.0/amd64, Ubuntu 9.10
GotoBLAS2: 1.13

dgemmを用いた測定 (TurboBoost on)
OS : FLOPS実測   : 理論性能値比(%)
FreeBSD : 32.0GFlops : 71%
Ubuntu : 42.0-42.7GFlops : 93.8% - 95.3%


洒落にならんくらい遅いね...

最新の画像もっと見る

コメントを投稿