AndroidカーネルのAutoFDO最適化でスマホの速度とバッテリーを改善

GoogleはAndroidカーネルに新しい最適化技術を導入している。カーネルはOSの核となる部分で、プロセッサーとアプリケーション、ハードウェア間のやり取りを管理する。この手法は「Automatic Feedback-Directed Optimization(AutoFDO)」と呼ばれ、システムが実際のデバイス使用から学習し、コードを再構成して効率的なパフォーマンスを実現する。

Androidカーネルは全体のパフォーマンスにおいて重要な役割を担う。Googleによると、スマートフォンのCPU時間の約40%を占めるという。このレベルでのわずかな改善でも、アプリの起動速度やインターフェースの滑らかさ、消費電力に大きな影響を与える可能性がある。従来は、コンパイラーが一般的なアルゴリズムと仮定に基づいてコードを最適化しており、実際の使用シナリオは考慮されていなかった。

現在、Googleはラボ環境でPixelスマートフォンを使用してデータを収集している。テスト中、システムは最も人気のある100のアプリを実行して積極的に使用し、プロファイリングツールがカーネルのどの部分が最も頻繁に使用されるかを特定する。これらのホットスポットは、カーネルが再構築される際に優先的に最適化される。

これにより、コンパイラーはコードをより合理的に整理し、最も需要の高いプロセスの実行を高速化できる。結果として、ユーザーはアプリの起動が速くなったり、マルチタスクがよりスムーズになったり、バッテリー寿命が延びる可能性があることに気付くかもしれない。

この技術は、現在のシステムバージョンで使用されているandroid16-6.12およびandroid15-6.6ブランチですでに実装されている。今後、GoogleはAutoFDOを追加のカーネルコンポーネントやカメラ、モデムモジュールを含むハードウェアドライバーに拡張する計画だ。この動きは、将来のAndroidリリースでさらなるパフォーマンス向上をもたらす可能性がある。