关键特性
openEuler 23.03采用Linux 6.1内核,为未来openEuler长生命周期版本采用6.x内核提前进行技术探索,也方便开发者进行硬件适配、基础技术创新和上层应用创新。openEuler 23.03 目前支持X86、鲲鹏和树莓派三种最主流的芯片架构和硬件。
openEuler 23.03基于Linux Kernel 6.1构建
- CFS burstable带宽控制器:通过cgroups引入burstable CFS控制器,允许burst CPU绑定的工作负载借用未来的配额,以改善整体延迟和批处理性能。
- SCHED_IDLE的cgroup支持:支持将整个cgroup中的所有任务放到task scheduler的SCHED_IDLE类下,使这些任务只在没有其他任务等待运行的情况下才运行。
- 调度优化:改善唤醒延时;改善NUMA不平衡行为;优化/调整select_idle_cpu(),以减少在过载系统上搜索空闲CPU的时间。
- Memory tiering优化:改进内存管理子系统,首先引入一种新算法,有助于识别NUMA节点中哪些页面是热的,以便系统可以将热/冷页面提升/降级到适当的NUMA节点。另外使分层信息可用于用户空间,并允许用户配置它。
- BPF CO-RE支持:支持BPF程序一次编译,到处运行,解决BPF程序移植难的问题。
- XFS可扩展性提升:通过删除自旋锁和全局同步点,改进了XFS日志可扩展性;另外,提升了缓冲区缓存的无锁查找性能。
- IO_URING优化:异步缓冲写入特性,使用XFS有3倍性能提升。
- PSI优化:压力停止信息(PSI)提供了系统中当前资源使用情况的详细视图。新增per-cgroup PSI、IRQ/SoftIRQ PSI及一些优化。
高性能服务网格数据面Kmesh
Kmesh基于可编程内核,将服务治理下沉OS,实现高性能服务网格数据面,服务间通信时延对比业界方案提升5倍。
- 支持对接遵从XDS协议的网格控制面(如istio)。
- 流量编排能力。
- 负载均衡:支持轮询等负载均衡策略。
- 路由:支持L7路由规则。
- 灰度:支持百分比灰度方式选择后端服务策略。
内核配置项错误值检查工具kconfigDetector
对于常见的内核配置项类型错误、取值错误、依赖错误和匹配错误等提供校验检查能力,提供辅助定位能力,进一步简化内核配置项的校验、提高问题定位能力。
- 内核配置文件错误值检查:能够快速发现类型错误、依赖不满足、依赖风险、未找到配置项、range未满足、取值告警等错误类型。
- 内核配置项依赖关系查询:实现内核配置空间建模,能够快速查询所有直接和间接依赖的父类、子类配置项。
NFS多路径
NFS多路径是指单个挂载点下,客户端和服务端之间建立多条链路,支持IO在多条链路中进行传输,进而提升单个挂载点性能,同时周期性检测链路状态信息,支持链路故障IO快速切换。
- NFSv3支持Round Robin链路选路算法,实现多条链路性能均衡。
- NFSv3和NFSv4支持链路故障快速切换,提升NFS可靠性。
- 提供链路选路算法注册接口,支持NFS服务端开发者自定义选路算法。
- 支持周期性链路可用性检测。
- 支持查看链路状态。
OmniVirt
OmniVirt是由openEuler社区技术运营团队及基础设施团队孵化的开发者工具集,通过对主流桌面操作系统中的虚拟化技术(LXD、HyperV、Virtualization framework)进行有机整合,使用openEuler社区官方发布的虚拟机、容器镜像,为开发者在Windows、MacOS、Linux上提供统一的开发资源(虚拟机、容器)发放和管理体验,提升主流桌面操作系统上openEuler开发环境使用的便利性和稳定性,有效提升开发者体验。
引入openGemini时序数据库
openGemini是专为物联网和运维监控等场景设计的一款云原生分布式时序数据库,致力于提供云原生、高性能、高扩展、低存储成本、存储分析一体化的用户体验,帮助用户降低系统维护成本,提高生产效率。
openGemini通过MPP大规模并行处理分层架构,采用了多项创新优化技术,比如向量化、流计算、多级数据降采样、LSM优化、AI4DB、数据压缩等,以应对可观测性、AIOps、IoT等领域超大规模时间线和海量时序数据给数据库带来性能和存储成本的巨大挑战,打造面向物联网、运维监控和数据存储分析的一体化平台。
分布式软总线增强
分布式软总线已集成OpenHarmony的分布式软总线和hichain点对点认证模块,实现欧拉嵌入式设备之间互联互通、欧拉嵌入式设备和OpenHarmony设备之间互联互通。
本次版本新增BLE蓝牙发现能力,新增支持文件和流传输接口,引入nstack和fillp协议,相对历史版本在不稳定网络环境下传输效率明显提升。
iSulad支持镜像RO数据管理目录拆分特性增强
- 基于镜像的数据只读的特性,对镜像数据进行分类管理,实现镜像数据和容器数据的拆分。
- 解耦了容器数据和镜像数据的存储,有利于用户对容器和镜像数据的灵活管理,为镜像数据分部署共享提供技术可能性。
编译器插件框架特性增强
编译器插件框架提供面向MLIR的插件开发接口,以实现一次开发和多编译器落地为目标,避免编译工具的重复开发。编译器插件框架作为插件工具开发平台,提供对工具兼容性、完整性校验等公共能力的支持与维护,帮助用户以插件的形式提高优化特性的开发效率。
- 提供基于MLIR的插件开发能力,支持与GIMPLE等编译器中间表示的转换。
- 插件框架提供对19类GIMPLE的支持。
- 支持兼容性检测、二进制完整性校验等公共能力。
- 支持安全编译选项校验、操作合法性校验等插件运行监控校验功能。
- 支持插件客户端作为GCC插件加载,可以在完全不需要修改GCC编译器代码的情况下实现插件功能。
- 支持为链接时优化(LTO,Link Time Optimization)使能插件框架。
secGear机密计算统一开发框架特性增强
secGear是openEuler机密计算统一开发框架,致力于兼容业界主流TEE,屏蔽TEE及SDK差异,对开发者提供统一、简易的开发接口,实现不同架构共源码,使开发者聚焦业务,降低机密计算应用开发维护成本,打通各TEE应用生态,助力机密计算生态建设。
本次版本新增支持安全通道通用特性。安全通道SDK分为客户端、服务端host、服务端enclave三部分,分别由业务的客户端、服务端CA、服务端TA集成。
- 支持客户端(REE)- 服务端(TEE)之间安全通道协商:协商完成后,两端拥有相同的key加解密。
- 客户端支持加解密。
- 服务端TA支持加解密。
radiaTest社区测试平台特性增强
radiaTest是一个openEuler社区孵化的用以承载社区全流程测试活动的管理平台。该平台核心为web端数据中台,帮助社区版本测试高效运作,使社区版本测试可跟踪可追溯。具备支撑资源管理以及自动化测试功能的插件化服务,支持对接多元测试引擎。
本次版本更新主要是为了解决平台的高鉴权门槛问题,并对能力进行补全。
- 重构登录鉴权逻辑,使能各组织/社区采用多元化鉴权方式。如登录openEuler组织基于openEuler社区统一鉴权,而非码云企业仓应用鉴权。
- 质量看板新增版本基线用例测试进展展示,支撑以版本视角看护用例执行状况。
- 测试设计IT化,提供组织/社区测试策略管理易用入口。
- 优化问题单提交功能,支持对测试任务关联问题单数据进行统计。