論文の概要: 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コンパイルパイプラインをネイティブ操作で安全に拡張
- 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倍に達した。
関連論文リスト
- No Bit Left Behind: Using Brute-Force Lifting to Achieve Fully Static Binary Recompilation [1.5034998782245808]
本稿では,完全に静的なプログラム全体のバイナリリフトシステムについて述べる。
このアプローチは、x86-64バイナリからLLVM IRへのプロトタイプバイナリランタイムとして実装されており、コード/データランタイムは必要ありません。
論文 参考訳(メタデータ) (2026-09-14T23:00:09Z) - SEDCoT: Enhancing LLM-Based COBOL Code Translation via Symbolic Execution and Delta Debugging [49.898541267264115]
古い技術や疎結合なドキュメンテーション、開発者の引退などによって、メンテナンスはますます難しくなっている。
従来のルールベースのトランスコンパイラは、読み書きが難しい出力を出力する。
本稿では,新しいC言語翻訳フレームワークであるSEDCoTを提案する。
論文 参考訳(メタデータ) (2026-07-05T03:07:10Z) - FastKernels: Benchmarking GPU Kernel Generation in Production [15.284289018908781]
LLMベースのGPUカーネル生成エージェントは急速に進歩している。
しかし、彼らの進歩は最適化されたベンチマークによって制限されています。
Fast Kernelsはプロダクショングレードの推論フレームワークで、強化されたシステムと同等に動作する。
論文 参考訳(メタデータ) (2026-05-22T04:19:04Z) - Deterministic Fully-Static Whole-Binary Translation without Heuristics [4.112095753709181]
Elevatorはx86-64実行ファイル全体をAArch64デバッグ情報、ソースコード、コードレイアウトに関する仮定に変換する。
我々は,SPECint 2006スイート全体を含む,現実世界のバイナリの多種多様なコーパス上でエレベータを評価する。
論文 参考訳(メタデータ) (2026-05-08T19:25:06Z) - Outrunning LLM Cutoffs: A Live Kernel Crash Resolution Benchmark for All [57.23434868678603]
Live-kBenchは、新たに発見されたカーネルバグのエージェントをスクラップし、評価するセルフ進化ベンチマークの評価フレームワークである。
kEnvは、カーネルのコンパイル、実行、フィードバックのためのエージェントに依存しないクラッシュ解決環境である。
kEnvを用いて3つの最先端エージェントをベンチマークし、最初の試行で74%のクラッシュを解決したことを示す。
論文 参考訳(メタデータ) (2026-02-02T19:06:15Z) - 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) - LoopStack: a Lightweight Tensor Algebra Compiler Stack [61.04098601022665]
LoopStackはテンソル操作のためのドメイン固有のコンパイラスタックである。
最先端の機械学習フレームワークのパフォーマンスにマッチし、頻繁なマシンコードを生成する。
メモリフットプリントは非常に小さく、バイナリサイズは245KBで、30K行未満の効率的なコードによって、モバイルや組み込みデバイスでの使用に適している。
論文 参考訳(メタデータ) (2022-05-02T01:57:58Z) - UNIT: Unifying Tensorized Instruction Compilation [11.193044425743981]
ハードウェアベンダは、Intel VNNI、Core、ARM-DOTなどの混合精度操作に対して、テンソル化命令を提供する。
これに対するコンパイルテクニックの欠如は、これらの命令の活用を困難にしている。
これらの命令のコンパイルを統一するコンパイラフレームワークを開発する。
論文 参考訳(メタデータ) (2021-01-21T06:22:58Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。