私たちの多くはいつか 私たちは知事たちと遊ぶ勇気があった 私たちのシステムでは、パフォーマンスの向上を実現するため、またはワークロード、アプリケーション、ゲームなどの特定の目的のためにこれが行われます。
この種の改造は、 通常は一般配布には含まれません そして、その理由は理解できます。なぜなら、これは私たちのチームのリソースの増加または減少(ケースによって異なります)につながるからです。
私がこのことを言及する理由は、最近 Googleのエンジニアが修正を提案 la デフォルト設定 インクルード Linux カーネル タイマー中断率を 250 Hz から 1000 Hz に上げます。
この変化 タスク切り替えの頻度が高くなることを意味する タスクスケジューラの時間量の削減により、特定のシナリオでは効率が向上する可能性があります。 現在、250Hz はパフォーマンス、レイテンシ、電力消費のバランスが取れていると考えられています。
提案の動機
A 賛成の主な論拠 この変化の 120Hzディスプレイ搭載デバイスのパフォーマンス最適化PC やモバイル デバイスでますます一般的になっています。現在の 250Hz 設定では、時間量子化の不正確さがフレーム時間の約半分になり、リソース割り当ての効率に影響します。
さらに、次のことが観察されています。 動的電圧および周波数スケーリングメカニズム (DVFS) 積極的な周波数選択戦略を採用する傾向がある 速度低下を避けるため。これにより、タスクの処理がすでに終了しているにもかかわらず、プロセッサのタイム クォンタムがまだ期限切れになっていないため、プロセッサがより高い周波数で動作し続ける場合、不必要な電力消費が発生する可能性があります。
増加 タスク切り替えの頻度 以下が可能になります:
- 動的周波数管理 (DVFS) の効率が向上しました。
- タスク スケジューラの時間の割り当てがより正確になります。
- CPU 負荷統計の更新頻度を増加しました。
- 保留中のタスクの待機時間が短縮されました。
- 改正案に反対する意見
その部分については、 別のGoogleエンジニアはこれに反対した。 この変化に伴って、 タイマー周波数を250Hzに保つことは、低電力デバイスにとって最も有益である。IoTボードやモバイルデバイスなど。
彼の評価によれば、 周波数を 1000 Hz に上げると、消費電力が増加する可能性があります。 たとえば、Android デバイスでは、特定の状況でプロセッサ消費量が最大 7% 増加することが確認されています。
さらに、 タイマーの頻度が高いほど、再起動の頻度も高くなります。 CPU の。 250 Hz では、t+1 ms、t+2 ms、t+3 ms、および t+4 ms にスケジュールされたタイマーが 1000 つのウェイクアップにグループ化されますが、XNUMX Hz では XNUMX つの個別のウェイクアップが存在するため、電力消費が増加する可能性があります。
パフォーマンステスト結果
事件について、ポータル フォロニックスは一連のテストを実施した AMD Ryzen 9 9950X CPU を搭載した PC で、周波数変更の影響を評価します。結果はまちまちでした。
- M1000 Hz でパフォーマンスが向上:
ラマ.cpp
nginx
スーパータックスカート
Selenium
カーネルのコンパイル時間 - 250Hz で最高のパフォーマンスを発揮:
暗幕
PostgreSQL
打ち負かされていない
ゾノティック
ブレンダー
SVT-AV1
RawTherapee
のように エネルギー消費量、結果は 以下:
- 1000 Hz に設定:
平均消費電力: 144,2 W
最小消費電力: 0,18 W
最大消費電力: 202,13 W - 250 Hz に設定:
平均消費電力: 144,37 W
最小消費電力: 0,07 W
最大消費電力: 202 W
最後に、カーネル タイマーの割り込みレートを 1000 Hz に上げると、特定のユース ケース、特にタスクの切り替え頻度が高いアプリケーションや、高リフレッシュ レートのディスプレイを備えたデバイスで利点が得られることにも言及しておく価値があります。ただし、特に低電力デバイスやエネルギー効率が優先される環境では、電力消費の面でデメリットもあります。
とりあえず、 この提案はまだ議論中である コミュニティ内でのその導入は、さまざまな使用シナリオにおける影響のより深い分析に依存します。