0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

openEuler倡议建立eBPF软件发布标准

openEuler 来源:openEuler 作者:openEuler 2022-12-06 10:29 次阅读

eBPF 是一个能够在内核运行沙箱程序的技术,提供了一种在内核事件和用户程序事件发生时安全注入代码的机制,使得非内核开发人员也可以对内核进行控制。随着内核的发展,eBPF 逐步从最初的数据包过滤扩展到了网络、内核、安全、跟踪等,而且它的功能特性还在快速发展中,早期的 BPF 被称为经典 BPF,简称 cBPF,正是这种功能扩展,使得现在的 BPF 被称为扩展 BPF,简称 eBPF。

如今 eBPF 被广泛应用在云原生、可观测、性能调优、安全、硬件加速等领域,并且其应用场景还在快速扩展,各种场景基于 eBPF 技术的创新 idea 呈现井喷现象,eBPF 的时代已经来临。

eBPF 技术现状

虽然 eBPF 技术应用呈现井喷现象,但是开发、发布、安装等相关的基础技术出现碎片化现象,导致技术成果无法快速平移至行业客户生产环境;相似 eBPF 技术应用在重复实践。这些问题阻碍 eBPF 技术的普及与推广。

如下图所示,总结目前 eBPF 的开发、发布方式基本可以划分成 2 种技术路线:

开发态、运行态分离(典型代表 libbpf)

优点:ELF 文件形式(或者链接进应用程序)发布,运行时轻量化,适合生产环境大规模应用。

缺点:应用技术门槛高,且不具备可移植性(比如高内核版本的 eBPF 程序无法移植至低内核版本中)。

开发态、运行态融合(典型代表 BCC)

优点:源码形式发布天然具备可移植性;封装抽象运行时,提供高级语言 API,降低开发难度。

缺点:运行时重型化,对生产环境要求较高(需要安装开发态一系列工具);高度抽象后,降低使用灵活度,不适合大型应用开发。

03500d2e-7486-11ed-8abf-dac502259ad0.png

这两种技术路线都存在弊端,随着 eBPF 技术的发展,出现 BumbleBee 、eunomia-bpf 等项目致力于综合这两类技术路线的优点,但依旧缺乏对 eBPF 基础技术的整体规划。

eBPF 发展展望

eBPF summit 2022 《The future of eBPF in the Linux Kernel》展望了 eBPF 的发展方向,具体的演进方向包括几个方面:

更完备的编程能力:当前 eBPF 的编程能力存在一些局限性(比如不支持变量边界的循环,指令数量受限等),演进目标提供图灵完备的编程能力。

更强的安全性:支持类型安全,增强运行时 Verifier,演进目标是提供媲美 Rust 的安全编程能力。

更广泛的移植能力:增强 CO-RE,加强 Helper 接口可移植能力,实现跨体系、平台的移植能力。

更强的可编程能力:支持访问/修改内核任意参数、返回值,实现更强的内核编程能力。

概括其演进目标是希望将 eBPF 打造成一款针对内核(包括硬件)运行时的安全编程语言,通过该语言构建 eBPF 软件,用来承载内核(或硬件)的能力。演进结果产生一个有趣现象:按照传统软件类型划分方式,我们很难将 eBPF 软件归类成应用软件或是系统软件。所以,干脆将其定义成一种独立软件形态:内核态服务(eBPF as Service)。

036b4fd0-7486-11ed-8abf-dac502259ad0.png

eBPF Service 形态

建立 eBPF 行业标准的思路

eBPF 软件有别于系统软件、应用软件,从软件自身特点而言,其应具备符合其自身特点的开发、编译、打包、发布、安装、升级等工具系列。

当前 eBPF 的开发框架、发布形式发展迅速,但也存在一些问题,包括跨版本移植能力、多场景支持能力、开发易用性、服务可获得性等问题。openEuler 可编程内核 SIG 希望标准化 eBPF 软件相关基础技术(包括打包、发布、安装、升级等),方便 eBPF 技术在各行业、场景的推广。为此,由多家企业/高校在 openEuler 社区倡议建立行业标准,通过标准化发布将内核定制能力、硬件卸载能力向社区用户提供性能加速、安全加固、智能观测等服务。

预计我们将在 12 月份组织一次线上 meetup,当前参与企业/组织包括天翼云、深信服、华为、西邮、中山大学、中科驭数、信通院、锐捷等,希望国内对 eBPF 技术有诉求、规划的厂商加入本次 meetup,建立 eBPF 技术相关标准,为 eBPF 技术应用、科研提供较好的基础平台。

具体讨论范围划分成三个方向:

eBPF runtime:负责提供具备可移植性的软件安装能力,软件热升级能力,包管理等能力。

eBPF Development Kit:负责提供一站式开发、调试、编译工具,提供具备跨体系、平台移植能力的软件包发布能力。

eBPF Service HUB:负责提供 eBPF Service 集市化管理,提供 eBPF Service 推送、分发等能力。

03901144-7486-11ed-8abf-dac502259ad0.png

openEuler 可编程内核 SIG 目标

openEuler 可编程内核 SIG 目标之一就是推动 eBPF as Service 标准化工作,将内核能力、硬件加速能力服务化、集市化,惠及更多的社区用户。

与此同时,openEuler 社区会将行业标准内的一些基础软件、技术标准推送至 Linux 上游社区,加强 eBPF 技术生态建设,提升国内 eBPF 技术在上游社区影响力。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程
    +关注

    关注

    88

    文章

    3563

    浏览量

    93535
  • 云原生
    +关注

    关注

    0

    文章

    240

    浏览量

    7929
  • openEuler
    +关注

    关注

    2

    文章

    301

    浏览量

    5810

原文标题:openEuler 倡议建立 eBPF 软件发布标准

文章出处:【微信号:openEulercommunity,微信公众号:openEuler】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    第二届openEuler生态大会圆满结束

    近日,第二届openEuler生态大会(中国·湖南)成功举办。大会以“根植openEuler共建开源生态”为主题,旨在响应国家开源产业发展战略,推动建设以openEuler为根技术的开源操作系统在湖南创新发展,构建
    的头像 发表于 10-31 16:02 175次阅读

    中软国际参加openEuler 24.03 LTS版本发布

    国产操作系统的发展再次迎来了重要里程碑,开放原子开源基金会openEuler社区在北京举办openEuler 24.03 LTS版本发布会。这场大会不仅是一个版本的发布仪式,更是一次技
    的头像 发表于 10-10 11:23 422次阅读

    润和软件携手业界伙伴在openEuler社区成立IDE-SIG

    经OpenAtom openEuler(简称"openEuler")社区技术委员会讨论决定,openEuler 社区正式成立 IDE-SIG。该组由华为技术有限公司、粤港澳大湾区
    的头像 发表于 07-31 10:34 525次阅读

    江波龙加入openEuler社区,携手欧拉生态共助存储发展

    近日,江波龙受邀参加了openEuler24.03版本发布会,见证这一全新版本发布。随着新版本的推出,FORESEEDDR4RDIMM和DDR5RDIMM内存条产品迅速展开了适配测试,并已正式通过
    的头像 发表于 07-11 08:21 309次阅读
    江波龙加入<b class='flag-5'>openEuler</b>社区,携手欧拉生态共助存储发展

    openEuler 24.03 LTS Meetup:聚焦AI、嵌入式与分布式创新

    随着OpenAtom openEuler(简称“openEuler”)24.03 LTS版本的发布,这一开源操作系统再次成为业界的焦点。为了进一步推广与宣传新版本带来的特性和技术进展,6月21日
    的头像 发表于 06-24 10:08 393次阅读

    润和软件受邀参与openEuler 24.03 LTS发布

    近日,由OpenAtom openEuler(简称"openEuler")社区主办的openEuler 24.03 LTS版本发布会(以下简称“发布
    的头像 发表于 06-15 10:07 718次阅读

    openEuler 24.03 LTS正式发布,首个AI原生开源操作系统

    日,openEuler委员会主席江大勇正式对外发布openEuler首个AI原生开源操作系统——openEuler24.03LTS版本。openE
    的头像 发表于 06-15 08:36 627次阅读
    <b class='flag-5'>openEuler</b> 24.03 LTS正式<b class='flag-5'>发布</b>,首个AI原生开源操作系统

    eBPF动手实践系列三:基于原生libbpf库的eBPF编程改进方案简析

    在上一篇文章《eBPF动手实践系列二:构建基于纯C语言的eBPF项目》中,我们初步实现了脱离内核源码进行纯C语言eBPF项目的构建。libbpf库在早期和内核源码结合的比较紧密,如今的libbpf库更加成熟,已经完全脱离内核源码
    的头像 发表于 03-19 14:19 708次阅读
    <b class='flag-5'>eBPF</b>动手实践系列三:基于原生libbpf库的<b class='flag-5'>eBPF</b>编程改进方案简析

    基于原生libbpf库的eBPF编程改进方案

    为了简化 eBPF程序的开发流程,降低开发者在使用 libbpf 库时的入门难度,libbpf-bootstrap 框架应运而生。基于libbpf-bootstrap框架的编程方案是目前网络上看到的最主流编程方案。
    发表于 03-19 14:19 543次阅读
    基于原生libbpf库的<b class='flag-5'>eBPF</b>编程改进方案

    openEuler安全配置基线标准首发

    、超聚变、华为等公司共同发布openEuler 安全配置基线标准 v1.0》。 在当今日益复杂的数字化环境中,操作系统安全已成为企业和个人必须面对的挑战,运行环境的多样性和不一致性使得安全加固、核查、巡检等工作变得异常艰巨。为
    的头像 发表于 01-04 13:43 663次阅读
    <b class='flag-5'>openEuler</b>安全配置基线<b class='flag-5'>标准</b>首发

    openEuler Code Camp 圆满举办

        12 月 17 日,2023 开放原子开发者大会 openEuler Code Camp 在无锡成功举办。此次盛会吸引了众多行业领袖、前沿开发者和用户共襄盛举,共同聆听 openEuler
    的头像 发表于 12-22 10:41 634次阅读
    <b class='flag-5'>openEuler</b> Code Camp 圆满举办

    天合光能等龙头发布700W+光伏组件标准化联合倡议,推动700W+生态联盟升级

    常州2023年12月21日 /美通社/ -- 12月11日,阿特斯、东方日升、TCL中环、天合光能、通威股份、正泰新能发布《关于推动700W+光伏组件标准设计和应用的联合倡议》,约定700W+光伏
    的头像 发表于 12-22 05:56 765次阅读

    openEuler Code Camp圆满举办

    12月17日,2023开放原子开发者大会openEuler Code Camp在无锡成功举办。此次盛会吸引了众多行 业领袖、前沿开发者和用户共襄盛举,共同聆听openEuler在推动生态系统迅速发展
    的头像 发表于 12-20 09:45 263次阅读
    <b class='flag-5'>openEuler</b> Code Camp圆满举办

    开源共建 | 润和软件闪耀操作系统大会,openEuler社区贡献与创新实践双双获奖

    12月15-16日,以“崛起数字时代 引领数智未来”为主题的操作系统大会  openEuler Summit 2023在北京国家会议中心圆满举办。大会由开放原子开源基金会、中国电子技术标准化研究院
    的头像 发表于 12-19 15:55 356次阅读

    OpenCV对openEuler提供上游原生支持

    2023年11月17日,OpenCV社区正式接纳openEuler作为持续集成(Continuous Integration,CI)系统的操作系统之一,对openEuler提供上游原生支持
    的头像 发表于 11-20 09:14 791次阅读