FreeBSD Daily Topics
2007年11月21日 ULE & MPスケーラビリティ,2 QuoadCore vs 2 DualCore調査,ULE低nice値問題
heads-up
- ULE & MPスケーラビリティ
current - ULEはすでにかなり完成度の高いスケジューラと評価されていますが,リリーススケジュールには間に合わないということですでにひとつ先のリリースとなる7.1-RELEASEでの導入とされています。さらに優先度が低く設定されているプロセスでスケジューリング実装に問題があるのではないかという報告がされるなど,7.1での導入という判断は概ね正しかったことになりそうです。
リリースエンジニアリングが実施されている現期間において,マルチプロセッサに対するスケーラビリティについて問題が指摘されています。どうもVFSにおけるlockmgr実装に原因があるようです。現状の実装でもすでに8コアまでのスケーラビリティが確認されていますが,場合によってはlockmgrコンテンションの影響で4コアまでしかスケールしないことがあるようです。
すでに新しい実装は開発されていますが,リリースまでに同実装が取り込まれるかどうかはスケジュール的にも厳しいものがあります。8コアにおいて汎用的なスケーラビリティを期待する場合はパッチを適用した7.0/6.3を使うか,7.1の登場まで待った方がいい,という状況になる可能性もあります。ただし別の問題が原因になっている可能性もあり,リリーススケジュールと今後の動向が注目されます。
src
- 2 QuoadCore vs 2 DualCore
stable - stableメーリングリストにおいてXeon 3.2GHz × 2,Xeon 5120 DualCore × 2,Xeon 5320 QuadCore × 2を使った性能評価の結果,QuadCoreの性能があまり発揮されていないと報告された件についてですが,どうやらlockmgrまわりで発生しているコンテンションが性能のスケーラビリティ欠如の原因になっているのではないか,という意見があげられています。
lockmgrをもっと効率がよい実装へ変更する作業についてはすでに大半が完了していますが,試験を実施してシステムソースコードにマージしていく作業の段階にはまだ達していません。このため,同改善は次のリリース(7.0/6.3-RELEASE)には盛り込まれない可能性があります。lockmgrコンテンションによるスケーラビリティ制限についてはパッチの形で7.1-RELEASEまでの間の暫定的に提供されることになるのではないかとみられます。ただし別の問題が原因になっている可能性もあり,今後の動向が注目されます。
- ULE
current - currentメーリングリストにおいて,優先度の低いnice値またはreal-timeプライオリティが指定されている場合に,そのプロセスに対して適切なスケジューリングがおこなわれていないのではないか,という指摘があげられています。同問題はULEスケジューラを採用している場合に発現し,4BSDスケジューラを使っている場合には発生しないようです。今のところ原因は不明です。優先度の高い問題として原因解明と改善の作業が取り組まれることになりそうです。
FreeBSD Daily Topics
- 2007年11月30日 FreeBSD 6.3-RC1公開,random(4)やurandom(4)に脆弱性,gtar(1)に脆弱性
- 2007年11月29日 sysctl値“vm.max_wired”導入―memtestなどで活用,setuid executableチェックにZFSも追加,Firefoxアップグレード他多数
- 2007年11月28日 RELENG_6_3のタグ登場,EC Ultra改善,em(4)デバイスドライバアップデート,hdaサポートの改善他
- 2007年11月27日 2 QuoadCore vs 2 DualCore調査,Ports Collection状況,nvidiaドライバ更新
- 2007年11月21日 ULE & MPスケーラビリティ,2 QuoadCore vs 2 DualCore調査,ULE低nice値問題
- 2007年11月20日 FreeBSD 7.0-BETA3公開,Hot-e HL200カーネルコンフィグ追加,2 QuoadCore vs 2 DualCore問題他
- 2007年11月19日 FreeBSD 6.3-BETA2公開,Ports Collectionの作業状況,JDK14/15/16アップデート,Thunderbirdアップデート
- 2007年11月15日 mdconfig(8)のマニュアルにCDイメージのマウント例を追加,pkg_add(1)に-iを追加,killall(8)を改善,ata(4)実装をRELENG_6へMFC
- 2007年11月14日 システムチューニングマニュアルtuning(7)更新―gjournal(8),gstripe(8),gvinum(8)の記述を追加しvinum(8)を削除,セキュリティ向上のため7.0でHyperThreading機能をデフォルトで無効へ
- 2007年11月13日 読み込みアクセスに最適化された新しいロック実装rmlock(9)の追加、FreeBSD Update改善他

