范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

我们这群90后,正在字节跳动死磕Linux内核

  嘉宾 | 张宇、段熊春、宋牧春、谢永吉、邓良
  作者 | 凌敏
  随着互联网的快速更迭,许多明星产品在时代的光环下熠熠生辉;但在喧闹的背后,有这样的一个群体,默默的守护着互联网世界的平稳,今天我们就来介绍这样一群幕后守护者。
  2012 - 2022,是字节跳动产品线快速延伸的十年,也是基础设施规模快速增长的十年。在这背后,有这样一支团队默默为字节上层业务的稳定保驾护航,他们就是字节系统部 STE 团队。
  早在 2015 年,STE 团队就初具雏形,当时主要是问题驱动,为字节内部基础设施及软件系统提供技术支持。随着 2017 年抖音等热门产品用户量级大爆发、成为现象级 APP,字节内部的服务器规模愈发庞大,对系统的维护工作也成为重中之重。
  2018 年,团队被正式命名为 STE(全称:System Technologies & Engineering,系统技术与工程)。如今,STE 团队已从最初的 20 人扩大至数百人规模,在英国、美国等多地设有研发中心。技术维度也从操作系统内核扩展到服务器固件、编译器技术、系统虚拟化、主机网络、系统智能运维等基础技术,并将基础软件工程能力赋能业务。
  在本期访谈中,InfoQ 有幸采访到了 STE 内核方向的多位核心成员,了解他们在 Linux 内核优化上的技术实践与经验,以及这些工作为业务带来的价值,同时一窥这支专注于底层基础设施建设、在"看不见的地方"用技术构筑城墙的团队的精神和文化。  专注 Linux 内核的 90 后团队
  据了解,STE 内核团队是字节系统部面向公司内部所有业务提供 Linux 内核服务的团队,主要负责内核管理、进程调度、虚拟化和网络等几个方面的工作。据 STE 内核团队负责人段熊春介绍,在 2015 年 STE 团队初具雏形的时候,就有研发人员负责内核相关的工作。2018 年,STE 团队正式成立,内核方向也作为其下属团队之一,逐步扩建成有专职研发人员负责解决 Linux 内核存在的问题,并增加和维护新特性。
  我们注意到,这是一支非常年轻的团队,内核维护者以 90 后居多,这其实并不常见。毕竟 "Linux 之父"Linus Torvalds 曾感慨,"目前的维护者多是 50、60 后,社区面临代际更新问题。"Linus Torvalds 甚至担心,在他们这批 Linux 内核维护者老去之后,很难再找到新的继任者,因为很多年轻开发者认为"Linux 内核项目并不那么有趣"。
  STE 团队的负责人张宇深耕于系统技术领域多年,对此他也表示,"现在专注在底层基础软件、操作系统内核上的人才越来越匮乏,甚至出现了两种极端:一种是开发者的计算机基础非常扎实,底子好,但对内核研发并不感兴趣;一种是对内核非常感兴趣,但底子薄,需要补功课。同时具备这两方面优势的人才非常少。对于我们内核团队而言,年轻是我们的优势,正是这种对内核技术的痴迷和热爱,才让我们走到了一起。"
  向团队中注入新鲜的血液并不难,难的是如何让这些年轻人在 Linux 内核方向愈战愈勇、愈走愈远。对此,张宇提到了两个字:激发。给年轻人平台,激发其兴趣;给年轻人机会,激发其斗志。"我们也有很多资深的开发者,但他们更倾向于把好的机会留给年轻人。这种‘传帮带’的传统,能够让年轻开发者有机会站到台前,越做越有信心。否则,如果年轻人持续得不到鼓励、不被激发,在这条艰辛的道路上就很难做出成绩、走得长远。"张宇提到。
  正是在这种文化氛围的熏陶下,STE 内核团队依托于 Linux 内核,在虚拟化、云原生、eBPF 等技术方向都有非常硬核的输出。比如,2020 年 9 月,团队向 Linux 内核社区贡献了 HVO 方案,该方案能够解决 Linux 内核内存管理冗余这一难题。  困扰业内数十年的 Linux 内核内存管理冗余,有了解法
  从 Linus Torvalds 在 1991 年发布第一版开始,Linux 内核迄今已发展了 30 余年。据称,第一版的 Linux 内核只有 10250 行代码,占用 65 KB,而如今,Linux 内核代码行数早已超过 2700 万。
  Linux 内核每年新增 / 删除的代码多达百万行,也加入了越来越多优秀的特性。这样一个复杂且臃肿的工程,在不同的业务场景下,势必会面临各式各样的挑战。
  支撑字节全量服务器运转的正是 Linux 操作系统。STE 内核团队发现,一些云计算的场景会带来额外的内存管理开销,随着服务器规模越来越大,这种损耗也会成倍放大。
  "Linux 内核以页(一般 4 KB)为单位管理物理内存。每个 4 KB 页对应一个 struct page 结构体。使用一个 struct page 管理一个页,这本身没什么问题。但是当使用的页的大小是 2 MB 甚至 1 GB 时,Linux 依然以 4 KB 为单位分配 struct page,这显然是个内存浪费的行为。我的目的就是尽可能减少这部分冗余的内存管理开销。"说这话的是 STE 工程师宋牧春。2019 年 7 月,宋牧春加入字节 STE 内核团队,三年时间,宋牧春随团队一同成长,也完成了从 Linux 内核开发者到 Linux 内核维护者的转变,并成为 Linux 内核社区 HugeTLB 和 Memory Cgroup 两个核心子模块的 maintainer。
  实际上,Linux 内核内存管理冗余并不是一个新问题,它在业内已存在十年之久。过去不少公司都做过研究,但始终没有找到解法。即便如此,STE 内核团队依然想做一些尝试。在不断地讨论、验证各种方案的可行性后,团队发现这个问题是有可能被解决的。
  "某些场景会使用到大页,每个大页需要 8 个页的 struct page 去管理,即 8X4K 的内存,我们希望最终只占用一个页的物理内存(4KB)。对此,我们想的方案是复用,把后面 7 个虚拟地址映射到唯一的物理页,如果方案能成功落地,则意味着 1T 的服务器,最大能节省接近 16GB 的内存。即使优化 1%,整体给公司带来的收益也会非常大。"宋牧春说道。
  这套方案被称作 HVO (HugeTLB Vmemmap Optimization)。方案有了,下一步就是做代码调研。
  Linux 内核管理是非常复杂且核心的一个模块,它和各个模块交织在一起,它的稳定性也必然会影响整个 Linux 内核的稳定性。因此,STE 内核团队需要尽可能地减少该方案代码涉及的范围,并确保不会影响系统里的其他功能。为此,从 2020 年 4 月到 2021 年 6 月,团队开始了长达一年时间的代码调研、开发、测试和重构。
  用一年的时间,解决一个技术难题,值得吗?段熊春给出了肯定的回答。
  "我们会衡量这件事情的价值,显然我们也面临着很多压力,但真正难的事情是需要投入更多时间去看的,我们也需要这样做。基于对技术的狂热,我们周末也经常聚在一起讨论和思考,再把这些想法带到实际场景中,更好的打磨和优化。这是一个长期的过程,而这些突破也能为公司和业界带来巨大的收入,这就是有价值的。"
  同时,HVO 也得到了业界的广泛认可:华为、Google、AWS、甲骨文都准备将这个方案投入使用,还有公司向团队发来感谢信。"但这不是终点,我们会持续优化 HVO 方案。"段熊春说道。  Linux 内核云原生技术新探索
  设备虚拟化技术作为云计算领域最重要的基础技术之一,多年来一直在稳步向前演进。其中,virtio 和 VFIO 在过去一直是最主流的设备虚拟化技术,并分别于 2008 年、2012 年被合入 Linux 内核主线。为了将 virtio 和 VFIO 的优势结合,2020 年,vDPA(Virtio Data Path Acceleration)技术框架被合入 Linux 内核主线。
  与此同时,字节内部的云原生化进程也在进行着。
  据了解,字节最早于 2016 年开始在内部推进云原生化进程,对业务进行大规模容器化改造。到 2021 年年末,字节已经有超过 95% 的应用实现了云原生化。在这个过程中,STE 内核团队发现,容器在一些 I/O 相关的解决方案中,与传统的虚拟化方案相比比较受限。"我们当时希望能够在 Linux 内核中提供一套框架,开发者可以基于这个框架去模拟各种各样的设备,并且能够直接供容器接入使用。这样,就进一步弥补了基于容器的云原生方案在 I/O 方面的短板,甚至还能够和相对成熟的虚拟化方案实现一定程度上的技术复用。"STE 工程师谢永吉对 InfoQ 说道。
  于是,VDUSE 框架应运而生。通过 VDUSE,开发者可以在一个用户进程中实现一个软件定义的 vDPA 设备,并可以通过 vDPA 框架接入 virtio 或者 vhost 子系统,供容器或者虚机使用。
  根据介绍,具体的实现原理上,VDUSE 设备是由 /dev/vduse/control 的 ioctl(VDUSE_CREATE_DEV) 创建的,通过这个 ioctl,用户空间可以为这个模拟设备指定一些基本配置,如设备名称(唯一标识 VDUSE 设备)、virtio 特性、virtio 配置空间、virtqueues 数量等等。然后,一个字符设备接口(/dev/vduse/$NAME)会被导出到用户空间用于设备模拟。用户空间可以在 /dev/vduse/$NAME 上使用 VDUSE_VQ_SETUP ioctl 来初始化每个 virtqueue 的配置,如 virtqueue 的最大长度等。
  在初始化之后,VDUSE 设备可以通过 VDPA_CMD_DEV_NEW 这条 netlink 消息绑定到 vDPA 总线。之后,用户空间可以在 /dev/vduse/$NAME 上通过 read()/write() 来接收并回复来自 VDUSE 内核模块的一些控制请求,同时还可以通过 mmap() 映射一段共享内存,与内核相应的 virtio 驱动进行数据通信。
  2020 年 10 月,STE 内核团队向 Linux 内核社区正式开源 VDUSE。经过一年时间,VDUSE 在 Linux 5.15 版本被正式合入。
  "在计算存储分离的架构下,我们可以在计算节点通过 VDUSE 框架模拟各类存储设备供容器或虚机使用,这类存储设备的后端往往是远端的存储节点。现在,这套解决方案在字节的云原生场景已经开始大规模部署。后续,我们也将继续探索在云原生高性能网络场景上的应用可行性。"谢永吉说道。
  Linux 内核始终在向前演进,在 STE 工程师邓良看来,"随着云原生应用场景不断扩大、硬件朝着高密度应用异构的机型上发展,对 Linux 内核提出了新的要求。内核是连接底层硬件和上层云原生应用的一个桥梁,我们也在思考,当前这种单一的宏内核是否合适,并且我们也在做一些探索。"  拥抱社区,让技术产出更大的收益和价值
  如果说攻克技术难关靠的是技术硬实力,那么向社区推广并使其合入我们的代码,则要依靠足够多的耐心去沟通和布道。
  在与社区沟通上,STE 内核团队也积累了自己的经验。
  2020 年 9 月,当 HVO 第一个版本发到社区后,团队收到很多质疑的声音。"社区起初对我们的方案产生怀疑,我们需要先向社区证明这个方案没有问题。同时,社区也会提出一些针对性的问题,甚至有很多都是我们之前没有考虑过的场景。根据这些问题,我们再对方案进行迭代和维护。像 HVO,我们迭代了 20 多个版本,需要不断地向社区证明这个方案在不同场景的有效性,这个过程持续了很长的时间。"回忆 HVO 的社区之路,宋牧春觉得特别漫长。在他看来,社区需要考虑维护成本是否大于收益,这无可厚非,作为开发者和社区贡献者,要做的就是解释清楚技术方案能够产生的价值,让社区看到它带来的收益,并证明这个方案的可行性和稳定性。
  在企业内部,一套技术方案从开发到应用,这个链路并不复杂。但面向社区,开发人员需要考虑的问题就会更多。"很多时候,我们要突破自有场景,去看社区里的其他场景和痛点,而这些很可能是我们从来没有遇到过的。"显然,拥抱社区的沟通成本会很高,但在段熊春看来,为社区贡献代码能够实现双赢,这都是值得的。
  "现在我们的工作环境基本是模拟社区环境,工作模式也跟社区保持一致。这种标准化的作业模式能有效降低代码的维护成本,同时社区思维的开阔性,也为我们思考问题提供了更多的思路,进而为技术创造价值提供了更多的可能性。"  走进"无人区"
  对于 STE 内核团队的愿景和目标,张宇用了三个"贴近"来描述:贴近业务,去了解业务的痛点;贴近社区,去了解社区的方向;贴近新硬件技术,在软硬协同设计上发挥内核更大价值。内核本身无法直接创造价值,更多是通过服务业务来创造价值。所以团队在做研发时,一定要想清楚对业务的收益是什么,它能否真正的解决业务痛点,进而创造业务价值。
  STE 内核团队多年来一直深入社区。基于开源 Linux 操作系统,团队做了一些优化以满足企业内部的需求,反之,团队也会把这些好的特性回馈给社区,像前文提到的 HVO 和 VDUSE 都已被合入 Linux 内核主线。在张宇看来,STE 内核团队并不是要做一个标新立异的操作系统,更多的是源自技术初心,希望能够把自身的力量贡献给社区,交给 Linux,再不断引进。
  张宇表示,STE 团队非常重视"务实",这也是字节的核心价值观之一。"我们在做的事情都是围绕基础设施展开的,提高它的稳定性、优化性能等等,与公司内其他能直接创造收益的明星产品相比,我们是一个做减法的部门,通过技术手段降低基础设施成本,在业务链路里属于非常靠后的位置,就像足球场上的后卫一样,要能守住系统稳定性 / 可靠性的基本盘不出问题,又要能够往前场助攻进球。回到团队的愿景来看,我的想法比较简单务实,希望团队先满足业务的需求,再高于业务需求、先于业务需求,做一些引领业界的技术。就像一开始,我们是跟着社区,跟着业界领先者的路径去走,但随着我们技术能力不断提升以满足业务场景多样性的需求,再往前走,必将进入‘无人区’。"
  进入"无人区"后,没有方向的指引,也没有参照物,这才是最考验团队能力和韧性的时候。"我希望团队有开拓精神,辨识出合理的方向并坚定的走下去,也许在过程中会有微调,但最后顶多画出来的路线是波浪线,而不是一条完全没有目标的曲线。"张宇说道。  写在最后
  直到今天,团队对 HVO 的优化还在继续。2022 年 3 月,团队优化了 HVO 在 2 MB HugeTLB 的表现,与此前相比,它进一步将 2 MB HugeTLB 的 struct page 开销减少了 12.5%;2022 年 4 月,HVO 支持 ARM 64 架构;2022 年 5 月,HVO 支持运行时开关,不再束缚于 cmdline 的方式使能。
  依托 Linux 内核,团队在虚拟化、云原生、eBPF 等技术方向上也在继续探索着。
  "现在我们关注的比较多的场景,一个是云原生,这也是大家都在关注的方向,但当前并没有一个特别好的解决方案,甚至在云游戏的一些基础设施场景下,业界还没有形成一个标准;另一个就是软硬协同,用软件的方式定义硬件,用硬件的方式来定义软件。目前我们也围绕这些方向在做一些研究。"张宇认为,"如果团队一直在做一些重复的事情,是没有激情与战斗力的,对团队的期待还是要在满足业务需求之上,去做一些引领业界的事情。"
  在张宇看来,做操作系统这类基础软件不是一时热情,是需要长期投入的。大浪淘沙沙去尽,沙尽之时见真金。"目前国内外大厂也都在围绕自己的业务场景做软硬一体的事情,涉及基础系统软件、芯片板卡服务器之类的硬件研发。在做的同时也要上升到社会责任感的层面上来看,能贡献多少力量。这些都是需要持续思考的。"  嘉宾介绍:
  张宇,字节跳动 STE 团队负责人
  段熊春,字节跳动 STE 内核团队负责人
  宋牧春,字节跳动 STE 工程师、Linux 内核社区 HugeTLB 和 Memory Cgroup 两个核心子模块的 maintainer
  谢永吉,字节跳动 STE 工程师
  邓良,字节跳动 STE 工程师

2022皮卡品牌记忆郑州日产稳中取进回眸2022年的世界,必将在人类社会发展历程中留下不可磨灭的印记。世纪疫情影响深远,气候灾害接踵而至,地缘政治紧张对立,局部冲突激烈动荡,经济复苏迟滞乏力等黑天鹅灰犀牛事件对世界经从市辖区数量变化看新型城镇化发展来源人民网人民日报海外版nullnull珠三角地区曾拥有多个经济强县,后经过撤县设区,成为全国百强区,深圳南山区是其中之一。图为深圳南山区建设中的红树湾超级总部工地。王美燕摄(人民如今在Kpop女偶像中流行的低腰裤时尚头条创作挑战赛继(G)IDLE的Minnie之后,来自IZONE的ChoiYena也展示了她性感和非传统的时尚。1月12日,ChoiYena在自己的Instagram上晒出了多张照索尼发布两款新播放器ZX系列造型大变,其余只是常规更新2023年1月11日,索尼发布了两个新的WALKMAN播放器系列,分别是NWZX700系列和NWA300系列。这是在CES2023上的战略性发布会之后,第一组跑出来的WALKMAN去有风的地方,刘亦菲服装造型大盘点去有风的地方中,刘亦菲从第一集开始,几乎每一集都有新的服装造型搭配,到目前已经不下十套服装搭配。刘亦菲是模特出身,剧中展现超凡的模特素质,不愧为时尚的顶流代言人。下面盘点剧中刘亦菲谷爱凌身穿郭培高级定制礼服,出席巴黎名媛舞会11月26日,2022巴黎名媛舞会(leBaldesDbutantes)于法国巴黎16区的香格里拉酒店华丽启幕,来自世界各地的18位名媛少女在骑士的陪伴下优雅登场,迎来一场非凡梦幻一家英超顶级球队想免签波黑门将并租给拜仁,而萨利再次拒绝根据德国媒体图片报主编ChristianFalk的最新报道,在诺伊尔摔断腿后,拜仁正在拼命寻找一名新门将这是一个疯狂的转会故事!因为英国脱欧,拜仁最终可能免费得到一名顶级门将!效力意甲只允许上四外援,姚迪加入后,球队外援出场竞争更激烈了!意甲女排联赛只允许上四个外援,姚迪加入斯坎迪奇后,对于上场阵容是增强了还是削弱了,网友们争论不休,不妨帮斯坎迪奇分析分析。姚迪已抵达意大利斯坎迪奇女排俱乐部报到,原主力二传马里诺夫喜讯!中国女排开启留洋时代,7位选手先后出国,又有一人将加入随着时间的推移,2022年中国女排超级联赛终于告一段落,姑娘们也都踏上了回家的路,与家人们一同度过这难得的春节假期。接下去,大家将有近半个月的休息时间,正好可以好好的陪伴家人。然而iOS微信8。0。32发布朋友圈视频支持放大等8大更新!给你们最新最快的iOS微信最新更新资讯!还记得上一次的iOS微信8。0。32内测版本是在2022年发布的,今天终于迎来了正式版的更新,本次的更新的内容相对来说比较少,但是喜欢每次更湖人机会来了?和锡安齐名,23岁潜力前锋要被交易,只需2个次轮主场击败步行者,雷迪什再次遭到锡伯杜弃用。根据随队记者透露,前者仍然在被管理层兜售,基本不会再有出场机会了。尼克斯对雷迪什的要价相当透明,一个首轮,或者是两个次轮。自由市场上,湖人
吃生姜去皮和不去皮,差别竟这么大柯大夫,你好。我平时做饭时,喜欢放点生姜,而且我会习惯性去皮,但我老公说不去皮更好。听说去不去皮真的有讲究,说是跟性味有关。请问是真的吗?另外,生姜发芽了还能不能吃?烂姜不烂味的说日常喝茶关于喝茶时的茶醉,明白三点,成为喝茶高手会喝茶,喝好茶,是一种清福俗话说春困秋乏夏打盹喝茶提神醒脑抗疲劳,成为了大多数人的首选!有人会说喝茶时,会觉得头晕眼花浑身乏力反胃恶心犹如喝醉的感觉,这种感觉称为茶醉借用网络上一句入夏暑热易上火,心火肝火胃火肺火,上火表现各不同立夏之后,天气逐渐炎热起来,而随着暑热的到来,人体也更容易出现上火的表现。什么是上火?上火是民间的俗语,与我们的中医理论相关联。正常火应该向下来温煦人体,当各种原因导致火无法下行转熟茶一克就有五亿霉菌?喝的普洱就是在喝脏水?喝普洱茶还安全吗文一盏茶的时光图片来源于网络最近关于普洱茶里到底有没有细菌的争论引起了众多网友的关注。有人说,一克普洱熟茶就有五亿霉菌,喝熟茶就相当于喝脏水有人甚至说,普洱熟茶里含有最强致癌物黄曲为啥老一辈人因为穷经常吃咸菜,却很少高血压癌症?告诉你真相小咸菜是现在很多人非常爱吃的食物,尤其是早上!说起咸菜,在过去五六十年代,人们比较穷,那个时候只能把新鲜蔬菜进行腌制,既能保存很长时间也能够控制摄入量。老一辈儿的人每天吃咸菜的量是马达加斯加香草产量和出口量居世界首位的非洲国家马达加斯加位于非洲大陆东部的印度洋上,与莫桑比克隔海相望,面积约590750平方公里,全国大部分地区位于南回归线以北,主体部分包括马达加斯加岛和附属小岛,地形复杂,有山地高原盆地平全军覆没!东道主13人被淘汰,03不敌世界亚军,日本2人出局北京时间5月7日,WTT支线赛费利蒙站比赛正在进行。目前,女双四强大名单已经出炉。本站公开赛,国乒并没有报名参赛,单项冠军将收获150积分。女双方面,日本森樱守笹尾明日香报名参赛。正式离队!富兰克林公开发声,或被李春江放弃在联赛的第7年结束了。征程中的又一个赛季。遗憾的是,我没有走得更远,但我认为这只是时间问题。去年我经历了许多,能得到队友教练组,球迷以及联盟其他球员教练的支持,我非常感激。感谢中国5G时代的虚拟手机云手机,到底是怎么回事?大家好,我是七七。欢迎大家来到我们的频道。前几期,我们为大家介绍了ARM安卓虚拟化相关的概念和背景,从这期开始,我们将为大家介绍应用场景。今天,首先为大家介绍云手机背后的ARM安卓4款热门美白精华大集合,适合肤质成分分析,你用对了吗?对于美白精华产品,它的护肤效果不只是让肤色变白这么简单,要知道造成肤色暗淡的因素是非常复杂的,如果我们没有用对产品,那么改善肤色效果也并不能如意。今天考拉会对目前热度颇高的四款美白小鹏P5P7来新车型了,智能驾驶将成标配,特斯拉最强对手来了?据小鹏官宣,5月9日,小鹏汽车新车型小鹏将新增5款车型,让人津津乐道的智能辅助驾驶或将成为标配!添加了5个新车型小鹏P5新增460P机型,补贴后全系售价17。79万24。99万小鹏