モダンデュアルコアに対応したFreeBSD/powerpc

Rafal Jaworowski氏 - FreeBSD on high performance multi-core embedded PowerPC systems

組込みアーキテクチャでもっとも新しく、そしてももっとも迅速に開発が進められたのがMPC85xxに対応したFreeBSD/powerpcだ。FreeBSD/powerpcについてはRafal Jaworowski氏から発表がおこなわれた。Rafal Jaworowski氏はFreescale PowerQUICC IIIファミリのハイエンドメンバーであるMPC8572システムオンチップデバイスへのFreeBSD移植を実施。2008年3月時点のFreeBSD 8-currentのソースコードをベースに開発を開始したと説明している。

MPC8572は最近のデュアルコアだ。PowerPCアーキテクチャのBook-Eと互換性がある。FreeBSD/mipsの歴史が古く(実際に業務で活用されているのがマルチコアはシングルコアかは別の話になるが)シングルコアを主な対象としているのに対し、FreeBSD/powerpcは最初からデュアルコアで動作させることを念頭において開発が進められたという違いがある。マルチコアへの対応はSMPの形式を採用している。

FreeBSD/powerpcがFreeBSD/mipsよりも幸運なのは、同チップを搭載したボードが比較的廉価に手に入るということだ。実機があるとないのとでは移植作業の効率も違ってくる。組み込みデバイスでは暗号処理チップの活用もシステムパフォーマンスを引き上げるうえで重要になる。Rafal Jaworowski氏は同じくAsiaBSDCon2009でPhilip Paeps氏が発表したopencryptoを使ってH/Wアクセラレーションを実装。次の環境でそれぞれ計測を行い、SMPが有効に効いていること、H/Wが有効に効いていることを確認している。

  • FreeBSD-6、UP、POLLING、HZ=1000
  • FreeBSD-6、SMP、POLLING、HZ=1000
  • FreeBSD-7、SMP、POLLING、 HZ=1000

  • IPSECを使わない場合の通信速度

  • IPSEC(S/W)を使った場合の通信速度
  • IPSEC(H/W Acc.)を使った場合の通信速度

ちなみに後から教えてもらったベンチマークの結果では、FreeBSD 6から7に変えるだけで性能が向上している点にも注目しておきたい。FreeBSDは7でネットワーク処理やマルチコアの処理が高速化されており、その結果がここにも表れている。

今後の開発でさらにMPC85xxへの対応を進めて、まだ開発する必要がある部分や改善すべき部分に取り組んでいくという。マルチコアにおける性能の向上も今後取り組まれる課題ということになる。FreeBSD/powerpcの成果物は近いうちにFreeBSD 8-currentにマージするとされており、FreeBSD 8.0-RELEASEまでにはメインストリームに含めたいとしている。

ISP、数十台から数千台というクラスタリングでの活用が期待できるmipsとpowerpc

MIPSやPowerPCへの移植は自分の関係ないところで使われる成果物というわけでもない。PowerPCやMIPSを搭載した機器は小さくサーバとして運用するには適している。消費電力を抑えながらサービスを提供するとか、小さい機器を使いたいという場合、これら機材は便利に活用できる。

また規模はさまざまだが、少ないところでは数十台、大きいところでは数千台まで、組み込み機器にFreeBSDをインストールして活用したいという業界での要望がある。特にISPなどでこうした要望が顕著だ。これまでFreeBSDはi386の開発に注力してきたため、こうした機器をサポートしきれないでいた。ただしこの1年で開発が進んだこともあり、こうした機器にFreeBSDを導入して業務に活用したいという向きがある。