带你读《2022龙蜥社区全景白皮书》——5.3.5 敏捷开发场景下的调度器热升级SDK

本文涉及的产品
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: 带你读《2022龙蜥社区全景白皮书》——5.3.5 敏捷开发场景下的调度器热升级SDK

5.3.5 敏捷开发场景下的调度器热升级SDK


背景概述


不同的应用程序,通常需要不同的调度策略来优化性能。而内核发布周期很长,升级内核的成本通常较高,优化无法快速规模化部 署。并且针对特定应用的调度器优化,常常造成其他场景的性能回退,发生问题也难以回滚。通过传统热修复技术,可以在不升级 内核的情况下,实现内核局部更新和优化,针对性提升一些应用的性能。但传统技术无法实现整个子系统升级,不支持大型调度特 性,停机时间长。而调度器热升级技术解决了以上问题。


技术方案  


调度器热升级SDK通过模块化、数据重建、热替换等技术,实现调度器研发、测试、上线、维护的敏捷化和定制化。其中,模块化 技术自动地从内核中解耦出调度器模块代码,面向内核开发者提供敏捷开发的SDK;热替换技术使得管理员可在毫秒级downtime 内部署;数据重建技术将数据状态从升级前的调度器迁移到升级后的调度器。通过这些技术,可以实现定制化调度器,从而解决不 同应用和负载需要不同调度器的问题,并实现生产可用。软件架构如下图所示:


image.png


方案兼容多架构、内核版本。已测试通过的包括aarch64、x86-64架构;4.19、5.10系列内核。其余版本正在测试支持中。方案同 时支持各种调度器特性,经测试验证通过的包括以下:微型调度器、物理核调度器(Core Scheduling)、删除限流功能(CFS  bandwidth control)、龙蜥CPU混部特性等、上游Linux社区的各种bugfix。


应用场景及性能收益


调度器热升级SDK适合于下面几种场景,这些场景均已得到验证。

- 架构上有针对特殊硬件、应用、负载来定制化调度器的需求。

- 管理员不能切换内核,或周期很长;或由于社区运作停止内核版发布和维护。

- 内核开发者需要敏捷且可回滚地开发测试上线调度器。


某云Serverless服务,通过调度器热升级SDK,将Linux上游物理核调度器特性,以及基于之上自研的算力稳定技术,安装到较老的 ANCK 4.19内核的系统上。最后通过这一优化,他们的客户实例减少了约10%的P99延迟,并降低了性能的抖动,还大幅降低了启动 时间。验证了调度器热升级方便支持大型特性以及扩展研发的能力。


某云容器服务,基于龙蜥操作系统为客户提供混部技术,但部分客户同时也使用CentOS系统,他们发现使用CentOS的客户无法享 受到龙蜥操作系统同等的混部能力。因此通过调度器热升级SDK,将龙蜥内核的CPU混部技术安装到CentOS内核,让使用CentOS 的客户也能使用龙蜥操作系统的CPU混部技术。


某互联网金融服务公司,利用调度器热升级SDK,敏捷地将他们自研的调度器优化安装到他们的核心业务中。包括了Linux CFS调度 器和ANCK的CPU资源隔离技术的优化。稳定减少了5%的CPU资源浪费,同时降低业务rt。上线过程中,在40,000线程的环境中, 停机时间小于12ms。最终优化效果得到运维人员的认可,调度器热升级SDK的易用性也得到研发人员的认可,希望继续使用调度器 热升级SDK进行系统优化。



相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
3月前
|
存储 Java 开发工具
【Azure 存储服务】Azure Blob Storage SDK 升级失败,遇见 Unsatisfied Dependency Exception 和 Unexpected Length Exception
【Azure 存储服务】Azure Blob Storage SDK 升级失败,遇见 Unsatisfied Dependency Exception 和 Unexpected Length Exception
|
1月前
|
存储 安全 开发工具
百度公共IM系统的Andriod端IM SDK组件架构设计与技术实现
本文主要介绍了百度公共IM系统的Andriod端IM SDK的建设背景、IM SDK主要结构和工作流程以及建设过程遇到的问题和解决方案。
53 3
|
1月前
|
存储 文字识别 算法
解析!文档扫描 SDK 中的高级图像处理技术
本博客讨论了图像质量在文档扫描中的重要性,解决了扫描过程中遇到的常见挑战,以及文档扫描 SDK 利用先进的图像处理技术来应对这些挑战。
|
3月前
|
编解码 Linux 开发工具
大牛直播SDK跨平台RTMP直播推送模块技术设计和功能列表
大牛直播SDK是一款跨平台RTMP直播推送模块,支持Windows、Linux(x64_64与aarch64架构)、Android及iOS平台。该SDK功能全面,包括摄像头、屏幕、麦克风等数据采集与推送,并支持编码前后数据对接。其架构设计优秀,确保低延迟与高效率,结合SmartPlayer播放器实现毫秒级延迟体验。具备全自研框架,易于扩展且支持多种数据源接入,如外部YUV/RGB/H.264等格式。此外,各平台支持特性丰富,如Windows平台支持多摄像头合成,Android与iOS平台支持前后摄像头实时切换等。大牛直播SDK还提供了多个示例项目以帮助开发者快速上手。
|
5月前
|
JSON 前端开发 JavaScript
技术笔记:vmware之VMwareRemoteConsole(VMRC)SDK(二)
技术笔记:vmware之VMwareRemoteConsole(VMRC)SDK(二)
232 0
|
6月前
|
存储 安全 机器人
【LLM】智能学生顾问构建技术学习(Lyrz SDK + OpenAI API )
【5月更文挑战第13天】智能学生顾问构建技术学习(Lyrz SDK + OpenAI API )
105 1
|
6月前
|
开发工具 iOS开发 Perl
mac电脑升级到10.15.7含有支付宝SDK的组件更新报错:AlipaySDK.framework/AlipaySDK for architecture arm64
mac电脑升级到10.15.7含有支付宝SDK的组件更新报错:AlipaySDK.framework/AlipaySDK for architecture arm64
86 0
|
JSON JavaScript 前端开发
3D孪生场景SDK:Viwer 孪生世界
NSDT编辑器简化了WebGL 3D应用的开发,完全兼容Three.JS生态。本文介绍如何在自己的应用中嵌入使用NSDT编辑器搭建的3D场景,并通过JS API与场景进行交互。
140 0
|
3月前
|
JavaScript 前端开发 Java
[Android][Framework]系统jar包,sdk的制作及引用
[Android][Framework]系统jar包,sdk的制作及引用
82 0