デスクトップを加速する新スケジューラー 20
ストーリー by Oliver
2.6が待ちきれない 部門より
2.6が待ちきれない 部門より
yosshy曰く、"KernelTrap より。Intel Xeon 等に搭載されているハイパースレッディング対応のスケジューラの投稿が発端となり、Linux の著名なハッカー達が X やマルチメディアアプリケーションの応答性などについて議論や評価を重ねた成果が 2.5.65 に採用される予定です。これにより、X などの UI やストリーミング再生などマルチメディア系のアプリケーションの応答性が大幅に改善される事でしょう。
この新スケジューラ誕生劇は、皆でアイデアやサンプル実装を検討・評価するというオープンソースの成果の典型的な一例と思います。"
HT対応スケジューラに関する論文とプレゼン (スコア:5, 参考になる)
HT対応スケジューラについての参考資料です。
>Intel Xeon 等に搭載されているハイパースレッディング対応のスケジューラ
http://lc.linux.or.jp/lc2002/detail.html#c12
上記から引用
論理 CPU 間での共有リソース競合を考慮する必要がある
Hyper Threading 機能を持つ最新 CPU について、
各スケジューラの性能測定および改良について検討する。
去年のLinux Conference 2002で聞いた内容です。
ここに論文やプレゼンのpdfがありHT技術の論理CPUなどに
考慮したスケジューラについての研究結果が報告されています。
#勘違いで全然関係なかったらマイナスモデお願いします。
-------------------------- 探し物は見つかりましたか? sk1y2k
kernel 2.4.20用 Desktop Tuning patch (スコア:3, 参考になる)
2.4.20にあてられるDesktop Tuning のパッチがあります。
これは、ここで紹介されているHTとはちがうのでHTがつかえない
マシンでもOKです。
そのプロトタイプの作成者の中島淳氏のプレゼン資料 (スコア:3, 参考になる)
プレゼン資料[英語] Enhancements for Hyper-Threading Technology in Linux - Looking at the Micro-Architecture Level [www.osdl.jp]が公開されていますので、ご参考まで。
Re:そのプロトタイプの作成者の中島淳氏のプレゼン資 (スコア:1)
developerWorksにも関連記事 (スコア:2, 参考になる)
trueOne
Re:developerWorksにも関連記事 (スコア:0)
でも、やってるベンチマークがしょぼい:-P
うまく説明できなくて、なおかつ当たり前ですけど、
単純なSMPじゃないんですよねえ。だから従来のSMP対応の
Windows 2000では性能が出ないのといっしょかな。
Intelが言う注意点はスピン・ウェイトだったかなあ。
デベロッパーサイト [intel.com]にはWh
HT対応CPUじゃなくても効果があるということ? (スコア:1)
Re:HT対応CPUじゃなくても効果があるということ? (スコア:2, 参考になる)
2.5.2+で、MontaVistaの0(1)スケジューラが取り込まれていますが、これも謳い文句の割にはマルチメディア系の処理はイマイチなようで。
きめ細かいスレッド処理が可能なスケジューラなら、通常のシングルCPUでのスレッド処理でも、効果はあるでしょうね。
Re:HT対応CPUじゃなくても効果があるということ? (スコア:2, 参考になる)
一方、マルチメディア系で求められるのは、応答時間が保証されるリアルタイム性ですから、スケジューリングの戦略が異なります(両立は容易ではない)。
古い実装だとプロセス増加でスケジューリングのオーバーヘッドが増え、特にマルチプロセッサのとき顕著だ、ということです。オーバーヘッド増加の原因としてスケジューリングでアクセスするプロセス情報がメモリの広範囲に及ぶ(キャッシュミスを起こしやすい)と言うのがあり、この問題を解決すると、マルチプロセッサや HT での性能はもちろん、従来のプロセッサでも性能が上がります。
前から BSD に比べて Linux のスケジューリング(高負荷時の応答性、バックグラウンドでコンパイルしてるときシェルの応答性とか)が悪いなぁ、と思っていたんですが、まんざら気のせいでもなかったようです。高負荷時のパフォーマンスは BSD の方が良いというのはスケジューラの出来の差でしょう(TCP スタックの出来もあるけど)。 まあ、高負荷な状況で使う人じゃないとあまり違いはないんでしょうけどね。
の
Re:HT対応CPUじゃなくても効果があるということ? (スコア:1, 興味深い)
async mountにあると指摘しておきます。
dirtyなメタデータの書き込みにはかなりのメモリと時間が 必要なのですが、async mountの場合は高負荷かつ メモリが足りない状況でこの処理が発生することが多く、 著しく性能が低下してしまいます。
対策は行われつつあるので、近いうちに改善されることでしょう。
Re:HT対応CPUじゃなくても効果があるということ? (スコア:1)
http://hardmeter.osdn.jp/prosym.pdf あたりを参照してください。
Re:HT対応CPUじゃなくても効果があるということ? (スコア:0)
0(1)じゃなくてO(1)です。
MontaVistaではなく、Ingo Molnarです。
Re:HT対応CPUじゃなくても効果があるということ? (スコア:1)
組み込みLinux Vol.1の解説でO(1)スケジューラとMontaVistaのノンプリエンティブカーネルの記事を読んでて、O(1)の方は作者についての記載がなかったため、スケジューラもMontaVistaと勘違いしておりました。
おまけにこの記事で 0(1) と記述されてたので、てっきり 0(1) だと思いこんでました。
Re:HT対応CPUじゃなくても効果があるということ? (スコア:0)
変なtypo (スコア:1)
私はよく、「O(オー)」と「0(ゼロ)」をtypoします。彼もそうだという主張ではないですが、こういう例もあるってことで。で、どういうわけか、
みたいなtypoもやらかしちゃうんですよね。i/1のtypoは文字の形状から混同しているのかというと、そうでもないようでl(小文字のエル)はミスすることないんですよ。自分でもよくわからんtypoです。
#まったくのオフトピックだけどID
Re:HT対応CPUじゃなくても効果があるということ? (スコア:0)
Re:HT対応CPUじゃなくても効果があるということ? (スコア:0)
使用感 (スコア:1)
高負荷下での応答性は2.4のスケジューラより良いのではないかと思いました。
ただ、LKMLで流れたベンチマークテストの結果では、性能が最大で半分まで
落ち込んでいたのが気になります。
あ、あとOpenOfficeはやっぱり動かなかったw
-- By Grabthar's Hammer!
MAX_SLEEP_AVG って? (スコア:0)
勉強しなおしだわさ~
Re:MAX_SLEEP_AVG って? (スコア:2, 参考になる)
とかすると、フロントエンド(特にX)での応答性が、極端に悪くなります。みんなこの点に不満だらけだったの。Ingoは「niceして」と言っていたけど、Linusは「いちいちniceするなんて!」と言って、この点の改善に乗り出したわけ。
sleep_avgは、コードからだと、sleepしている時間で、これが長いものを調べて、割り込みの延長にあるもの(応答性が必要)ではないものについては、わざとsleepしていた時間を、短く記録するの。
この値は、タスクがランキューに入る時の優先度ボーナスの要素なので、これが小さいタスクは、低い優先度しか与えられないの。つまりサービスは優先度が低くなる、というパッチなのね。
bk10では最大優先度の実行時間も短く(200ms)抑えられているようなので、効果はあるのかもね。
#笑い男なのでAC