LWN:各种BPF实现的性能对比!

CRIB: checkpoint/restore in BPF Linux进程检查点/恢复技术发展历程与CRIB新方案探索 摘要:Linux进程检查点/恢复技术自1998年首次提出以来经历了多次演进。早期内核补丁方案因复杂性和可靠性问题未能成功,2011年转向用户空间的CRIU成为主流解决方案,但依赖非专用内核接口导致效率低下和兼容性问题。最新提出的CRIB方案创新性地利用BPF技术,通过内核态直接读取进程状态,显著提升性能。然而,恢复功能因BPF写入限制面临挑战,社区对BPF_CORE_WRITE的安全隐患存在分歧。CRIB目前聚焦检查点功能,其未来发展取决于内核接口 阅读详情

关注了就能看到更多这么棒的文章哦~

Comparing BPF performance between implementations

By Daroc Alden
June 5, 2024
LSFMM+BPF
Gemini-1.5-flash translation
https://lwn.net/Articles/976317/

Alan Jowett 在 2024 年的 Linux 存储、文件系统、内存管理和 BPF 峰会 上进行了第二场远程演讲,在其中比较了不同 BPF 运行时的性能。他展示了 MIT 许可的 BPF 微基准测试套件 的结果,他一直在开发这个套件。该基准测试套件尚未提供所有平台之间良好的直接比较,因此结果应该谨慎对待。它们似乎表明,不同实现之间存在一些显著差异,尤其是对于不同类型的 BPF 映射(maps)。

这些基准测试测量了一些不同的指标,包括实际执行各种测试程序所花费的时间,以及从内核切换到 BPF 虚拟机的开销,以及调用辅助函数的性能。Jowett 说,以平台中立、可重复的方式测量这些指标非常重要。该基准测试套件使用 libbpf 加载 BPF 程序,libbpf 使用“编译一次,随处运行”(CO-RE)在不同的支持平台上运行相同的 ELF 文件。

基准测试套件中包含了几种不同类型的 BPF 程序,包括一个空(无操作)程序、一些执行各种辅助函数的程序,以及测试 BPF 映射性能的程序,包括 trie 和哈希表映射。在多个 CPU 内核上并行进行测量,以使测试并发映射的性能更有意义。

eBPF for Windows 项目使用基准测试套件作为其日常持续集成 (CI) 设置的一部分,以跟踪性能回归。CI 还在 Linux 上运行相同的测试,但他表示,由于基础设施问题,这些测试不能很好地进行比较——CI 使用的 GitHub 运行程序无法指定特定的 Linux 内核版本。他还指出,由于 Windows 使用 BPF 的提前编译 (AOT),而不是像 Linux 那样使用即时编译 (JIT),因此会存在一些差异。

尽管如此,Jowett 认为,从这些基准测试中可以吸取一些有价值的经验教训。他说,AOT 编译的性能优于 JIT 编译,JIT 编译的性能又优于解释执行。Alexei Starovoitov 对此说法提出了质疑;他说,在 Windows 上测试的 JIT(鉴于 Linux 基础设施问题,这是 Jowett 进行比较的依据)相当笨拙,不足以对 Linux 的 JIT 做出概括。Jowett 承认了这一点,并指出了 Windows JIT 无法改进的一些方法。

Jowett 还展示了一些测量结果,证明最长前缀匹配 trie 映射的更新速度比哈希表更快,并且 Windows 在匹配 Linux 的 最近最少使用 (LRU) 表 的性能方面遇到了困难。他指出,维护表中键的年龄的全局一致性“代价高昂”。

然而,由于 Jowett 在测量 Linux 性能方面遇到的困难,因此很难说 eBPF for Windows 和 Linux BPF 实现的比较情况如何。也许当这个问题得到解决时,这项工作将成为一个有用的工具,可以突出潜在的性能改进。

全文完
LWN 文章遵循 CC BY-SA 4.0 许可协议。

欢迎分享、转载及基于现有协议再创作~

长按下面二维码关注,关注 LWN 深度文章以及开源社区的各种新近言论~

294039d5e51d6e962e04d42821b54b71.jpeg

ali140滑块 ali 140滑块采用补环境的方式进行逆向,需要的文件主要为这两个,其中collina.js是最主要的环境校验和参数加密的逻辑,这两个文件放本地进行补环境。然后挂上代理,先保证能够正常运行代码,补了些许后能够正常运行了,我们打印最主要的加密函数看看:n值就是得到:挂上代理看看鼠标事件,不管加密逻辑,关心入参即可:收集一些鼠标事件传进记录的函数。其余就是处理一些环境值,一些resetSA的逻辑就行。截图记录: 阅读详情

相关推荐

vue 获取el-table多选的选中行

<el-table :data='tableData' ref="multipleTable" v-loading='loading' border max-height='700' style='width: 100%' size="mini"> <el-table-column type="selection" width="55"></el-table-column> <el-table-column label

且听风吟的博客 6649

LWN:《BPF Performance Tools》介绍!

关注了就能看到更多这么棒的文章哦~A look at "BPF Performance Tools"ByJake EdgeFebruary 26, 2020原文来自:h...

Linux News搬运工 5618

VMwareWorkstation安装UOS系统(1070版本)教程

UOS系统是一款国产信创操作系统。目前市面上主流的系统版本是1070,下面我们用虚拟机来安装一下这款系统。

欲买桂花同载酒的博客 4290

LWN:多种改善BPF性能的方案!

关注了就能看到更多这么棒的文章哦~A medley of performance-related BPF patchesByJonathan CorbetJanuary 2, 2020...

Linux News搬运工 980

EDF Browser使用说明和技巧

edf browser使用说明和一些小技巧

Erhu_666的博客 8313

如何找回mysql删除的表_mysql误删表如何恢复,恢复被删除表的步骤说明

小编寄语想必大家都知道,Oracle ACE李真旭(Roger)是国内最专业的Oracle 数据库恢复专家。但知识都是触类旁通,真正的专家,从来不会局限在一个方向上。今天分享的内容,是他在MySQL数据恢复上所做的尝试。本文主要分享在没有备份的情况下,MySQL数据库如何恢复被删除的表。包含两个主要的场景:1、drop table后的恢复2、truncate table后的恢复正文:我们都知道,M...

weixin_35725389的博客 6783

LWN:BPF与安全!

关注了就能看到更多这么棒的文章哦~BPF and securityBy Jake EdgeOctober 4, 2023LSSEUChatGPT translationhttps://lwn.net/Articles/946389/eBPF内核虚拟机即将迎来其加入Linux十周年,它已经发展成为生态系统中多种用途的工具。eBPF的创始人,也是其早期开发的主要负责人Alexei Starovoito...

Linux News搬运工 1077

QT使用高精度定时器

精度相对第二种方法高许多。

ljjjjjjjjjjj的博客 4097

LWN: Facebook使用BPF的情况以及其他

点击上方蓝色“Linux News搬运工”关注我们~BPF at Facebook (and beyond)ByJonathan CorbetKernel Recipe...

Linux News搬运工 695

openclaw 保姆级部署与核心玩法解析:国产DeepSeek模型 + 飞书

OpenClaw是一款功能强大的开源AI个人助理,支持全平台私有化部署,数据完全本地掌控。它不仅可通过聊天窗口直接操控电脑(安装软件、创建项目),还支持接入飞书等主流通讯工具,化身24小时在线的智能助理。本文提供了从零开始的详细部署教程,涵盖基础安装、模型配置(如GLM-4、DeepSeek)到飞书集成的完整实战指南,助你将这款“核动力”AI助手快速融入日常工作流。

甘蓝的专栏 2997

OBYC自动科目确定整理

WGI是用来重估发货的,通过比较发货时的价格和最新计算的价格,以此将所有差异过账到分配给此事务码的总账科目。是工厂还是公司,一般项目中都是使用工厂,使用工厂的意思就是物料在每个工厂下有一个价格,如果使用公司,则一个公司下的所有工厂都使用一个价格。如果该物料用的是移动平均价,那么该库存依然还存在的情况下,这个价格差异会过账到存货科目上而不会过账到存货的价格差异科目上。用于确定存货评估过账的存货冲抵科目。事务码WGR是用来重估工厂收货的,根据 计算出来的价格差异,把库存的调整过账分配给这个事务码中的总账科目。

nopicture的博客 348

LWN:可由BPF编程的网络设备!

关注了就能看到更多这么棒的文章哦~The BPF-programmable network deviceBy Jonathan CorbetNovember 6, 2023ChatGPT translationhttps://lwn.net/Articles/949960/在 Linux 上,容器和虚拟机是通过虚拟网络设备与世界通信。这样就使得其可以利用 Linux 网络协议栈的全部功能了,但也引...

Linux News搬运工 1040

【Verilog基础】CDC跨时钟域方法,典型异步电路设计之脉冲同步器(上)

【Verilog基础】CDC跨时钟域方法,典型异步电路设计之脉冲同步器(上):慢时钟域到快时钟域!

悟已往之不谏 知来者之可追 1544

LWN:BPF 中可以长存的指针!

关注了就能看到更多这么棒的文章哦~Long-lived kernel pointers in BPFJuly 14, 2022This article was contributed by David VernetDeepL assisted translationhttps://lwn.net/Articles/900749/BPF 子系统允许程序员编写一些可以在内核空...

Linux News搬运工 675

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

LWN:用BPF异步采集stack trace!

关注了就能看到更多这么棒的文章哦~Capturing stack traces asynchronously with BPFBy Daroc AldenJune 19, 2024LSFMM+BPFGemini-1.5-flash translationhttps://lwn.net/Articles/978736/Andrii Nakryiko 在 2024 年的Linux 存储、文件系统、内...

Linux News搬运工 2352

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

LWN:可取消的BPF program!

关注了就能看到更多这么棒的文章哦~A possible path for cancelable BPF programsBy Daroc AldenFebruary 25, 2025Gemini-1.5-flash translationhttps://lwn.net/Articles/1010404/Linux 内核支持将 BPF 程序附加(attach)到许多操作(operations)上。这...

Linux News搬运工 1338

【转】BPF详解

原文地址:https://linux.cn/article-9507-1.html 什么是 BPF? BPF,及伯克利包过滤器BerkeleyPacketFilter,最初构想提出于 1992 年,其目的是为了提供一种过滤包的方法,并且要避免从内核空间到用户空间的无用的数据包复制行为。它最初是由从用户空间注入到内核的一个简单的字节码构成,它在那个位置利用一个校验器进行检查 —— 以避免内核...

mrhesongze的博客 1万+

LWN:BPF与io_uring的结合!

关注了就能看到更多这么棒的文章哦~BPF meets io_uringBy Jonathan CorbetMarch 4, 2021DeepL assisted translationht...

Linux News搬运工 324

LWN:BPF 里新的共享内存方案!

关注了就能看到更多这么棒的文章哦~A proposal for shared memory in BPF programsBy Daroc AldenFebruary 21, 2024Gemini translationhttps://lwn.net/Articles/961941/2021 年 2 月 6 日,Alexei Starovoitov 提交了一系列的补丁(patch series)给...

Linux News搬运工 503

LWN:利用BPF控制CPU调度器!

关注了就能看到更多这么棒的文章哦~Controlling the CPU scheduler with BPFBy Jonathan CorbetOctober 21, 2021DeepL...

Linux News搬运工 541

LWN:用SCHED_EXT和IOCost改进性能!

关注了就能看到更多这么棒的文章哦~Improving performance with SCHED_EXT and IOCostBy Daroc AldenApril 1, 2024SCALEChatGLM translationhttps://lwn.net/Articles/966618/在今年的SCALE大会上,来自 Meta 的 Dan Schatzberg 和 Tejun Heo 先后连...

Linux News搬运工 979

LWN:BPF allocator 碰到麻烦了!

关注了就能看到更多这么棒的文章哦~The BPF allocator runs into troubleBy Jonathan CorbetApril 29, 2022DeepL assisted translationhttps://lwn.net/Articles/892743/5.18 内核合并的一个改动是为已经加载到内核里的 BPF 程序提供一个专门的内存分配器(...

Linux News搬运工 265

LWN:针对BPF代码的内存分配器!

关注了就能看到更多这么棒的文章哦~A memory allocator for BPF codeBy Jonathan CorbetFebruary 4, 2022DeepL assist...

Linux News搬运工 388

LWN:Linux 5.3会支持BPF里的有限循环代码

点击上方蓝色“Linux News搬运工”关注我们~Bounded loops in BPF for the 5.3 kernelJuly 31, 2019This ar...

Linux News搬运工 530

LWN:若干新增的capability!

关注了就能看到更多这么棒的文章哦~A crop of new capabilitiesByJonathan CorbetJune 8, 2020原文来自:https://lwn.net...

Linux News搬运工 1112

LWN:pahole 进展!

关注了就能看到更多这么棒的文章哦~Updates to paholeBy Daroc AldenJune 20, 2024LSFMM+BPFGemini-1.5-flash translationhttps://lwn.net/Articles/978727/Arnaldo Carvalho de Melo 在 2024 年的Linux 存储、文件系统、内存管理和 BPF 峰会 (Linux S...

Linux News搬运工 2422

LWN:提高 FUSE writeback 性能!

在 2025 年 Linux 存储、文件系统、内存管理和 BPF 峰会 (LSFMM+BPF) 上的一次文件系统 (filesystem) 和内存管理 (memory-management) 联合会议上,Joanne Koong 主持了一场关于改进用户空间文件系统 (Filesystem in Userspace - FUSE) 层回写 (writeback) 性能的讨论。她说,问题在于页可能已经被 spliced (spliced),对于这些页,回写是无法取消的。“你不够值得信赖,不能让你这么做”。

Linux News搬运工 1320
上一篇: LWN:Debian切换 /tmp 引来的讨论!
下一篇: LWN:文件系统新增API!
LinuxNews搬运工
博客等级 码龄7年 438粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值