Skip to content

docs(research): VMAFX eBPF optimization target + implementation plan - #29

Merged
lusoris merged 2 commits into
masterfrom
docs/research-vmafx-ebpf-optimization-target
May 28, 2026
Merged

lusoris merged 2 commits into
masterfrom
docs/research-vmafx-ebpf-optimization-target

Conversation

@lusoris

@lusoris lusoris commented May 28, 2026

Copy link
Copy Markdown
Contributor

Summary

Research-0733 surveys the VMAFX Phase 4b workload hot paths for eBPF optimization
(ADR-0709, item 4b.6) and selects rclone FUSE page-cache bypass via eBPF kprobe
on fuse_file_read_iter
as the highest-value target.

  • Projected 15–40% job wall-time reduction on warm-cache nodes for 1080p60 clips
  • 37× p50 FUSE read latency reduction (from ~150 µs to ~4 µs for cached reads)
  • Four-phase implementation plan documented (4b.6.a baseline → 4b.6.d Helm chart)
  • Research-only PR; no eBPF code written in this PR

Type

  • docs — documentation only

Checklist

  • Commits follow Conventional Commits (the commit-msg hook enforces this).
  • make format && make lint is green locally.
  • Unit tests pass: meson test -C build.
  • If I touched any SIMD/GPU code path, I ran /cross-backend-diff and the worst ULP is ≤ 2.
  • If I touched a feature extractor with SIMD/GPU twins, I either updated every twin or listed the gap under "Known follow-ups" below.
  • If I added a new .c / .cpp / .cu / .h / .hpp, it has the appropriate license header (see CONTRIBUTING.md).
  • If this is a breaking change, the commit message uses ! or BREAKING CHANGE: and the migration path is documented below.
  • If this PR adds an ADR, the ADR row lives in docs/adr/_index_fragments/<NNNN-slug>.md and the slug is appended to docs/adr/_index_fragments/_order.txt — do not edit docs/adr/README.md directly (regenerated by scripts/docs/concat-adr-index.sh; see ADR-0221).

Bug-status hygiene (ADR-0165)

  • docs/state.md updated in this PR with a row in the appropriate section — T-VMAFX-EBPF-RESEARCH-4B6-2026-05-28 added to Recently closed.

Netflix golden-data gate (ADR-0024)

  • I did not modify any assertAlmostEqual(...) score in the Netflix golden Python tests.
  • If I believe a golden value must change, I have explained why below AND pinged @lusoris for a CODEOWNERS exception.

Cross-backend numerical results

No code changed; no cross-backend diff required.

Performance (if perf or feat)

No code changed; projected improvement is documented in Research-0733 §4.5 and §8.

Deep-dive deliverables (ADR-0108)

  • Research digest — docs/research/0733-vmafx-ebpf-optimization-target.md written.
  • Decision matrix — captured in Research-0733 §3 (candidate scoring) and §6 (alternatives considered).
  • AGENTS.md invariant note — no rebase-sensitive invariants: docs-only PR; no build system or C source changed.
  • Reproducer / smoke-test command — see below.
  • CHANGELOG fragment — changelog.d/changed/ebpf-research.md added.
  • Rebase note — entry added to docs/rebase-notes.md: no rebase impact for this docs-only PR.

Reproducer

# Verify the research digest is well-formed and cross-references are intact:
grep -c "fuse_file_read_iter" docs/research/0733-vmafx-ebpf-optimization-target.md
# Expected: >= 5 (the kprobe symbol is referenced in §2.1, §4.1, §4.2, §5, state.md row)

Known follow-ups

  • Phase 4b.6.b: feat(ebpf): fuse-latency eBPF probe standalone prototype
    — pkg/ebpf/fuse_latency.bpf.c + pkg/ebpf/fuse_latency.go + cmd/vmafx-ebpf-probe/main.go
  • Phase 4b.6.c: feat(ebpf): integrate FUSE latency monitor into vmafx-node
  • Phase 4b.6.d: feat(deploy): Helm chart eBPF privilege grant for FUSE latency monitor

🤖 Generated with Claude Code

Research-0733: identifies rclone FUSE page-cache bypass via eBPF kprobe
on fuse_file_read_iter as the highest-value Phase 4b.6 target. Projected
15-40% job wall-time reduction on warm-cache nodes for 1080p60 clips;
37x p50 FUSE read latency reduction. Four-phase implementation plan
(4b.6.a-4b.6.d) documented, covering baseline measurement, standalone
prototype, vmafx-node integration, and Helm privilege grant. Research-only
PR; no code written. Companion to ADR-0709 Phase 4b umbrella item 4b.6.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@lusoris
lusoris marked this pull request as ready for review May 28, 2026 12:22
…ization-target

Union-of-rows resolution for docs/state.md, docs/adr/README.md, docs/rebase-notes.md,
deploy/helm/vmafx/values.yaml. Take master for go.mod/go.sum (superset from operator
PR #33). Take master for docker/Dockerfile.production-gpu (ROCm 6.4 update).
@lusoris
lusoris merged commit 11001ac into master May 28, 2026
12 of 21 checks passed
@lusoris
lusoris deleted the docs/research-vmafx-ebpf-optimization-target branch May 28, 2026 12:42
@lusoris lusoris added this to the 1.0.0 — First release milestone Sep 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant