Meta広告サービス、オープンソースカーネルスケジューラ「sched_ext」で革新:低レイテンシと省電力を達成
Meta広告サービスを支えるLinuxカーネルスケジューリングの変革
Metaは、500万件/秒以上、1日あたり4000億件以上のリクエストを処理する大規模な広告配信サービスにおいて、数ミリ秒のレイテンシ悪化が広告パフォーマンスに深刻な影響を与えるという課題に直面していました。これまでのLinuxカーネルに統合された汎用スケジューラ(CFSおよびEEVDF)は、ワークロードの特性を理解せずにスレッドをCPU間で分散させるため、広告配信ワークロードの特定の要件には最適化されていませんでした。この課題を解決するため、MetaはオープンソースかつBPFベースの拡張可能なスケジューリングフレームワークであるsched_extに着目し、広告配信ワークロードに特化したスケジューリングポリシーを開発しました。
この取り組みは、LinuxカーネルのアップグレードによってMetaの広告配信フリート全体でレイテンシが低下するリスクに対応するために開始されました。MetaのAdsチームとLinuxカーネルチームが連携し、ワークロードの目的と各スレッドの重要性を直接スケジューラに組み込むことを可能にするsched_extを利用しました。これにより、P99リクエストレイテンシを改善するタスクが優先的にスケジューリングされ、それ以外のタスクは後回しにされるというポリシーが適用されました。
Open-Source sched_extフレームワークとSCX-LAVDの実装詳細
sched_extは、Linuxカーネルv6.1に正式に導入されたオープンソースのBPFベースのスケジューラフレームワークです。これにより、カーネルに大幅な変更を加えることなく、代替スケジューラをカーネルにプラグインすることが可能になります。Metaはこのフレームワークを、GoogleのghOStの著者らと協力して設計しました。
Metaが採用したカスタムスケジューラは、ValveがSteam Deck向けに開発したSCX-LAVD(Latency-Aware Virtual Deadline)を基盤としています。LAVDは、タスクの挙動(スリープ、ウェイク、ブロックの頻度)を継続的に監視し、レイテンシに敏感なタスクを推定する機能を備えています。これらのタスクには「仮想デッドライン」が早期に設定され、システムが混雑している場合でも迅速に実行される可能性が高まります。Metaは、このLAVDを、数百のCPUコアと多様なワークロードを持つ大規模なサーバー環境に適応させるため、キャッシュ局所性の維持やネットワーク割り込みによるコアの過負荷への対応など、独自のロジックを追加しました。これらの改善は、サービスごとの設定や手動での優先度タグ付けを必要とせず、観察された挙動に基づいて適応するように設計されています。最終的に、SCX-LAVDはMetaのサーバーにおける「新たなデフォルトスケジューラ」として位置付けられています。
パフォーマンス向上とビジネスへの影響
sched_extとSCX-LAVDの導入により、Metaの広告サービスは顕著なパフォーマンス向上とビジネス価値の創出を実現しました。主要な成果は以下の通りです:
- 広告取得段階におけるテールレイテンシ(P99)の28%削減。
- 3.28メガワット (MW) の電力削減。
- ランク付けされた広告数の1.1%増加。
これらの数値は、ワークロードに特化したスケジューリング最適化が、ビジネス価値に直接貢献することを明確に示しています。P99レイテンシを削減することで、Metaプラットフォーム上のユーザーにとって広告の関連性が向上し、広告主にとってより強力なROI(投資収益率)に繋がるとされています。また、電力削減は運用コストの低減と環境負荷の軽減にも寄与します。Metaは、この取り組みを通じて、AIを活用した広告配信システム全体の効率と応答性をさらに高め、ユーザー体験と広告主のパフォーマンスを両面から改善しています。
開発者・エンジニア視点での考察
-
ワークロード特化型スケジューリングの有効性: 汎用的なLinuxカーネルスケジューラではなく、Metaの広告配信サービスのように特定のワークロード特性(高スループット、低レイテンシ要求)を深く理解し、BPFベースの
sched_extのようなフレームワークを用いてスケジューリングポリシーをカスタマイズするアプローチは、パフォーマンスボトルネックの解消に極めて有効であることが示された。これは、特にリアルタイム性やリソース効率が求められるAI/ML推論サービスなどの開発において、デフォルトのカーネル設定に依存せず、基盤となるOSレベルでの最適化を検討することの重要性を強調する。 -
既存オープンソース技術の転用とアップストリームへの貢献: ValveのSteam Deck向けに開発された
SCX-LAVDをデータセンター規模のMeta広告サービスに適用し、さらにLinuxカーネルのアップストリームプロジェクトであるsched_extの開発にGoogleと共同で貢献している点は、大規模なIT企業がオープンソースエコシステムから恩恵を受けつつ、その改善に積極的に参加する好循環を示している。開発者は、既存のニッチなオープンソースソリューションが、異なる分野の大規模な問題解決に応用できる可能性を探るべきである。 -
BPFを活用した動的なカーネル機能拡張の柔軟性:
sched_extがBPFを基盤としていることは、カーネルの再コンパイルやシステム停止なしに、実行時にスケジューリングロジックを動的にロード・更新できるという運用上の大きな柔軟性を提供している。これにより、本番環境でのA/Bテスト、迅速なパフォーマンスチューニング、緊急時のポリシー変更などが容易になり、システム運用における開発者の生産性と信頼性の両方を向上させる強力なパラダイムシフトとなる。AIモデルのデプロイメントや推論ワークロードの管理においても、このような動的なカーネルレベルの最適化技術は、今後のMLOpsにおける重要な要素となりうる。
Source / 元記事
この記事について
この記事は、公開されているニュース、論文、公式発表、RSSフィードなどをもとに、AIが要約・補足調査・考察を行って作成しています。
元記事の完全な翻訳・逐語的な要約ではなく、AIによる背景説明や開発者向けの考察を含みます。
重要な技術仕様・価格・提供状況などは、必ず元記事または公式情報をご確認ください。


