NJSD eBPF 技术文档 - 0924版本
采⽤eBPF加速云原⽣环境中 Curve⽂件系统性能 ⽹易数帆科技 向东提纲 • 什么是Curve • Curve的应⽤场景及挑战 • Curve客户端⾯临问题及分析 • 什么是ebpf • 基于epbf的Curve Cache设计 • Curve社区介绍Curve是什么? • Curve云原⽣软件定义存储 • Curve分布式块存储 • Curve分布式⽂件存储 共享data cache的映射 • GETATTR流程 • ⽂件读取流程 • 相关⼯作 • extFUSE • google android12 passthrough什么是eBPF • ebpf是不同环境下内核配置, 调试,监控⼯具 • map映射 • 验证器 • Hook • Helper api配置TCP Initial RTO • 场景 内核4.12之前 Curve⽂件系统采⽤cache来提升性能,对象存储来降低成本 • ⽬前⾯临Curve⽂件系统客户端延迟较⼤的问题 • 解决延迟有ld_preload以及ebpf的⽅式,各有优缺点 • 使⽤ebpf可以在内核中直接读取cache数据,并返回,降低了延迟。 • 介绍了ebpf基于FUSE的cache设计THANKS0 码力 | 20 页 | 7.40 MB | 5 月前3绕过conntrack,使用eBPF增强 IPVS优化K8s网络性能
Enhancing IPVS with eBPF Agenda 目录 01 Problems with K8s Service How to optimize 02 Comparison with industry Performance measurement 03 04 Future work 05 06 Lessons from eBPF What is K8s Service busy polling even when network is idle. • Why not use a pure eBPF service? • Not mature enough eBPF brief • Write C • Compile into eBPF assembly code • Inject to kernel • Attach to network tc hooks entry BPF SNAT IPVS mode data path IPVS-eBPF mode data path How eBPF does SNAT • Why does SNAT with eBPF • eBPF program is easy to deploy • How to do SNAT in eBPF • Do SNAT in TC egress • Do reverse0 码力 | 24 页 | 1.90 MB | 1 年前32.2.1通过Golang+eBPF实现无侵入应用可观测
通过Golang + eBPF实现无侵入应用可观测 张海彬 阿里云 应用可观测技术专家 目 录 eBPF简介 01 eBPF在云原生场景下的应用 02 微服务可观测的挑战 03 Golang + eBPF实现数据采集 04 构建完整的应用可观测系统 05 eBPF简介 第一部分 eBPF简介 01. eBPF简介 eBPF = extended Berkeley Packet • 高性能 • 安全(内核verifier机制) • 动态可编程(无需重启) eBPF程序加载和校验 02. eBPF程序加载和校验 eBPF事件驱动 Kprobe/Kretprobe Uprobe/Uretprobe XDP Tracepoint Perf 01. eBPF事件驱动 eBPF在云原生场景下的应用 第二部分 网络加速 01.网络加速 From:https://istio From:https://istio.io/latest/zh/blog/2022/merbridge/ eBPF 的可编程能力使其能够内核中完成包的处理和转发,而且可以添加额外扩展能力。 观测和跟踪 将 eBPF 程序附加到跟踪点以及内核和用户应用探针点的能力,使得应用程序和系统本身的 运行时行为具有前所未有的可见性 From:https://juejin.cn/post/72807465155251569180 码力 | 29 页 | 3.83 MB | 1 年前3腾讯云 Kubernetes 高性能网络技术揭秘——使用 eBPF 增强 IPVS 优化 K8s 网络性能-范建明
TKE使用eBPF优化 k8s service Jianmingfan 腾讯云 目录 01 Service的现状及问题 优化的方法 02 和业界方法的比较 性能测试 03 04 解决的BUG 未来的工作 05 06 01 Service的现状及问题 什么是k8s Service • 应用通过固定的VIP访问一组pod,应用对Pod ip变化 无感知 • 本质是一个负载均衡器 兼顾产品的稳定性,功能足够丰富 弯路 • 为什么DPDK不行? • 独占cpu,不适合分布式的lb • 为什么纯粹的eBPF方法不行 • 不够成熟 eBPF 简介 • 编写eBPF程序 • 编译成eBPF中间代码 • 注入内核 • 挂载到network traffic control • 报文激发eBPF代码 技术创新点一 • IPVS 对conntrack的功能依赖 • Iptables SNAT 绕过conntrack 技术创新点二 • 在linux traffic control上挂一段eBPF 代码,在网卡出报文之前做SNAT • 尽量将大部分代码放在eBPF中,方便升级和维护。 • eBPF loader 创建eBPF map时,将map的id 传给IPVS内核模块 • 在ip_vs_new_conn 时,插入eBPF map • (protocol, clientip:cport -> targetip:dport)0 码力 | 27 页 | 1.19 MB | 9 月前305. 李枫 用于 Linux 内核调试的 Python
PyCon China Hangzhou 2019 Agenda I. Linux Kernel Debugging Overview eBPF Development II. BCC Overview Development III. LISA Overview Internals https://elixir.bootlin.com/linux/latest/source 2) eBPF 2.1 BPF (Berkeley Packet Filter, aka cBPF) https://en.wikipedia.org/wiki/Berkeley_Packet_Filter with-bpf Workflow o Source: ebpfbasics-190611051559.pdf 2.2 eBPF (extended BPF) since Linux Kernel v3.15 and ongoing aims at being a universal in-kernel0 码力 | 63 页 | 4.07 MB | 1 年前3THE FIRST EXPLORATION OF PROJECT SPARROW
nd-progress-ratifying-multiple- technical-specifications-launching-new-education-programs-and-accelerating-broad-industry-adoption/ https://riscv.org/blog/2021/06/antmicro-open-so Runtimes" is coming soon. 2.3 Unified runtime for eBPF and Wasm Summary II. Practicing Sparrow Our previous talks "GraalVM-based unified runtime for eBPF & Wasm" at GOTC 2021 (Shenzhen) & & "Revisiting GraalVM-based unified runtime for eBPF & Wasm" at OpenInfra Days China 2021(Beijing), and the third-round discussion of this topic will come in this year, which includes0 码力 | 68 页 | 13.14 MB | 1 年前3Cilium的网络加速秘诀
https://cilium.io https://github.com/cilium cilium是 kubernetes 的 CNI 网络解决方案,创新采用了 eBPF datapath,为 kubernetes网络和 linux 社区的 eBPF 发展,启动了 最要的推动作用。 截止 2021.10 ,cilium github 项目已有 9.3K star,Contributors 316位 网络数据包的“转发延时” • 不同场景下,不同程度地提升了 网络数据包的“吞吐量” • 不同场景下,不同程度地降低了 转发数据包所需的“ CPU 开销” eBPF 简介 eBPF 技术 在 Linux kernel 3.19 开始被 引入,可在用户态进行 eBPF 程序编程,编译 后,动态加载到内核指定的 hook 点上,以 VM 方式安全运行,其能过通过 map 存储结 构存储数据,能通过 map 同用户态程序交互, 同用户态程序交互, 最终实现内核数据进行修改,或者影响内核处 理请求的结果,或者改变内核处理请求的流程。 极大提升了内核处理事件的效率。 截止 linux 5.14 版本,eBPF 有32种类型程序。而 cilium 主要使用了如下类型程序: • sched_cls 。cilium在内核 TC 处实现数据包转发、负载均衡、过滤 • xdp 。cilium在内核 XDP 处实现数据包的转发、负载均衡、过滤0 码力 | 14 页 | 11.97 MB | 1 年前3openEuler 23.09 技术白皮书
qos_level_weight 设置不同优先级权 重,按照 CPU 的使用比例进行资源的划分。并提供唤醒抢占能力。在提高机器利用率的同时,保证高优和延迟敏感的 在线业务不受离线业务的影响。 • 可编程调度:基于 eBPF 的可编程调度框架,支持内核调度器动态扩展调度策略,以满足不同负载的性能需求,具备 以下特点: (1) 标签管理机制:开放对任务和任务组进行标签标记的能力,用户和内核子系统可通过接口对特定工作负载进行 sockamp 网格加速能力:以典型的 service mesh 场景为例,使能 sockmap 网格加速能力之后,业务容器和 envoy 容器之间的通信将被 ebpf 程序短接,通过缩短通信路径从而达到加速效果,对于同节点上 Pod 间通信也能通过 ebpf 程序进行加速。 功能描述 OS (ipstack + iptables) 服务 A 服务 B 服务 A 服务 B 服务治理 流量治理 流量治理 技术白皮书 新增特性 支持容器内构建补丁 • 通过使用 ebpf 技术监控编译器进程,实现无需创建字符设备、纯用户态化获取热补丁变化信息,并允许用户在多个 不同容器内进行并行热补丁编译。 • 用户可以通过安装不同 rpm 包(syscare-build-kmod 或 syscare-build-ebpf)来选择使用 ko 或者 ebpf 实现, syscare-build 进程将会自适应相应底层实现。0 码力 | 52 页 | 5.25 MB | 1 年前325-云原生应用可观测性实践-向阳
complexity © 2021, YUNSHAN Networks Technology Co., Ltd. All rights reserved. 解决团队耦合的问题 —— “演进”的思路 https://ebpf.io/ simplify the growing complexity © 2021, YUNSHAN Networks Technology Co., Ltd. All rights reserved 50亿$ 200亿$ 500亿$ 问题:依赖于eBPF,仅支持Kernel 4.15+ simplify the growing complexity © 2021, YUNSHAN Networks Technology Co., Ltd. All rights reserved. 业界动向 —— 云厂商监控 阿里云ARMS 问题:依赖于eBPF,仅支持Kernel 4.15+、仅阿里云(K8s需托管) complexity © 2021, YUNSHAN Networks Technology Co., Ltd. All rights reserved. 业界动向 —— 开源APM Skywalking 问题:eBPF的内核依赖问题 simplify the growing complexity © 2021, YUNSHAN Networks Technology Co., Ltd. All rights0 码力 | 39 页 | 8.44 MB | 5 月前32022年美团技术年货 合辑
1233 数据治理一体化实践之体系化建模 1263 vi > 2022年美团技术年货 运维 / 安全 1277 数字化新业态下数据安全创新——Token 化 1277 Linux 中基于 eBPF 的恶意利用与检测机制 1293 如何应对开源组件风险?软件成分安全分析(SCA)能力的建设与演进 1328 算法 < 1 YOLOv6:又快又准的目标检测框架开源啦 作者:楚怡 凯衡 1293 Linux 中基于 eBPF 的恶意利用与检测机制 作者:陈驰 杨一 鑫博 前言 近几年,云原生领域飞速发展,K8s 成为公认的云操作系统。容器的高频率部署、短 暂的生命周期、复杂的网络路由,都给内核安全带来了新的挑战。系统内核面对的复 杂性在不断增长,在满足性能、可扩展性等新需求的同时,还需要保障系统稳定可 用,这是极其困难的事情。此时,eBPF 出现,它以较小的子系统改动,保障了系统 的 动态执行。 eBPF 由 BPF 发 展 而 来,BPF 全 称 Berkeley Packet Filter,1992 年 由 Steven McCanne 和 Van Jacobson 提出,1997 年引入 Linux Kernel 2.1,3.0 中增加了 即时编译器,应用在网络过滤领域。2014 年 Alexei Starovoitov 实现了 eBPF 并扩 展到用户空间,威力更大。常用的0 码力 | 1356 页 | 45.90 MB | 1 年前3
共 189 条
- 1
- 2
- 3
- 4
- 5
- 6
- 19