资讯专栏INFORMATION COLUMN

谷歌数据中心尝试转向主线内核,发起新的项目Project Icebreaker

JohnLui / 2885人阅读

摘要:来源于谷歌数据中心官网数据中心是谷歌用来提供服务的计算机软件和大型硬件资源等技术基础设施。第二个目标是能够在该内核的生产环境中运行任意谷歌二进制文件,这将是一个真正的生产内核,在变更内核版本前验证上游变化。

整理 | 祝涛
出品 | CSDN(ID:CSDNnews)

近日Google发起了一个新的内核项目Project Icebreaker,旨在解决两个问题:紧跟主线内核,让Google为产品引入的新特性能更容易递交到上游的主线内核;能在内核生产环境中运行任意 Google 程序,在Prodkernel变更内核版本前验证上游变化

来源于谷歌数据中心官网

Google数据中心(Google Data Centers)是谷歌用来提供服务的计算机软件和大型硬件资源等技术基础设施。美国有13间;欧洲有6间;亚洲有2间;南美洲有1间。

Google数据中心产品系统运行的内核被称为Prodkernel,它是基于旧版本的Linux kernel,加上Google打上的大约9000个补丁,补丁包括各种内部API、硬件支持、性能优化,以及其它必要的微调。每隔两年左右时间,这些补丁会移植到较新版本的Linux kernel。

Project Icebreaker的提出

Google发现这种工作模式面临越来越大的挑战,原因包括:内核在两年中变化很大,跟踪bug会耗费大量时间。但Google也无法直接使用主线内核,因为它的工作负荷需要的某个特性在主线内核中可能并不存在。雪上加霜的是,Google为其产品开发的每一个特性都是在Prodkernel上开发和测试的。Prodkernel与主线内核之间的巨大差异给开发增加了越来越多的难度

为了解决这个问题,谷歌的两位工程师Andrew Delgadillo 和Dylan Hatch来到2021年的北美开源峰会,讨论一个项目——破冰计划Project Icebreaker。

Project Icebreaker有两个主要目标:

  • 首先,与上游内核保持紧密的距离。这个想法旨在为每一个主要的上游内核版本发布一个新内核,让Google为产品引入的新特性能更容易递交到上游的主线内核。
  • 第二个目标是能够在该内核的生产环境中运行任意谷歌二进制文件,这将是一个“真正的生产内核”,在Prodkernel变更内核版本前验证上游变化。

这些目标很重要,因为团队需要“更好的上游参与”。

结构

工程师说,在考察Icebreaker的工作结构时,要考虑两方面:

  • 一方面是如何开发特性以便将它们部署到Icebreaker内核上。
  • 另一方面是那些补丁需要如何升级,以便将它们放到下一个Icebreaker版本的新主线内核中。

工程师Hatch认为,Icebreaker比目前的prokernel方案更有利于上游。Icebreaker特性分支是在一个最新的主线内核上完成的,它们通过这种方式进行测试,所以测试结果与上游更相关。这将允许开发者更容易地为主线提供特性。

风险

Icebreaker也存在一些风险:

  • 其中一个较大的问题是需要大量的特性分支测试
  • 此外,功能之间的依赖关系也可能是Icebreaker的风险。
  • 另一个风险是Icebreaker的集中化程度远低于Prodkernel进程
  • 最后一个风险是,Icebreaker的功能确实需要靠近上游,否则它将再次退化到Prodkernel。但如果越来越多的补丁加入到Icebreaker中,而不减少被合并的补丁,团队将无法跟上主线

现状与未来

目前Icebreaker是基于5.13 kernel,而最新的内核版本是 5.14,而5.15内核还处于发布候选阶段。

Icebreaker计划在5.15或5.16紧紧抓住上游,这将是项目的转折点。工程师说,到那时,它将“乘风而上”。可能会出现的一个问题是,功能维护者不得不每隔三、四周重新调整并修复冲突——在Prodkernel模型中,这种情况大约每两年发生一次一旦项目赶上进度,就只需要每十周左右进行一次调整,并与主线计划保持一致。

参考链接:

  • https://lwn.net/SubscriberLink/871195/d7e9acf5894446e6/
  • https://www.google.com/intl/zh-CN/about/datacenters/

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/122139.html

相关文章

  • 亚马逊、微软、谷歌,全球云端之战愈演愈烈

    摘要:作为全球云市场领跑者,亚马逊在零售行业的云服务领域却很衰,而微软谷歌和阿里的奋起直追,也对这位行业先行者发起挑战。当然,从全球范围来看,南非只是局部战场之一,亚马逊与微软谷歌之间的战争在零售科技等领域早已打响。作为全球云市场领跑者,亚马逊在零售行业的云服务领域却很衰,而微软、谷歌和阿里的奋起直追,也对这位行业先行者发起挑战。不过,全球云市场仍是一片浩瀚的蓝海,在这个小企业根本玩不起的行业,全...

    Java_oldboy 评论0 收藏0
  • 【开源项目】保姆指导讲解优质项目分支管理

    摘要:学委补充一下,代表每次有效开发工作的提交与合并。如果是一个百人团队,那么学委建议根据实际考虑了。 学委最近又开发了一个项目,后面会说。 这次学委讲讲开源项目的...

    LdhAndroid 评论0 收藏0
  • linux-版本相关

    摘要:表示结束维护长期维护,修复比如就是结束维护的版本长期维护的版本,,,,,一般是指发行版的意思,真正意义上说只是一个内核,我们通常使用的都是基于内核的发行版了。 Linux内核版本 查看内核版本命令: uname -r version解析: 3.10.0-128.el7.x86_64 3.10.0:主版本.次版本.释出版本-修改版本3.10:3.10版内核128: 表示这个当前版本的第5...

    Carbs 评论0 收藏0
  • 容器技术开源项目综述

    摘要:年容器大火,围绕着容器技术的发展也涌现了许多新项目。项目类本节综述了目前开源社区和互联网公司围绕容器技术开发的相关项目。是公司开源项目,旨在为提供守护进程。 2015年容器大火,围绕着容器技术的发展也涌现了许多新项目。同时,许多老项目也开始支持容器作为运行环境。下面介绍这些项目: 规范标准类 容器使用了Linux内核的特性,Docker的成功也主要在于其充分挖掘了此类特性。但Docke...

    idealcn 评论0 收藏0
  • 容器技术开源项目综述

    摘要:年容器大火,围绕着容器技术的发展也涌现了许多新项目。项目类本节综述了目前开源社区和互联网公司围绕容器技术开发的相关项目。是公司开源项目,旨在为提供守护进程。 2015年容器大火,围绕着容器技术的发展也涌现了许多新项目。同时,许多老项目也开始支持容器作为运行环境。下面介绍这些项目: 规范标准类 容器使用了Linux内核的特性,Docker的成功也主要在于其充分挖掘了此类特性。但Docke...

    mengbo 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<