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スケジューラを使っている場合には発生しないようです。今のところ原因は不明です。優先度の高い問題として原因解明と改善の作業が取り組まれることになりそうです。

おすすめ記事

記事・ニュース一覧