eBPF的发展演进---从石器时代到成为神(三)

这篇具有很好参考价值的文章主要介绍了eBPF的发展演进---从石器时代到成为神(三)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

4. 内在驱动

由以上简要的回顾和梳理可见,内核开发者们所不断寻找的是一种充分表达能力的动态机制,进而打破内核和用户态的壁垒(至少在逻辑层面),从而实现一种自由、直接的需求实现。技术成为内核开发者们锋利的工具,不断突破限制,揭示事物的本质。

BPF技术的出现和发展,从时间尺度来说并不长,但是从其内在的驱动来说,有着复杂的动因,是很多因素就和在一起的必然结果。由于其复杂性,从任何一个孤立的角度进行分析都是不充分,只有从各个不同的角度分析,才可以体会出不同的趣味。

通过探寻其深层次的原因,可以梳理出更加清晰的发展脉络,从而可以更好地展望BPF及其相关技术领域的未来发展。为我们学习、研究和加入BPF的发展打下基础。

本文试着从复杂性、微内核化两个方面,分析BPF发展的内在动力。

内核的发展历史就是一个复杂性不断递增的历史,因此内核的发展也是不断控制复杂性、维持内核代码的可理解性的过程。因此,内核的开发始终坚持一个原则,就是机制与策略的分离。

在不同时期,如何进行机制与策略的分离,有这不同的答案。随着技术和应用的不断发展,维持这一原则的的难度是不断增加的,需要更新的思想、更先进的技术才能支撑。或者也可以说,正因为内核的发展过程中,始终坚持了这个原则,所以才不断有影响深远的基础技术的出现。

我相信,要实现定制与动态,有很多不同的方案。但我认为BPF的出现是最佳的选择,使内核的发展有了应对未来变局的基础。

这是BPF出现的契机,也是其未来快速发展的动力。

4.1代码规模问题

Linux项目发展至今,其代码总量早已超过千万,是一个非常庞大的项目。

eBPF的发展演进---从石器时代到成为神(三)

 注:来源https://www.phoronix.com/misc/linux-eoy2019/lines.html

由统计数据可以看出,Linux项目的复杂度(从代码量角度)一直在不断增长。

4.2软件结构的复杂

整个软件系统,从应用程序到内核是一个繁杂的层次结构,又由于模块之间的交叉,实际的运行流程是一个复杂的有向图结构。

以完成一次简单的文件操作为例,首先应用程序需要open一个文件,这首先会运行到某种运行时库,完成资源分配、接口转换等等处理。然后,流程才会到系统调用这一层。

系统调用中,由VFS解析文件路径信息,找到对应的文件系统信息。再由具体的文件系统完成文件打开的操作。

这其中至少涉及到了应用程序、运行时库、系统调用、VFS、文件系统等多个层次。如果再细分的话,还涉及到用户态内存管理,内核态内存管理、权限管理、命名空间管理、句柄管理、缓存管理、锁、钩子等次级模块。

目前Linux支持的文件系统至少已经达到七十多种,有基于本地存储设备的、基于网络的、分布式的、基于内存的、虚拟的等等。有的文件系统在内核态实现,有的在用户态实现。

另外,C语言的条件编译,可以针对使用场景选择适合的代码编译。每一个条件编译选项就是对现实条件的一个考量。从Linux整个源码树中使用的条件编译选项的数量,也可以反映出Linux整个源码的复杂度。对Linux 5.10的源代码粗略统计,条件编译选项已经多达18000多个;而在6.1版本中,已经达到了19000多个。

4.3业务系统的复杂

在虚拟化技术以前,不同应用场景的业务系统的结构差异,主要表现为平面性的拓扑结构的差异,比如:对等式的、分布式的、客户服务器模式的等等,由于网络拓扑结构的不同、节点承担的业务角色的不同,形成了各种各样的业务系统。

在虚拟化技术出现后,云计算迅猛发展,云成为了信息系统的基础设施。业务系统的差异不仅仅体现在横向拓扑结构上,其自身逻辑的深层组成也是非常复杂。它可以运行在真实计算机上也可能在虚拟机上,可能在一个独立的命名空间,也可能和别的业务共享。不同业务模块之间的联系有可能是直接的,也可能在无法感知的情况下被层层嵌套。

业务系统的复杂性,体现在业务的复杂性与业务系统的复杂性两个方面。业务的复杂,导致我们需要对业务系统进行分层设计,需要有定制化的能力,需要有运营与持续开发并行的能力。上线前的产品级的开发很重要,但是上线后的业务级的持续定制和开发同样重要。复杂的业务必然导致复杂业务系统的产生,如何以一个统一的、足够强大的方式来解决复杂性问题,使复杂业务系统的复杂性是可以拆解的、可管理的,就非常重要。

4.4维护限制的要求

Linux系统已经规模化运行在各种类型的设备上,每一个商业系统,在其运行期间都是需要进行维护的。

对于大型的服务器系统,承载在成千上万的在线业务,是不能中断服务的,需要在线的定制能力。

对于个人终端,每个人的使用习惯不同,如何使每个用户都能获得最佳的使用体验,需要数据分析和个性化的定制能力。

对于散布在各处角落的边缘节点乃至物联网设备,需要内核提供更智能的介入方法,使维护人员能够远程完成对大量设备的维护工作。文章来源地址https://www.toymoban.com/news/detail-426283.html

到了这里,关于eBPF的发展演进---从石器时代到成为神(三)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 边缘网关协议(BGP)的演进与发展

    边缘网关协议(Border Gateway Protocol,BGP)是一种用于在网络边缘传输路由信息的协议。它被广泛用于骨干网络和接入网络中,用于在网络边缘路由流量,并确保不同的网络之间具有最佳的路由路径。BGP是由RIP协议发展而来的,但在实现和功能上有很大的不同。 BGP的主要功能是在

    2024年02月04日
    浏览(33)
  • AIGC时代 可演进的私有云将蔚然成风

    AIGC时代,IT基础设施如何兼顾原有资源和能力又能拥抱新技术应用,企业如何从资源上云到架构用云、从粗犷使用到精细治理?新旧相融难题已经成为了业界讨论的焦点。“以可演进的IT云敏捷支撑行业数字化转型”,浪潮数据云计算方案总监刘健一抛出此观点,便立刻引发

    2024年04月14日
    浏览(31)
  • BSN公网发展如何影响区块链的技术演进?

    2022年1月25日,区块链服务网络(BSN)面向国内市场发布了BSN-DDC基础网络,2022年9月6日,BSN在香港面向海外发布了BSN Spartan网络。BSN-DDC基础网络与BSN Spartan网络共同组成了BSN的公网产品体系。 BSN公网,是为公共IT系统搭建而设计的分布式云服务网络,这是BSN面向全球市场,与全

    2024年02月13日
    浏览(48)
  • 从互联网到云时代,Apache RocketMQ 是如何演进的?

    作者:隆基 2022 年,RocketMQ 5.0 的正式版发布。相对于 4.0 版本而言,架构走向云原生化,并且覆盖了更多业务场景。 操作系统、数据库、中间件是基础软件的三驾马车,而消息队列属于最经典的中间件之一,已经有 30 多年的历史。消息队列的发展主要经历了以下几个阶段:

    2024年02月14日
    浏览(47)
  • HTTP协议演进:为什么说HTTP/1.1的时代已经过去了

    前言   欢迎来到今天的每日一题,每日一提。昨天聊到了,HTTP 是什么。有哪些组成部分。并且最后提到了 HTTP 的一些缺点,比如:性能较低,容易导致网络拥塞和延迟,不支持服务器推送等等。设计协议的大佬们,对这样的缺点肯定是不能容忍的,所以 HTTP2 它来了。 什

    2023年04月17日
    浏览(41)
  • 开启AI高效办公时代,成为AI时代的先行者

    随着人工智能技术的飞速发展,AI已经深入到各个领域,为人们的工作和生活带来了巨大的变革。其中,AI智能化办公更是成为未来办公的新模式,为企业和个人提供了更加高效、智能和便捷的办公体验。 AI智能化办公通过自动化处理、智能分析和预测等功能,能够显著提高工

    2024年02月05日
    浏览(47)
  • 数字化时代,数据仓库和商业智能BI系统演进的五个阶段

    数字化在逐渐成熟的同时,社会上也对数字化的性质有了进一步认识。当下,数字化除了前边提到的将复杂的信息、知识转化为可以度量的数字、数据,在将其转化为二进制代码,引入计算机内部,建立数据模型,统一进行处理、分析、应用,还有了新的定义。 当下数字化指

    2024年02月11日
    浏览(39)
  • AI夸克:新时代文章利器,让你轻松成为文字王者

    新闻速递:ai写文章夸克,助您成为文字界的霸主! 亲爱的读者朋友们,您好!我是有无限创意与灵感的写文小能手——AI夸克。今日,我要向诸位隆重推荐一种新颖、实用而且充满魅力的文章写作技巧。无需再对写作感到惧怕,只需轻松几步,你就能在文字王国中披荆斩棘

    2024年02月04日
    浏览(44)
  • 开启JDK 11时代,掌握这些新特性,成为Java开发高手!

    大家好,我是小米,欢迎来到小米科技资讯公众号!今天我将为大家详细介绍 JDK 11 的一些新特性。JDK 11 是 Java 语言的一个重要版本,它带来了许多令人振奋的改进和功能,尤其是在电商应用领域。让我们一起来了解吧! JDK 11 引入了全新的 HTTP 客户端 API,取代了过时的 Ht

    2024年02月11日
    浏览(37)
  • 隐私计算发展脉络丨哪些厂商能在市场启蒙阶段脱颖而出,成为隐私计算发展领军者?

    近年来,我国不断出台政策引导和扶持隐私计算行业发展,相关的法律法规、规范性问价和技术标准陆续出台对我国隐私计算行业进行支持和规范。 自2019年开始,我国隐私计算行业就已开始快速发展,国内众多企业开始在相关赛道进行布局,例如互联网公司蚂蚁、百度和网

    2024年01月19日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包