2007年2月24日(協定世界時)、The FreeBSD ProjectはFreeBSD SMPngの開発成果が目標とする水準に達したことを発表。公開されたMySQL OLTPベンチマーク(SysBench benchmark/sysbenchを使用)においてFreeBSDのスケーラビリティが大幅に改善されたこと、同条件におけるLinux 2.6.20.1と比較してコア数以上の並列処理の場合に優れた性能を示していることが説明されている。詳しくは解説記事をご覧いただきたいが、同報告は多くの関係者の関心ごとになった。

そして、2007年5月17日(米国東部標準時)に開幕したFreeBSD Developer Summitにおいて同報告に関する発表やSMP Projectの取り組み、今後の課題などが議論された。FreeBSDの今後の発展においてきわめて重要な項目であるので、SMPへの取り組みなどを含めてここでオーバービューをまとめておく。

まず結論から、結局性能はどう向上したのか?

The FreeBSD Projectは7年という長い年月をかけてマルチコア/マルチプロセッサシステムで優れた性能を発揮し高いスケーラビリティを実現するために設計と実装、実験と議論、検討を続けてきた。結局のところ、この取り組みが実を結んできたということが、2007年2月24日(協定世界時)に発表された一例ということになる。詳しくいことは解説記事にまとめられているので、そちらをご覧いただくとして、ここではその概要をまとめる。

まず、ベンチマークとしてSQLデータベースを採用したのは、性能評価でよく取り上げられるアプリケーションとして妥当であること、試験が比較的容易であることが理由として挙げられる。これまで同アプリケーションにおいてFreeBSDは性能がでないと批判されることもあったので、SQLデータベースにおいて高いスケーラビリティを示すことには説得力がある。

結果的に、MySQL 5.0.37(スレッドベース)/PostgreSQL 8.2.4(プロセスベース+SysV IPC)をAMD64システム、4デュアルコアプロセッサ(合計8コア)、3BGメモリといった構成においてMySQL/PostgreSQLの両方において従来のFreeBSDと比較して高いスケーラビリティを実現した。BSDCon 2006で発表があったjemallocとphkmallocによるベンチマークの違いなども発表された。

成果物はFreeBSD 7-currentで実装されており、これらはFreeBSD 7.0-RELEASE以降でユーザの手に届くことになる。要するにこれら取り組みによってFreeBSDは、マルチコア時代のOS(少なくとも10コア程度のプロセッサにおけるスケーラビリティの高さは示されたわけだ)としてふさわしい基礎技術を実装したということがいえる。