論文の概要: Kops: Safely Extending the eBPF Compilation Pipeline with Native Operations
- arxiv url: http://arxiv.org/abs/2606.24213v1
- Date: Tue, 23 Jun 2026 06:55:36 GMT
- ステータス: 翻訳完了
- システム内更新日: 2026-06-24 22:16:48.816089
- Title: Kops: Safely Extending the eBPF Compilation Pipeline with Native Operations
- Title(参考訳): Kops: eBPFコンパイルパイプラインをネイティブ操作で安全に拡張
- Authors: Yusheng Zheng, Zhengjie Ji, Weichen Tao, Hao Sun, Wei Zhang, Dan Williams, Andi Quinn,
- Abstract要約: eBPFはネットワーク、可観測性、セキュリティなどの領域でOSカーネルを安全に拡張する。
ユーザスペースコンパイラやカーネルモジュールがカーネルコアを変更することなく,新たな操作を導入することができる拡張インターフェースであるKopsを紹介する。
x86-64とARM64では、EInsnはEBPFマイクロベンチマークを最大24%スピードアップし、プロダクションアプリケーションを最大12%スピードアップする。
- 参考スコア(独自算出の注目度): 7.784560830656191
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: eBPF safely extends OS kernels in domains such as networking, observability, and security. The safety comes from an in-kernel compilation pipeline where a verifier checks every program, and a kernel just-in-time compiler (JIT) translates the verified bytecode to native code. The kernel keeps the JIT simple to stay trustworthy, translating one bytecode instruction at a time in a single pass. This single-pass design misses optimization opportunities, so eBPF runs up to twice as slow as natively compiled code in our characterization. Adding optimizations to the kernel JIT directly requires upstream acceptance and a long release cycle, enlarges the trusted computing base (TCB), and grows the per-architecture kernel code. To address this, we present Kops, an extension interface that lets userspace compilers and kernel modules introduce new operations without modifying the kernel core, while keeping a minimal trusted computing base (TCB). Each operation has two forms, a proof sequence of vanilla eBPF instructions that the existing verifier checks and a native emit of machine instructions that the JIT compiles. Because the verifier checks the proof sequence, the native emit is the only per-operation addition to the TCB. Hardware idioms are the lowest-hanging fruit for this interface. With Kops, we build EInsn, seven operations such as rotate and conditional select that CPUs execute as single instructions. Lean 4 proofs show that each native emit computes the same result as its proof sequence. On x86-64 and ARM64, EInsn speeds up eBPF microbenchmarks by up to 24% and production applications by up to 12%. The same interface also supports whole-program native replacement, reaching 2.358x at the cost of a larger TCB.
- Abstract(参考訳): eBPFはネットワーク、可観測性、セキュリティなどの領域でOSカーネルを安全に拡張する。
安全性は、検証者がすべてのプログラムをチェックし、カーネルのジャスト・イン・タイムコンパイラ(JIT)が検証済みのバイトコードをネイティブコードに変換する、カーネル内コンパイルパイプラインから得られる。
カーネルはJITを信頼できる状態に保ち、一度に1つのバイトコード命令を1回のパスで翻訳する。
このシングルパス設計は最適化の機会を逃しているため、EBPFは私たちの特性のネイティブコンパイルコードの2倍の速度で動作します。
カーネルJITに最適化を追加するには、アップストリームの受け入れと長いリリースサイクル、信頼されたコンピューティングベース(TCB)の拡大、アーキテクチャごとのカーネルコードの拡大が必要である。
これを解決するために,ユーザスペースコンパイラやカーネルモジュールがカーネルコアを変更することなく,最小限の信頼性計算基盤(TCB)を維持しながら,新たな操作を導入することができる拡張インターフェースであるKopsを提案する。
各操作には2つの形式があり、既存の検証器がチェックするバニラeBPF命令の証明シーケンスとJITがコンパイルするマシン命令のネイティブ出力である。
検証器は証明シーケンスをチェックするため、ネイティブエミットはTCBへの操作あたりの唯一の加算である。
ハードウェアイディオムは、このインターフェースの最低値である。
Kopsでは、CPUが単一命令として実行するローテーションや条件選択といった7つの操作であるEInsnを構築します。
リーン4の証明は、各ネイティブエミッションがその証明シーケンスと同じ結果を計算していることを示している。
x86-64とARM64では、EInsnはEBPFマイクロベンチマークを最大24%スピードアップし、プロダクションアプリケーションを最大12%スピードアップする。
同じインタフェースはプログラミング言語全体のネイティブ置換もサポートしており、TCBのコストで2.358倍に達した。
関連論文リスト
- FastKernels: Benchmarking GPU Kernel Generation in Production [15.284289018908781]
LLMベースのGPUカーネル生成エージェントは急速に進歩している。
しかし、彼らの進歩は最適化されたベンチマークによって制限されています。
Fast Kernelsはプロダクショングレードの推論フレームワークで、強化されたシステムと同等に動作する。
論文 参考訳(メタデータ) (2026-05-22T04:19:04Z) - KGym: A Platform and Dataset to Benchmark Large Language Models on Linux Kernel Crash Resolution [59.20933707301566]
大規模言語モデル(LLM)は、ますます現実的なソフトウェア工学(SE)タスクにおいて一貫して改善されている。
現実世界のソフトウェアスタックでは、Linuxカーネルのような基本的なシステムソフトウェアの開発にSEの取り組みが費やされています。
このような大規模システムレベルのソフトウェアを開発する際にMLモデルが有用かどうかを評価するため、kGymとkBenchを紹介する。
論文 参考訳(メタデータ) (2024-07-02T21:44:22Z) - Harnessing Deep Learning and HPC Kernels via High-Level Loop and Tensor Abstractions on CPU Architectures [67.47328776279204]
この研究は、効率的でポータブルなDeep LearningとHigh Performance Computingカーネルを開発するためのフレームワークを導入している。
1)プロセッシングプリミティブ(TPP)を用いた計算コアの表現と,2)高レベルな宣言的手法でTPPのまわりの論理ループの表現の2つのステップでカーネルの開発を分解する。
我々は、スタンドアロンカーネルと、さまざまなCPUプラットフォームにおける最先端実装よりも優れたエンドツーエンドワークロードを使用して、このアプローチの有効性を実証する。
論文 参考訳(メタデータ) (2023-04-25T05:04:44Z) - HDCC: A Hyperdimensional Computing compiler for classification on
embedded systems and high-performance computing [58.720142291102135]
この研究は、HDC分類メソッドの高レベルな記述を最適化されたCコードに変換する最初のオープンソースコンパイラである、ネームコンパイラを紹介している。
nameは現代のコンパイラのように設計されており、直感的で記述的な入力言語、中間表現(IR)、再ターゲット可能なバックエンドを備えている。
これらの主張を裏付けるために,HDC文献で最もよく使われているデータセットについて,HDCCを用いて実験を行った。
論文 参考訳(メタデータ) (2023-04-24T19:16:03Z) - CryptOpt: Verified Compilation with Randomized Program Search for
Cryptographic Primitives (full version) [12.790826917588575]
暗号は例外であり、多くのパフォーマンスクリティカルなルーチンがアセンブリで直接書かれてきた。
CryptOptは、GCCやClangが生成するものよりもはるかに高速なアセンブリコードに高レベルの暗号関数プログラムを専門とする、最初のコンパイルパイプラインである。
形式検証の面では、FiatOptフレームワーク(関数型プログラムをCライクなIRコードに変換する)に接続し、新たに公式に認証されたプログラム等価チェッカーで拡張する。
論文 参考訳(メタデータ) (2022-11-19T11:07:39Z) - UNIT: Unifying Tensorized Instruction Compilation [11.193044425743981]
ハードウェアベンダは、Intel VNNI、Core、ARM-DOTなどの混合精度操作に対して、テンソル化命令を提供する。
これに対するコンパイルテクニックの欠如は、これらの命令の活用を困難にしている。
これらの命令のコンパイルを統一するコンパイラフレームワークを開発する。
論文 参考訳(メタデータ) (2021-01-21T06:22:58Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。