FreeBSD Daily Topics

2008年1月30日ULE改善報告 - より動的にスケジューリングを実施するアイデアの実装とベンチマーク、8系への導入と7.1へのバックポート他

heads-up

non-uniform cpu scheduling

current - LiveJournal.comにおいてnon-uniform cpu schedulingのタイトルのもとJeff氏の興味深い記事が掲載されています。プロセッサ特性に応じたよりダイナミックなスケジューリングに関するアイデアの紹介とベンチマーク結果を紹介した記事です。

マルチコア時代のプロセッサの性能を発揮するには、プロセッサの特性を加味したスケジューリングを実施する必要があります。キャッシュが有効に効くようにスレッドをコアに割り当てる必要がありますし、バスも考慮する必要があります。従来のスケジューラはどちらかといえばスタティックにスケジューリングを実施しています。同氏はもっとダイナミックにスケジューリングを実施するアイデアを紹介してています。

アイデアは、プロセッサにおけるコアの関係を説明したツリー構造のデータを用意して活用するというもので、1)どのリソースを共有しているか、2)どのCPUがそのセットに収まっているか、などを同ツリー構造のデータに保持するとしています。スケジューラは動的にツリーを走査し、アフィニティを考慮したそのとき最も適切なコアに処理を割り振るというわけです。

図1 pgsql sysbench on 16-core xeon
図1 pgsql sysbench on 16-core xeon
図2 mysql sysbench on 16-core xeon
図2 mysql sysbench on 16-core xeon

4コア/パッケージの16コアXeonで、PostgreSQL/MySQLを使った場合のベンチマーク結果が公開されています。

従来のスケジューリングと新しいアイデアを実装したULEスケジューラを比べると、同アイデアが優れたスケーラビリティを実現していることがわかります。MySQLのほうは8並列を越えるとどのパターンでも性能が劣化しています。

ただし、同アイデアのほうが効果的に動作することが確認できます。MySQLのスケーラビリティについては別途調査する必要がありそうです。

このアイデアと新しい実装はまだ作られたばかりですが、ベンチマークの結果は良好です。8系に取り込まれ8.0で登場することになるのではないかとされている他、バックマージを実施して7.1には導入されるかもしれないとされています。

ports

net-mgmt/hobbit-server
net-mgmt/hobbit-client

サーバおよびネットワークをモニタリングするシステムHobbitのportが新しくPorts Collectionへ追加されました。HobbitはBig Brotherモニタに影響を受けて開発されたモニタリングシステムです。ただしBig Brotherとは異なり複数のホストしかないような小規模ネットワークから数千のホストを管理している大規模ネットワークまで適用できるように設計されています。

HobbitはもともとBig Brotherに対するアドオンとして開発されていたbbgenツールキットの後継として開発されたものです。スタンドアローンプロダクトとして動作するように多くの機能が追加されてから、名称がHobbitへと変更されました。

japanese/anthy

日本語かな漢字変換システムAnthyのportが9100eへアップグレードされました。mkworddic/udict、mkworddic/compound.t、depgraph/conjugate.tableが変更されています。

www/yui

The Yahoo! User Interface(YUI)Libraryのportが新しくPorts Collectionへ追加されました。YUIはJavaScirptで開発されたAjaxアプリケーション開発用のフレームワークです。実際にYahoo!で採用されているライブラリをベースにまとめられたもので、人気のあるAjaxフレームワークの1つになっています。ライブラリはThe BSD Licenseのもとで提供されています。

dns/dnswall

DNSレスポンスにおけるプライベートIPアドレスを選別するデーモンdnswallのportが新しくPorts Collectionへ追加されました。dnswallは既存のDNSレゾルバとともに動作するように設計されており、DNSリバインディング子宇垣からネットワークを保護することを目的としています。

おすすめ記事

記事・ニュース一覧