分会场1_范佳明_迈向eBPF并发领域的内存模型_报告PPT.pdf

编号:713418 PDF 47页 670.98KB 下载积分:VIP专享
下载报告请您先登录!

1、迈向eBPF并发领域的内存模型第三届 eBPF开发者大会w w w.e b p f t r a v e l.c o m中 国 西 安范佳明 南京大学第 三 届 e B P F 开 发 者 大 会 问题背景 什么是 BPF 内存模型 BPF 指令的内存语义 与 LLVM 的集成 未来方向目录在很多开发者心中,eBPF 是不是一种简单的、单线程的沙箱系统?但你有没有想过:多个 BPF 程序是否可能同时访问共享内存?第 三 届 e B P F 开 发 者 大 会0.问题背景在很多开发者心中,eBPF 是不是一种简单的、单线程的沙箱系统?但你有没有想过:多个 eBPF 程序是否可能同时访问共享内存?答

2、案是:当然可以,甚至已经发生了。第 三 届 e B P F 开 发 者 大 会0.问题背景第 三 届 e B P F 开 发 者 大 会0.问题背景一个 race condition 的例子,如果下面的代码在多个 CPU 上同时运行bpf_printk 的结果应该是什么:?第 三 届 e B P F 开 发 者 大 会0.问题背景一个 race condition 的例子,如果下面的代码在多个 CPU 上同时运行bpf_printk 的结果应该是什么:取决于内存模型第 三 届 e B P F 开 发 者 大 会0.问题背景什么是内存模型?A memory model defines outco

3、mes of concurrent accesses-Paul E.McKenney第 三 届 e B P F 开 发 者 大 会0.问题背景举例来说,对于同一内存(a=0),一读(read(a))一写(a=1)的情况,不同的内存模型如何定义结果?C/C+内存模型:未定义行为(UB)“Any data race results in undefined behavior.”C+11 standard 1.10在理论模型中,你甚至可能观察到 a=42,即 OOTA(Out-of-Thin-Air)行为 第 三 届 e B P F 开 发 者 大 会0.问题背景举例来说,对于同一内存(a=0),一

4、读(read(a))一写(a=1)的情况,不同的内存模型如何定义结果?C/C+内存模型:未定义行为(UB)“Any data race results in undefined behavior.”C+11 standard 1.10在理论模型中,你甚至可能观察到 a=42,即 OOTA(Out-of-Thin-Air)行为 Linux Kernel Model:要么是新值 1,要么是旧值 0,但不会是凭空出现的值(OOTA)内核文档 memory-barriers.txt section:All memory-reference instructions 第 三 届 e B P F 开 发

5、者 大 会0.问题背景那么,eBPF 程序的内存模型是什么呢?实际上,eBPF 的内存模型一直没有被提出,BPF 只是 instruction set,却没有定义自己的 memory model 直到 2023 年,Paul E.McKenney 提出了Instruction-Level BPF Memory Model11 https:/ 三 届 e B P F 开 发 者 大 会1.什么是 BPF 内存模型三层并存的内存模型结构高级语言内存模型 C/C+/RustBPF 指令级模型(Today)硬件内存模型X86/ARMv8 编译器(LLVM)JIT(x86/ARM)第 三 届 e B P

6、 F 开 发 者 大 会1.什么是 BPF 内存模型三层并存的内存模型结构高级语言内存模型 C/C+/RustBPF 指令级模型(Today)硬件内存模型X86/ARMv8 编译器(LLVM)JIT(x86/ARM)BPF 内存模型就处于将高级语言转接到硬件指令的转接层举例:BPF 程序中 store_release()LLVM BPF JIT ARMv8如果 BPF 无法表达 store 是 release 的,那么下层 jit 可能不会插入合适的 memory-barrier,导致程序出现诡异的错误!第 三 届 e B P F 开 发 者 大 会1.什么是 BPF 内存模型为了理解 BPF

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(分会场1_范佳明_迈向eBPF并发领域的内存模型_报告PPT.pdf)为本站 (科技新城) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
客服
商务合作
小程序
服务号
折叠