How and When You Should Measure CPU Overhead of eBPF Programs
How and When You Should Measure CPU Overhead of eBPF Programs Bryce Kahle, Datadog October 28, 2020 Why should I profile eBPF programs? CI variance tracking Tools kernel.bpf_stats_enabled kernel bpf_stats_enabled sysctl – Added in kernel v5.1 (off by default) – Turns on stats collection for all eBPF programs – exposes total run_time_ns and run_cnt – Use cases: – Benchmarking + CI/CD – Sampling profiler it work? – Adds ~20ns of overhead per run Two ways to enable kernel eBPF stats sysctl procfs Three ways to access kernel eBPF stats bpftool prog show bpf syscall BPF_OBJ_GET_INFO_BY_FD procfs BPF_ENABLE_STATS0 码力 | 20 页 | 2.04 MB | 1 年前3Structure and Interpretation of Computer Programs
0 码力 | 136 页 | 7.35 MB | 5 月前3Accelerate Istio with ebpf
China Accelerate Service Mesh Network with ebpf Luyao Zhong Istio Meetup China Agenda ● TCP/IP stack overhead in service mesh ● Background knowledge of eBPF ● Independent solution to bypass TCP/IP stack Acceleration(same host) Istio Meetup China ebpf Background Knowledge Loader & Verification Architecture https://ebpf.io/what-is-ebpf/ Istio Meetup China ebpf Background Knowledge map ● Share collected information ● Accessed from eBPF programs as well as from applications in user space ● Map type o HASHMAP o SOCKHASH: Hold socket as value Istio Meetup China ebpf Background Knowledge Prog type0 码力 | 15 页 | 591.60 KB | 1 年前3Neighborhoods Banding Together: Reasoning Globally about Programs
CppCon, September 2020 Neighborhoods Banding Together Reasoning Globally about Programs Lisa LippincottThe code here is written in a fantasy C++, with extensions supporting local reasoning.void foo()0 码力 | 49 页 | 1.03 MB | 5 月前3Bridging the Gap: Writing Portable Programs for CPU and GPU
1/66Bridging the Gap: Writing Portable Programs for CPU and GPU using CUDA Thomas Mejstrik Sebastian Woblistin 2/66Content 1 Motivation Audience etc.. Cuda crash course Quiz time 2 Patterns Oldschool tell me about afterwards7/66 Motivation Patterns The dark path Cuda proposal Thank you Why write programs for CPU and GPU Difference CPU/GPU Algorithms are designed differently Latency/Throughput Memory sense? Scope of the talk7/66 Motivation Patterns The dark path Cuda proposal Thank you Why write programs for CPU and GPU Difference CPU/GPU Why it makes sense? Library/Framework developers Embarrassingly0 码力 | 124 页 | 4.10 MB | 5 月前3Accelerate Istio-CNI with ebpf
Accelerate Istio-CNI with ebpf Xu Yizhou & Guo Ruijing #IstioCon Agenda ● Istio-CNI ● tcp/ip stack overhead between sidecar and service ● Background knowledge of ebpf ● Acceleration for Inbound/Outbound/Envoy #IstioCon ebpf Background Knowledge Prog type ● ebpf provide various programs type for different purpose ● We choose SOCK_OPS & SK_SKB to implement function #IstioCon ebpf Background Knowledge Knowledge map ● Share collected information and to store state ● Accessed from eBPF programs as well as from applications in user space #IstioCon Work Flow of Acceleration ● Attach SOCK_OPS program0 码力 | 15 页 | 658.90 KB | 1 年前3eBPF at LINE's Private Cloud
eBPF at LINE’s Private Cloud Yutaro Hayakawa October 28, 2020 • Messaging & many family services • 185 million global MAU • 3Tbps+ network traffic in total LINE Verda: LINE’s Private Cloud Service0 码力 | 12 页 | 1.05 MB | 1 年前3Debugging Go in production using eBPF
eBPF Summit October 28, 2020 Debugging Go in production using eBPF ABOUT ME ? i’m Zain @zainasgar Co-Founder/CEO Pixie (@pixie_run) & Adjunct Professor of CS @ Stanford DEVELOPER PROBLEM You’re Delve Option 3: Linux tracing utility ○ strace/ftrace ○ LTTng/USDT Option 4: eBPF ? What are we going to build? eBPF [0] % objdump --syms app|grep computeE 00000000006609a0 g F .text 000000000000004b 6609b2: f2 0f 10 0d 36 a6 0f movsd 0xfa636(%rip),%xmm1 Diving into the details eBPF Using uprobes eBPF ... ... main.computeE 0x6609a0 { App Binary main.main { 0x6609f0 ... ... main0 码力 | 14 页 | 746.99 KB | 1 年前3eBPF Summit 2020 Lightning Talk
? ? In This Talk… • Different “types” of BPF programs • Write BPF programs in Rust • Add new feature in RedBPF • Use BPF maps to make stateful decisions • Load the program and protect the Rabbit(MQ) the limit is hit RedBPF • Most frameworks require C for BPF programs • RedBPF uses Rust for both in-kernel and user- space programs - benefits from LLVM integration • Rust: expressive type system but most importantly, I love Rust! • For networking, RedBPF supports XDP and SocketFilter programs, however… Traffic Control for Real • XDP doesn’t seem would work (full TCP packet hasn’t been0 码力 | 22 页 | 1.81 MB | 1 年前3SuperCharge Your IPC Programs With C++20 and CCI Pattern
Rules • IPC stands for Intra-Process Communication • Programs stand for software running in a constrained environment ▪ CCI stands for: oContract oConcept oImplementationProblem Definition: Channel0 码力 | 57 页 | 7.11 MB | 5 月前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100
相关搜索词
HowandWhenYouShouldMeasureCPUOverheadofeBPFProgramsStructureInterpretationComputerAccelerateIstiowithebpfNeighborhoodsBandingTogetherReasoningGloballyaboutBridgingtheGapWritingPortableforGPUe7pAccelerateIstioCNIwithebpfXuYizhouGuoRuijingatLINEPrivateCloudDebuggingGoinproductionusingSummit2020LightningTalkSuperChargeYourIPCWithC++20CCIPattern