オープンソースカーネルスケジューラでMeta広告サービスを刷新Modernizing the Meta Ads Service With an Open-Source Kernel Scheduler
匿名の公開いいねです。記事の保存・お気に入りではなく、Featured、Top 3、重要度、掲載順位には影響しません。仕組みとプライバシーAnonymous public likes are reactions, not saved articles or bookmarks. They do not affect Featured, Top 3, importance, or listing order.How it works and privacy
- MetaはLinuxカーネルのスケジューラをオープンソース化し、広告サービスのレイテンシとスループットを大幅に改善した。
- この取り組みはコミュニティへの還元と本番環境での実証を兼ねる点で重要だ。
Meta modernized its ads serving infrastructure by adopting an open-source kernel scheduler, achieving meaningful gains in latency and throughput while contributing the work back to the broader Linux community.
本ページの本文と要約は AI による自動生成です。日本語版と英語版は言語ごとに独立して生成されるため、表現や詳しさが異なる場合があります。正確性は元記事 (engineering.fb.com) をご確認ください。The body and summaries are AI-generated independently for each language, so wording and detail may differ. Verify accuracy at the original source (engineering.fb.com).
要約と収集メタデータに基づく AI 解説。元記事全文の転載・翻訳ではありません。AI explainer based on the summaries and collected metadata, not a copy or translation of the full source article.
Metaは、自社の広告配信基盤をオープンソースのLinuxカーネルスケジューラを用いて刷新し、レイテンシとスループットの両面で明確な改善を得たと明らかにした。同社はこの成果をLinuxコミュニティへ還元しており、大規模な本番環境での実証とオープンソースへの貢献を同時に果たした点が注目される。
カーネルスケジューラは、CPU上でどのプロセスやスレッドをいつ実行するかを決める中核的な仕組みだ。Linuxは長らく汎用的なCFS(Completely Fair Scheduler)を標準採用し、近年はEEVDFと呼ばれる方式へ移行してきた。これらは幅広い用途で無難に動くよう設計されているが、特定のワークロードに常に最適化されているわけではない。
近年注目を集めているのが、BPFを使ってスケジューリング方針をカーネル外から柔軟に記述できるsched_ext(拡張スケジューラ)だ。この仕組みはMetaやGoogleが開発を主導し、Linux 6.12で本体に取り込まれた。カーネルの再ビルドや再起動を伴わずにスケジューラを差し替え・検証できるため、実サービスでの試行錯誤が容易になる利点がある。
広告配信は、膨大なリクエストを低遅延で処理しつつ高いスループットを維持する必要があり、スケジューリングの影響を受けやすい領域だ。Metaは自社の負荷特性に合わせたスケジューラを適用することで、テール遅延の低減やCPU効率の向上を狙ったと見られる。汎用設計では取りこぼしがちな細かな挙動を、自社ワークロードに寄せて調整できる点が鍵になったと考えられる。
こうした取り組みは、企業が本番で鍛えた技術をアップストリームへ戻す流れの一例でもある。実運用での知見が反映されたコードはコミュニティ全体の資産となり、他社が同様の最適化を試す際の土台にもなり得る。ハードウェアの多様化やコア数の増加が進むなか、ワークロードに応じてスケジューラを柔軟に調整できることの価値は、今後さらに高まる可能性がある。
Meta has detailed how it rebuilt part of its advertising serving infrastructure around an open-source Linux kernel scheduler, reporting measurable improvements in both latency and throughput. The work matters because ads serving is one of the company's most performance-sensitive and resource-intensive workloads, and because the underlying technology was developed in the open and contributed back to the wider Linux community rather than kept as a proprietary advantage.
At the center of the effort is sched_ext, an extensible scheduling framework that allows CPU scheduling policies to be written as BPF programs and loaded into a running kernel. Traditionally, the Linux CPU scheduler has been a fixed component compiled into the kernel; changing its behavior required patching kernel source, rebuilding, and rebooting fleets of machines. sched_ext changes that model by letting engineers express scheduling logic in safe, sandboxed BPF code that can be swapped in and out at runtime. If a custom policy misbehaves, the kernel can fall back to its built-in scheduler, which lowers the risk of experimenting in production. sched_ext was merged into the mainline Linux kernel in version 6.12, released in late 2024, after a lengthy review process, and Meta engineers were among its primary authors and advocates.
The practical appeal for a workload like ads serving is that a general-purpose scheduler must balance the needs of every possible application, while a purpose-built policy can be tuned to the specific characteristics of a single service. Ad ranking and delivery involves large numbers of threads competing for CPU time, with strict tail-latency requirements because slow responses can mean missed opportunities to serve a relevant ad. By using a scheduler such as scx_layered, which groups tasks into configurable layers with distinct scheduling behavior, operators can prioritize latency-critical work, improve cache locality, and reduce contention on shared resources. Meta reports that applying these techniques to its ads stack yielded gains that appear significant enough to justify the operational complexity, though the exact magnitude of the improvement is likely to vary across hardware generations and traffic patterns.
Understanding the change requires some context on how the Linux scheduler has evolved. For many years the default was the Completely Fair Scheduler, which was replaced in kernel 6.6 by EEVDF, or Earliest Eligible Virtual Deadline First, an algorithm designed to give better latency guarantees. Both are strong general-purpose choices, but neither can be deeply customized for an individual data-center workload without invasive kernel modifications. sched_ext does not aim to replace these schedulers so much as to provide a supported mechanism for rapid iteration and specialization, giving large operators a way to prototype ideas that might eventually influence the mainline scheduler itself.
The broader ecosystem around this work is worth noting. sched_ext builds on eBPF, the in-kernel virtual machine that has become a foundation for modern observability, networking, and security tooling, powering projects such as Cilium and a wide range of tracing utilities. A community collection of schedulers, often referred to as the scx project, includes implementations like scx_rusty, scx_lavd, and scx_bpfland, several of which are written partly in Rust and target different goals such as gaming responsiveness, server throughput, or energy efficiency. This reflects a wider industry trend of moving performance-critical logic into programmable kernel interfaces, and of hyperscalers contributing infrastructure improvements upstream so they can share maintenance costs and avoid diverging from the mainline kernel.
Contributing the work back to open source carries strategic as well as technical benefits. Upstreaming means Meta's custom scheduling logic can be validated by outside maintainers, benefit from community fixes, and remain compatible with future kernel releases, reducing the long-term burden of carrying private patches. It also gives other organizations a proven starting point, since the code has been exercised against real production traffic at large scale rather than only in synthetic benchmarks.
For readers evaluating similar approaches, the key takeaway is that programmable scheduling is maturing from research into production practice, but it remains an advanced technique. Realizing gains depends on careful workload profiling, willingness to maintain custom policies, and infrastructure to safely roll changes back. Meta's account suggests the trade-off can pay off for the largest and most latency-sensitive services, while remaining an emerging option for the broader industry.
ポコとTECHガイドPoko & TECH Guide
ポコと当サイトのTECHガイドが、記事の要約と収集した情報から読みどころを語るAI生成の対話です。Poko and TECH Dashboard's own TECH Guide discuss the article's highlights in an AI-generated conversation based on its summary and collected source details.
- ポコPoko「sched_ext」って何? 広告サービスとどう関係するの?What is sched_ext, and what does it have to do with serving ads?
- TECHガイドTECH Guide簡単に言うと、CPUが仕事を処理する順番を調整できる仕組みじゃな。記事によれば、Metaは広告配信向けの方針を作ったそうじゃよ。Simply put, it lets developers adjust how the CPU schedules work. According to the article, Meta built a scheduling policy tailored to ad delivery.
- ポコPokoそれって何が嬉しいの? 順番を変えるだけで広告配信も速くなるの?Why is that useful? Can changing the order of CPU work really make ad delivery faster?
- TECHガイドTECH Guide記事では、待ち時間を示すレイテンシと、処理量を示すスループットが大きく改善したとしておる。数ミリ秒の悪化も影響が大きいそうじゃ。The article reports major improvements in latency, meaning delay, and throughput, meaning processing volume. At Meta’s scale, even a few extra milliseconds can significantly hurt ad performance.
- ポコPokoなるほど、広告配信に合う処理順へ調整して、わずかな遅れも減らしたんだね。しかもオープンソースなんだ!Got it—they tuned the scheduling for ad delivery and reduced even tiny delays. And it’s open source too!
- TECHガイドTECH Guideそうじゃな。記事が示す見どころは、本番環境で成果を確かめつつ、その仕組みをLinuxコミュニティにも還元した点じゃよ。Exactly. The key point, according to the article, is that Meta validated the work in production while contributing it back to the broader Linux community.





