FreeBSD Daily Topics

2008年3月13日 KSE削除 M:Nスレッド実装に幕引き,malloc(3)ベンチマークFreeBSD vs Linux,vr(4)オーバーホール

この記事を読むのに必要な時間:およそ 1 分

heads-up

KSE removed

current - KSEスレッディング(M:Nスレッディング)のサポートがカーネルから削除されました。以降,KSEを使うようにダイナミックリンクでコンパイルされたアプリケーションを動作させる場合は次のように/etc/libmap.confに設定を追加する必要があります。スタティックにコンパイルされたアプリケーションは動作しなくなります。

リスト.1 KSEスレッドをダイナミックリンクで使うようにビルドしたアプリケーションを動かすために/etc/libmap.confに追加する設定

libpthread.so.1 libthr.so.1
libpthread.so.2 libthr.so.2
libkse.so.3 libthr.so.3

コミットログには,KSEプロジェクトはスレッド機能をFreeBSDにもたらすという点において十分成功を納めたものの,KSEライブラリによるM:Nアプローチ実装はそのポテンシャルを十分に発揮できるまでには開発できなかったと説明しています。すでにlibthrによる1:1アプローチがデフォルトになっています。

これはスレッド開発におけるひとつのターニングポイントとなります。マルチスレッド対応を進めるにあたって当初はM:Nスレッドが可用性が高いとして開発の目標とされました。しかしながら紆余曲折をへて最終的には1:1スレッドが採用されることになりました。いくつもの要因がありますが,中でも次のものが大きな要因としてとりあげられます。

  1. M:Nスレッドの方が適切なシーンもあるがより多くの場合で1:1スレッドで十分であること
  2. M:Nスレッドを開発しつづけるためのリソースがない
  3. M:Nスレッドに対応する要望は減り1:1で十分とする見方が増えた

Julian Elischer氏はCURRENTメーリングリストにおいてKSEのこれまでの経緯を説明し,KSEの開発におもに携わってきたデベロッパを労うとともに,この決定をもってプロジェクトを離れるようなことがないように願っていると配慮を示しています。

malloc(3) perf on FreeBSD and Linux

Kris Kennaway氏はebizzyを使ったメモリアロケーションベンチマーク結果をMemory allocation performance on FreeBSD and Linux with ebizzy(Mar 2008)で公開しています。FreeBSD 8-CURRENTとLinux 2.6.24+glibc 2.7の性能を比較しています。同結果において8-CURRENTのjemalloc実装がきわめて優れたスケーラビリティを発揮していることがわかります。またチャンクサイズを1MBにアップした場合(デフォルトでは256KB)FreeBSD/Linux双方で性能が悪化しますが,MALLOC_OPTIONS=Kを設定することで256KBの性能からみたほぼ理想的な性能が発揮できるようになることが示されています。jemallocの性能の高さはすでに折り紙つきですが,同ベンチマークでも同様の結果を得たことになりました。jemallocはFirefox 3でも採用が発表されています。

PC-BSD

FreeSBDをベースにして開発されているデスクトップOS,PC-BSDの最新版PC-BSD 1.5が公開されました。1.5はFreeBSD 6.3をベースにX.Org 7.3,KDE 3.5.8が採用されているほか,新しいシステムアップデートツールやPBIが採用されています。そのほか各種改善や音源検出機能が改善されています。FreeBSD 7.0をベースとしたバージョンは次のPC-BSDで実現される予定です。FreeBSD 7およびKDE 4という最新リリースをベースとしたOSを求める場合は,次のリリースまで待つことになります。

vr(4) overhauled

current - VIA Technologies Rhine I/II/III Ethernetドライバアダプタvr(4)がオーバーホールされました。このオーバーホールでRxパフォーマンスが発揮されない問題や信用がおけないエラーリカバリ機能,リンク状態変更イベントにおけるドライバハングなど長い間問題となってきた事項が修正されています。またすべてのアーキテクチャで動作するようにsoftcにおけるデータ構造が変更されています。今のところリグレッションエラーは報告されていませんが,問題が発生した場合には報告してください。

バックナンバー

FreeBSD Daily Topics

バックナンバー一覧

コメント

コメントの記入