FreeBSD Daily Topics

2008年2月20日2007Q4 FreeBSDステータスレポート - Ports 2.0、SMPネットワークスケーラビリティ、FreeBSD Installer、Coda、MIPS他多数

heads-up

2007Q4 FreeBSD Quarterly Status Report

2007年10月~12月までの活動状況報告FreeBSD SRが公開されました。

Ports 2.0

SR - Ports 2.0のプロジェクトが進められています。現状では初期の要求定義、開発ツールの選定、一般的な内部デザインの設計が終わった段階です。Ports 2.0は長い時間をかけてPorts 1.0から入れ替えていく予定で、現状のPorts 1.0との互換性の確保とドキュメントの整備も実施されます。

今後はエンジンの開発、ドキュメントの整備、コンセプトプルーフの開発(X.Orgのビルドで検証⁠⁠、メーリングリストとWebサイトの整備が計画されています。

Ports Collection

SR - Portの総数は18,000を超えています。

7.0がリリースされてからPorts Collectionにいくつか重要な変更が加えられます。KDE 4.0へのアップグレード(現在試験中⁠⁠、gettextのアップグレード、libtoolのアップグレード、Perl 5.10の導入、XFree86の削除、期限切れになったportの削除などです。

gettextやlibtoolのアップグレードは多くのアプリケーションの再構築を迫ることになりますので、/usr/ports/UPDATINGを注意深く監視しつつ、アップグレードが実施されから全部一旦削除してから入れ替えるくらいの気持ちでいたほうがいいでしょう。一足先にKDE4を使いたい場合はKDE4 - FreeBSD Wiki(http://wiki.freebsd.org/KDE4)を参考にしてみてください。

SMP network stack scalability

SR - ネットワークスタックのマルチコア/プロセッサスケーラビリティを改善するさまざまなプロジェクトが進行しています。これらプロジェクトではBIND9、MySQL、PostgreSQL、Apacha HTTP Serverといったアプリケーションを使ってパフォーマンスボトルネックを明かにし変更すべきポイントを発見しています。

FreeBSD Installer

SR - finstall以外にもThe FreeBSD Installer projectのもとでsysinstall(8)を置き換えるべくインストーラの開発が進められています。同開発ではsysinstall(8)の利点を活かしつつ、BSDInstaller ⁠bsdinstaller.org)において提供されているフレームワークを使って多言語対応、複数のインストールメディア対応、リモートインストール対応、拡張容易なシステムの開発が進められています。finstallとともにこちらの開発にも注目です。

Coda

SR - 分散ファイルシステムCodaのカーネルモジュールコードが大幅に改善されました。改善の取り組みは現在でも活発におこなわれています。もともとCodaの動作が不安定になっていたのは、度重なるFreeBSD VFSの機能拡張に対応していなかったことに起因しています。

今回対応が実施されたことで、7/8において即時にパニックすることなく動作するようになりました。依然として実験的実装でありまだプロダクトレベルで使える段階ではありませんが、以前と比較してだいぶましになっています。

FreeBSD/mips

SR - Juniper NetworksがMIPS FreeBSD移植コードを寄贈しました。このコードは実際のハードウェアでそのまま動作するものではありませんが、MIPSで動作させるにあたってきわめて有益なものです。現在FreeBSD/mips関係者は既存のコードとJuniper Networksの寄贈コードのマージを進めています。

procstat(1)

SR - ファイルディスクリプタ、スレッド、カーネルスレッドスタック、クレデンシャル、プロセスの仮想メモリマッピングなどのプロセス情報を表示するためのコマンドprocstat(1)が新しく8-CURRENTへ追加されました。これに応じて新しいsysctl値がいくつか導入されたほか、stack(9)機能が拡張されています。

Bug Busting

SR - ユーザとデベロッパの間に存在するギャップを認識しバグ修正に取り組む作業が進められています。取り組みの一環としてだいぶ前のことになりますが、EFNetの#freebsd-bugbustersチャンネルにおいて初のBugathonが開催されました。

30名以上が参加し、結果として120をこえるPRが修正されました。他にも作業手順に関する議論や取りまとめが行われ、いくつかの提案が行われいます。こうした取り組みが現在のGNATSを入れ換えようというものではなく、作業手順を改善することでバグ修正への取り組みを改善しようという目的を持っています。

TCP Code Cleanup and Rewrite

SR - FreeBSDのTCPコードは多くの機能追加をへて複雑になりました。今回、ふたたび以前のように可読性を高め追跡やメンテナンスを容易にし、検証性を向上させ、新しい輻輳制御アルゴリズムの拡張性を向上させ、さらにパフォーマンスの向上を目的として主なTCPコードのクリーンナップと書き換えが実施されました。

malloc(3)

SR - マルチスレッドプログラムが並列にmalloc(3)関数を使った場合に発生するロックコンテンションを削減するためにmalloc(3)関数の拡張が実施されました。主な拡張は遅延デアロケーションとダイナミックアリーナロードバランシング機能です。

TCP Reassembly Queue Optimization

SR - 従来のFreeBSD TCP再構築キューシステムは4.4BSDのころのコードからあまりかわっておらず、現在の高速で大規模なネットワークに適さなくなっていると指摘されています。同問題を解決するために新しくコードが開発され試験されています。FreeBSD CDイメージファイルやPorts Distfilesを世界中のサイトから取得する私見で2%パケットロス程度ですんでおり、動作も安定しています。今度はほかのTCP開発者によるレビューや最適化が実施されます。

DTrace

SR - Cisco Systemsのサポートもあり、DTraceダイナミックトレーシングフレームワークが再びFreeBSDでも有効になりました。CDDLとBSDライセンスに関する懸念があったわけですが、同問題を解決する方法がみつかりました。BSDライセンスで開発されたライブラリを使ってCDDL部分の機能拡張を活用できるようになりました。

DDB

SR - カーネルデバッグ機能に新しくDDB scripting、DDB output capture、DDB textdumpが追加されました。同機能は8にマージされています。7.0リリース後に7系へマージされる予定です。

nxge(4)

SR - Neterion Xframe 10GbE Server/StorageアダプタドライバがNeterionより寄贈され8-CURRENTへマージされました。7にも移植され、7.0にも登場します。

Xen

SR - Xenは今のところi386/PAEプラットフォームにおいてゲスト(たとえばdomU)として動作します。dom0のサポートは今のところロードマップには上がっていません。Xen 3.0.3はまだサポートされていません。amd64およびSMPのサポートは6/7をターゲットに実施されると見られます。

TrustedBSD Audit

SR - The TrustedBSD ProjectはOpenBSM 1.0を公開しました。OpenBSMは6.3/7.0でプロダクションリリースを迎えたことになります。

おすすめ記事

記事・ニュース一覧