关键特性

AI 场景创新

智能时代,操作系统需要面向AI不断演进。一方面,在操作系统开发、部署、运维全流程以AI加持,让操作系统更智能;另一方面,openEuler已支持ARM,x86,RISC-V等全部主流通用计算架构,在智能时代,openEuler也率先支持NVIDIA、昇腾等主流AI处理器,成为使能多样性算力的首选。

OS for AI

开箱易用

openEuler兼容NVIDIA、Ascend等主流算力平台的软件栈,为用户提供高效的开发运行环境。通过将不同AI算力平台的软件栈进行容器化封装,即可简化用户部署过程,提供开箱即用的体验。同时,openEuler也提供丰富的AI框架,方便大家快速在openEuler上使用AI能力。

  1. openEuler已兼容CANN、CUDA等硬件SDK,以及TensorFlow、PyTorch、 MindSpore等相应的AI框架软件,支持AI应用在openEuler上高效开发与运行。
  2. openEuler AI软件栈容器化封装优化环境部署过程,并面向不同场景提供以下三类容器镜像。
    • SDK镜像:以openEuler为基础镜像,安装相应硬件平台的SDK,如Ascend平台的CANN或NVIDIA的CUDA软件。
    • AI框架镜像:以SDK镜像为基础,安装AI框架软件,如PyTorch或TensorFlow。此外,通过此部分镜像也可快速搭建AI分布式场景,如Ray等AI分布式框架。
    • 模型应用镜像:在AI框架镜像的基础上,包含完整的工具链和模型应用。

相关使用方式请参考《openEuler AI 容器镜像用户指南》。

sysHAX大语言模型异构协同加速运行时

sysHAX大语言模型异构协同加速运行时专注于单机多卡环境下大模型推理任务的性能提升,针对鲲鹏+xPU(GPU、NPU等)的异构算力协同,显著提升大模型的吞吐量和并发量:

  • 算子下发加速:适配vllm v0.9.1版本,进行调度引擎优化,降低CPU侧时延。
  • CPU推理加速:通过NUMA亲和调度、矩阵运算并行加速、SVE指令集推理算子适配等方式,提升CPU的吞吐量。
  • 异构融合调度:支持在GPU侧任务满载时,动态将推理请求的prefill阶段在GPU上执行,decode阶段放在CPU上执行。

故障分组检测

AI 集群在训练过程中不可避免会发生性能劣化,导致性能劣化的原因很多且复杂。现 有方案是在发生性能劣化之后利用日志分析,但是从日志收集到问题定界根因诊断以及现 网闭环问题需要长达 3-4 天之久。基于上述痛点问题,我们设计了一套在线慢节点定界方 案,该方案能够实时在线观测系统关键指标,并基于模型和数据驱动的算法对观测数据进 行实时分析给出劣慢节点的位置,便于系统自愈或者运维人员修复问题。

基于分组的指标对比技术提供了 AI 集群训练场景下的慢节点/慢卡检测能力。这项技术通过 sysTrace实现,新增内容包括配置文件、算法库、慢节点空间维度对比算法和慢节点时间维度对比,最终输出慢节点异常时间、异常指标以及对应的慢节点/慢卡 ip, 从而提高系统的稳定性和可靠性。该特性主要功能如下:

  • 配置文件:主要包括待观测指标类型、指标算法配置参数以及数据接口,用于初始化慢节点检测算法。
  • 算法库:包括常用的时序异常检测算法 spot 算法,k-sigma 算法,异常节点聚类算法和相似度度量算法。
  • 数据:采集到的各个节点的指标数据,以时序序列表示。
  • 指标分组对比:包括组内空间异常节点筛选和单节点时间异常筛选。组内空间异常节点筛选根据异常聚类算法输出异常节点;单节点时间异常筛选根据单节点历史数据进行时序异常检测判断节点是否异常。

异构融合GMem

在后摩尔时代,GPU、TPU 和 FPGA 等专用异构加速器设备正不断涌现,它们与 CPU 类似,需要将数据放在本地内存(例如 LPDDR 或 HBM)中以提高计算速度。加速器厂商们也不可避免地需要开发复杂的内存管理系统。 现行加速器内存管理方案存在诸多缺陷:

  • CPU 侧内存管理与加速器侧分离,数据显式搬移,加速器内存管理的易用性和性能难以平衡。
  • 大模型场景下加速器设备 HBM 内存(High BandWidth Memory)严重不足,现有的手动 swap 方案性能损耗大且 通用性差。
  • 搜推、大数据场景存在大量无效数据搬移,缺少高效内存池化方案。

Linux 现有的 HMM 框架,编程复杂度高且依赖人工调优,性能和可移植性差,引发 OS 社区反弹,最终导致 HMM 方案搁浅。异构加速器领域亟需高效的统一内存管理机制。异构通用内存管理框架 GMem (Generalized Memory Management),提供了异构内存互联的中心化管理机制,且 GMem API 与 Linux 原生内存管理 API 保持统一,易用性强,性能与可移植性好。加速器使用 GMem API 将内存接入统一地址空间后,可自动获得 GMem 面向异构内存编程优化的能力。与此同时,加速器驱动无需重复实现内存管理框架,大幅降低开发维护带来的成本。开发者使用一套统一申请、释放的 API,即可完成异构内存编程,无需处理内存搬移等细节。在加速器 HBM 内存不足时,GMem 可将 CPU 内存作为加速器缓存,透明地超分HBM,无需应用手动 swap。GMem 提供高效免搬移的内存池化方案,当内存池以共享方式接入后,可解决数据反复搬移的痛点。

AI for OS

当前,openEuler和AI深度结合,一方面,基于openEuler操作系统,研发出了openEuler Intelligence,初步实现基于知识库的智能问答、基于语义接口的工作流编排等功能,在此基础上,openEuler Intelligence集成了部分系统服务,让openEuler更智能。

智能问答

openEuler Intelligence目前支持Web和智能Shell两个入口。

  1. 智能调度和推荐:智能调度:openEuler Intelligence支持用户在一个应用中定义多个工作流,基于用户的查询,openEuler Intelligence会自动的提取参数且选择最为合适的工作流进行工作。智能推荐:openEuler Intelligence基于用户的查询和工作流的运行结果,推荐用户接下来可能会使用的工作流,增加任务的完成概率,简便应用的使用。
  2. 工作流:语义接口:语义接口是指含有自然语言注释的接口形式,openEuler Intelligence提供了两种语义接口注册方式。工作流编排及调用:openEuler Intelligence允许用户将系统提供的语义接口以及用户注册的语义接口以可视化的形式连线成工作流,并支持用户对工作流进行调试且以应用的形式进行发布和使用,工作流在调试和使用过程中会展示中间结果,降低用户调试成本,提升用户交互体验。
  3. RAG:RAG(检索增强技术)是为了增强大模型长期记忆能力和降低大模型训练成本诞生的技术,相较传统RAG,openEuler Intelligence中的RAG技术在检索前处理、知识索引、检索增强算法和检索后处理方面做了改进。
  4. 语料治理:语料治理是openEuler Intelligence中的RAG技术的基础能力之一,其通过上下文位置信息提取、文本摘要和OCR增强等方式将语料以合适形态入库,以增强用户查询命中期望文档的概率。
  5. 自动化测试:自动化测试是openEuler Intelligence中的RAG技术的基础能力之一,其通过自动化数据集生成和测试评估识别知识库和检索增强算法等配置的不足。

智能调优

openEuler Intelligence 智能调优功能目前支持智能shell入口。 在上述功能入口,用户可通过与openEuler Intelligence进行自然语言交互,完成性能数据采集、系统性能分析、系统性能优化等作业,实现启发式调优。

智能诊断

  1. 巡检:调用Inspection Agent,对指定IP进行异常事件检测,为用户提供包含异常容器ID以及异常指标(cpu、memory等)的异常事件列表。
  2. 定界:调用Demarcation Agent,对巡检结果中指定异常事件进行定界分析,输出导致该异常事件的根因指标TOP3。
  3. 定位:调用Detection Agent,对定界结果中指定根因指标进行Profiling定位分析,为用户提供该根因指标异常的热点堆栈、热点系统时间、热点性能指标等信息。

智能容器镜像

openEuler Intelligence目前支持通过自然语言调用环境资源,在本地协助用户基于实际物理资源拉取容器镜像,并且建立适合算力设备调试的开发环境。当前版本支持三类容器,并且镜像源已同步在dockerhub发布,用户可手动拉取运行:

  1. SDK层:仅封装使能AI硬件资源的组件库,例如:cuda、cann等。
  2. SDK + 训练/推理框架:在SDK层的基础上加装tensorflow、pytorch等框架,例如:tensorflow2.15.0-cuda12.2.0、pytorch2.1.0.a1-cann7.0.RC1等。
  3. SDK + 训练/推理框架 + 大模型:在第2类容器上选配几个模型进行封装,例如llama2-7b、chatglm2-13b等语言模型。

嵌入式场景创新

openEuler发布面向嵌入式领域的版本openEuler 24.03 LTS SP2,构建了一个相对完整的综合嵌入系统软件平台,在南北向生态、关键技术特性、基础设施、落地场景等方面都有显著的进步。openEuler Embedded 24.03 LTS SP2版本围绕以制造、机器人为代表的OT领域持续深耕,通过行业项目垂直打通,不断完善和丰富嵌入式系统软件栈和生态。在软件包生态方面,合入了oebridge特性,支持在线一键安装openEuler镜像仓软件包,并支持在Yocto镜像构建时通过oebridge直接安装openEuler RPM包快速实现镜像定制。此外,还扩展支持了oedeploy特性,能够快速完成AI软件栈、云原生软件栈的部署。在内核支持方面,持续完善了meta-openeuler的内核配置,配合oeaware实时调优功能实现干扰控制以增强系统实时性。

  • 南向生态:openEuler Embedded Linux当前主要支持ARM64、x86-64、ARM32、RISC-V等多种芯片架构,未来计划支持龙芯等架构,从24.03 版本开始,南向支持大幅改善,已经支持树莓派、海思、瑞芯微、瑞萨、德州仪器、飞腾、赛昉、全志等厂商的芯片。
  • 嵌入式弹性虚拟化底座:openEuler Embedded的弹性虚拟化底座是为了在多核片上系统(SoC, System On Chip)上实现多个操作系统共同运行的一系列技术的集合,包含了裸金属、嵌入式虚拟化、轻量级容器、LibOS、可信执行环境(TEE)、异构部署等多种实现形态。
  • 混合关键性部署框架:openEuler Embedded打造了构建在融合弹性底座之上混合关键性部署框架,并命名为MICA(MIxed CriticAlity),旨在通过一套统一的框架屏蔽下层弹性底座形态的不同,从而实现Linux和其他OS运行时便捷地混合部署。依托硬件上的多核能力使得通用的Linux和专用的实时操作系统有效互补,从而达到全系统兼具两者的特点,并能够灵活开发、灵活部署。
  • 北向生态:700+嵌入式领域常用软件包的构建;提供软实时能力,软实时中断响应时延微秒级;集成 OpenHarmony 的分布式软总线和hichain点对点认证模块,实现 openEuler 嵌入式设备之间互联互通、openEuler 嵌入式设备和 OpenHarmony 设备之间互联互通;支持iSula容器,可以实现在嵌入式上部署openEuler或其他操作系统容器,简化应用移植和部署。支持生成嵌入式容器镜像,最小大小可到5MB,可以部署在其他支持容器的操作系统之上。
  • UniProton硬实时系统:UniProton 是一款实时操作系统,具备极致的低时延和灵活的混合关键性部署特性,可以适用于工业控制场景,既支持微控制器 MCU,也支持算力强的多核 CPU。目前关键能力如下:
    1. 支持Cortex-M、ARM64、X86_64、riscv64架构,支持M4、RK3568、RK3588、X86_64、Hi3093、树莓派4B、鲲鹏920、昇腾310、全志D1s。
    2. 支持树莓派4B、Hi3093、RK3588、X86_64设备上通过裸金属模式和openEuler Embedded Linux混合部署。
    3. 支持通过gdb在openEuler Embedded Linux侧远程调试。

内核创新

openEuler 24.03 LTS SP2基于 Linux Kernel 6.6内核构建,在此基础上,同时吸收了社区高版本的有益特性及社区创新特性。

  • fuse passthrough特性支持:当前fuse在分布式存储、AI中广泛使用。在直通场景中fuse用户态文件系统没有对读写IO进行额外处理,仅仅是记录元数据,向后端文件系统发起IO。此时fuse的处理流程成为了整个系统的IO瓶颈。 fuse passthrough特性旨在fuse直接对接后端文件系统(透传)的场景下,消除数据面fuse上下文切换、唤醒、数据拷贝开销,允许应用程序直接将读写IO在内核中发给后端文件系统,进而大幅提升读写性能。在实验室环境中,fuse passthrough特性展现出了令人满意的性能提升。具体来说,在fio测试中,4K-1MB粒度的读写测试均有100%+的性能提升。同时通过了故障注入测试和稳定性测试。业务可以按需使用。

  • MPAM 增强特性支持:新增QoS增强特性,拓展内存带宽和L3缓存控制方式,可按照使用量上限/保底/优先级方式配置,为混部场景动态调控共享资源提供端到端能力。新增IO QoS管控特性,联动SMMU对外围硬件设备或异构加速器的IO带宽流量进行隔离配置,支持iommu_group粒度级别监控,为异构场景下IO QoS管控方案提供控制侧新方案。此外,新增L2缓存隔离配置,提供L2C占用量和带宽流量监控能力,为混部场景下系统性能提供物理核级别的优化和分析手段。以上MPAM特性在业务实测场景展现出明显的性能提升,其中在混部场景下,Specjbb作为在线业务的混部干扰率从25.5%降低至5%以下。

众核高密

服务器芯片由多核进入众核时代(>256C),对操作系统提出新的挑战。提升Rack计算密度、降低数据中心TCO,众核服务器已成为互联网行业主流选择,随着云技术和业务规模发展,容器化部署成为互联网行业的主流业务部署形态,在这种场景下,系统串行开销和同步开销限制可扩展性,干扰问题凸显,资源利用率低,影响容器部署扩展性的串行访问开销和同步开销主要来自软硬共享资源争用。

本期主要采用轻量虚拟化按NUMA分域拆分资源、域内实现资源容器级隔离增强,降低因软硬件资源争用导致的性能干扰,提升容器部署扩展性。关键技术特性包括轻量虚拟化、CPU分域调度、文件系统块分配干扰隔离、网络tcp hash干扰隔离、Cgroup隔离增强、干扰监测、鲲鹏内存/Cache QoS管控机制MPAM。

epkg新型软件包

epkg是一款新型软件包,支持普通用户在操作系统中安装及使用。新的软件包格式相比现有软件包,主要解决多版本兼容性问题,用户可以在一个操作系统上通过简单地命令行安装不同版本的软件包。同时支持环境环境实现环境的创建/切换/使能等操作,来使用不同版本的软件包。目前epkg主要支持非服务类的软件包的安装和使用。

  • 多版本兼容:支持普通用户安装,支持安装不同版本的软件包,不同版本的同一软件包安装不冲突。使能用户在同一个节点上,快速安装同一软件包的不同版本,实现多版本软件包的共存。
  • 环境管理:支持环境环境实现环境的创建/切换/使能等操作,用户通过环境的切换,在环境中使用不同的channel,实现在不同的环境中使用不同版本的软件包。用户可以基于环境,快速实现软件包版本的切换。
  • 普通用户安装:epkg支持普通用户安装软件包,普通用户能够自行创建环境,对个人用户下的环境镜像管理,无需特权版本。降低软件包安装引起的安全问题。

毕昇JDK8支持堆内存扩容

互联网容器化部署应用的模式下,大部分客户容器场景下容器资源支持垂直伸缩,当前OpenJDK8的最大堆只能在启动时支持修改,无法支持在线动态扩缩,java应用无法在线使用到容器扩容出的内存,需要java应用启动时重新设置最大堆;鉴于此问题,毕昇JDK8在G1GC实现堆内存上限在线伸缩能力,允许用户在应用运行时动态更新Java堆内存的上限,而无需重启JVM。

互联网等容器场景业务,在容器在线扩容后需要java业务的堆内存大小也支持在线扩容的场景。

编译器UDF自动native框架

针对开源大数据JVM执行效率低的缺点,UDF自动native框架负责将Java UDF自动转换为C/C++ Native UDF,并进一步从内存高效管理、硬件亲和等维度提升大数据处理性能。UDF自动native框架致力于实现用户无感知、全自动的Java UDF native加速机制。UDF自动native框架主要由UDF parser、UDF IR Optimizer、UDF code Generator、UDF code compiler等模块组成。

UDF parser将业务jar包字节码自动转换为IR代码,并基于UDF特征提取出UDF代码;UDF IR Optimizer从内存对象自动管理、硬件亲和加速等维度对UDF IR进行优化;UDF Code Generator将UDF IR对等转换为native代码;UDF code compiler将UDF native代码在线编译为native二进制。最后,UDF的native二进制发布到大数据执行节点上,由大数据系统native执行引擎动态加载执行,提升大数据系统处理性能。

AI编译器

ANNC(Accelerated Neural Network Compiler)是专注于加速神经网络计算的AI编译器,聚焦于通过计算图优化,高性能融合算子生成和高效的代码生成和优化能力,加速推荐和大语言等模型的推理性能,并且从架构设计角度支持业界主流开源推理框架和不同硬件后端的接入,提高软件的可扩展性。

计算图优化是通过优化神经网络的计算流程,从算法角度减少冗余操作、混合精度改写和自动子图调度优化计算负载和提高缓存利用率,从硬件架构角度优化张量数据布局、算子融合和转换、子图切分调度,进一步优化负载,充分利用硬件资源。

高性能融合算子库生成和对接包括前端计算图模式识别和转换,高性能算子库查询和对接,以及算子库自动生成三部分,从汇编指令层面上通过数据预取、模型并行和新型指令集应用等优化手段,减少访存,提高并行计算效率。

ANNC旨在通过图编译优化和高性能算子生成和对接,提高AI推理速度和降低功耗,达到提高用户单位成本的推理效率的目的,同时通过软件兼容性和易用性设计减少用户的运营成本和环境影响。

oeDeploy特性增强

oeDeploy是一款轻量级的软件部署工具,旨在帮助开发者快速、高效地完成各类软件环境部署,对单节点与分布式场景均可适配。

  • 多场景支持 & 主流软件一键部署:支持单节点应用与集群软件环境的一键部署,新版本oeDeploy增加了对多master节点的Kubernetes环境的快速部署,新增支持了openEuler Intelligence、Devkit-pipeline等社区工具链,以及RAGFlow、anythingllm、Dify等主流RAG软件。
  • 灵活的插件化管理 & 优秀的部署体验:oeDeploy提供可扩展的插件架构,灵活管理多种部署能力,开发者也可以快速发布自定义部署插件。新版本oeDeploy支持了插件源的管理,支持一键更新插件版本、一键完成插件初始化。oeDeploy支持极简的命令行操作方式,也即将上线可视化工具与插件商店,用更少的代码,实现更高效的软件部署体验。
  • 高效部署 & 智能开发:新版本oeDeploy发布了MCP服务,在DevStation中实现开箱即用,借助大模型的推理能力,支持用自然语言完成各类软件的一键部署,部署效率提升2倍;支持将用户文档快速转换成可以直接运行的oeDeploy插件,开发效率提升5倍。

DevStation特性增强

DevStation 是基于openEuler的智能LiveCD桌面版开发者工作站,专为极客与创新者而生。旨在提供开箱即用、高效安全的开发环境,打通从部署、编码、编译、构建到发布的全流程。它融合了一键式运行环境与全栈开发工具链,支持从系统启动到代码落地的无缝衔接。无需复杂安装,即可体验开箱即用的开发环境,通过新增MCP AI智能引擎,快速完成社区工具链调用,实现从基础设施搭建到应用开发的效率飞跃。

开发者友好的集成环境:发行版预装了广泛的开发工具和 IDE,如 VS Codium系列等。支持多种编程语言,满足从前端、后端到全栈开发的需求。

  • 社区原生工具生态:新增 oeDeploy(一键式部署工具)、epkg(扩展软件包管理器)、devkit和 openEuler Intelligence,实现从环境配置到代码落地的全链路支持。 oeDevPlugin插件+oeGitExt命令行工具支持:专为 openEuler 社区开发者设计的 VSCodium 插件,提供 Issue/PR 可视化管理面板,支持快速拉取社区代码仓、提交 PR,并实时同步社区任务状态。 openEuler Intelligence智能助手:支持自然语言生成代码片段、一键生成 API 文档及 Linux 命令解释。
  • 图形化编程环境:集成了图形化编程工具,降低了新手的编程门槛,同时也为高级开发者提供了可视化编程的强大功能,预装 Thunderbird 等办公效率工具。
  • MCP智能应用生态构建:DevStation 深度集成 Model Context Protocol (MCP) 框架,构建完整的智能工具链生态,预装MCP智能工具链,支持oeGitExt、rpm-builder 等核心MCP Server,提供社区事务管理、RPM打包等能力,将传统开发工具(如Git、RPM构建器)通过MCP协议进行智能化封装,提供自然语言交互接口。
  • 系统部署与兼容性增强:广泛的硬件支持,特别优化对主流笔记本/PC 硬件的兼容性(触摸板、Wi-Fi 、蓝牙),重构内核构建脚本(kernel-extra-modules),确保裸机部署体验。灵活部署形态,支持 LiveCD(一键运行无需安装)、裸机安装、虚拟机部署。

virtCCA特性增强

当前virtCCA架构在启动方式上存在特定约束:其仅支持kernel与rootfs分离的启动模式(即内核镜像与根文件系统分别挂载)。然而,在主流云平台环境中,虚拟机的启动流程普遍依赖GRUB引导机制,这要求将UEFI固件(如EDK2)、内核(Kernel)及初始内存文件系统(initramfs)整合至单一磁盘镜像(如QCOW2格式)中。功能要点包括:

  1. 单镜像封装
    • 将 EDK2 固件、GRUB 引导程序、内核(Kernel) 及 initramfs 整合至单一 QCOW2 磁盘镜像,形成完整启动栈。
    • GRUB 通过配置文件(grub.cfg)定位内核路径,要求内核与 initramfs 必须位于同一文件系统(如 EXT4/XFS)。
  2. 安全信任链传递
    • Secure Boot 机制:EDK2 验证 GRUB 及内核的数字签名,确保启动组件未被篡改。
    • 硬件资源协同:依赖 UEFI 运行时服务枚举硬件设备,为虚拟机管理程序(如 KVM)提供虚拟化资源池
  3. 云原生优化
    • 支持快照克隆、根文件系统动态扩容(依赖 initramfs 中的 cloud-init 工具)特性。

虚拟化支持vKAE直通设备热迁移

KAE是基于鲲鹏920新型号处理器提供的硬件加速解决方案,包括HPRE、SEC、ZIP设备,可用于加解密和压缩解压缩,能够显著降低处理器消耗,提高处理器效率。KAE直通热迁移是指虚拟机在配置KAE直通设备时,进行热迁移的能力,可以为KAE设备的使用提供更强的灵活性和业务不中断的保障。

smmu脏页跟踪是实现直通设备高效、可靠的热迁移的关键技术。在ARM架构中,通过纯软件方式进行脏页跟踪,会带来了较大的性能损耗。HTTU(Hardware Translation Table Update)允许硬件自动更新smmu页表状态,在进行写操作时会自动置对应页表项的写权限位,热迁移时扫描页表的写权限位进行脏页统计。

Kuasar机密容器

Kuasar 统一容器运行时在支持安全容器的基础上添加了对机密容器的支持。用户可以通过配置 iSulad 的运行时参数,完成对 Kuasar 机密容器的纳管。支持功能特性:

  • 支持 iSulad 容器引擎对接 Kuasar 机密容器运行时,兼容 Kubernetes 云原生生态。
  • 支持基于 virtCCA 的机密硬件,允许用户在鲲鹏 virtCCA 可信执行环境中部署机密容器。
  • 支持secGear 远程证明统一框架,遵循RFC9334 RATS标准架构,允许在机密计算环境中运行的容器向外部的受信任服务证明其可信性。
  • 支持在机密容器内部拉取并解密容器镜像,保护容器镜像的机密性和完整性。

Global Trust Authority远程证明

GTA远程证明服务组件支持TPM/vTPM的远程证明,分为客户端和服务端。

  • 服务端提供了远程证明服务框架兼容可信计算及机密计算,支持证书、策略等的增删改查,Quote验证,随机数,JWT Token生成等能力。
  • 客户端支持采集本地TPM证据,并可与服务端交互,验证Quote。

本组件在安全性及易用性上也提供了多种能力。安全性上支持数据库完整性保护、数据链路加密,验证防重放,SQL防注入,用户隔离,密钥轮换机制等一系列差异化安全竞争力。易用性上支持护照模式及背调模式。 客户端支持定时上报,响应挑战等多种验证模式。客户端及服务端支持rpm包及docker安装部署。后续版本也将支持virtCCA机密计算验证能力。

oeAware采集、调优插件等功能增强

oeAware是在openEuler上实现低负载采集感知调优的框架,目标是动态感知系统行为后智能使能系统的调优特性。传统调优特性都以独立运行且静态打开关闭为主,oeAware将调优拆分为采集、感知和调优三层,每层通过订阅方式关联,各层采用插件式开发尽可能复用。

secGear特性增强

secGear远程证明统一框架是机密计算远程证明相关的关键组件,屏蔽不同TEE远程证明差异,提供Attestation Agent和Attestation Service两个组件,Agent供用户集成获取证明报告,对接证明服务;Service可独立部署,支持iTrustee、virtCCA远程证明报告的验证。 当前版本新增了对virtCCA机密虚机UEFI度量启动的远程证明支持。同时为避免UEFI度量和IMA度量同时开启会产生冲突的情况,新增virtCCA的IMA度量寄存器自定义配置的功能。

UEFI度量启动时会将度量操作记录到ACPI table CCEL (Confidential Computing Event log)。secGear统一远程证明框架基于ACPI table CCEL (Confidential Computing Event log)实现对virtCCA机密虚机UEFI度量启动的远程证明。secGear远程证明通过对Event log文件内容处理,验证virtCCA机密虚机UEFI启动过程的完整性和可信性,并为后续远程证明提供可信的证据。

使用secGear远程证明时,远程证明代理会获取virtCCA机密虚机上的Event log文件内容。如果存在Event log文件,则将其内容及其他必要信息封装成报告,发送至远程证明服务进行报告校验,最终由远程证明服务给出包含Event log验证结果的证明报告;如果不存在,则与Direct Boot模式相同,仅封装必要信息发送至远程证明服务进行报告校验,远程证明服务返回不包含Event log验证结果的证明报告。

virtCCA机密虚机开启IMA度量后,在IMA策略配置时支持使用pcr参数指定使用的virtCCA寄存器。如果同时启动IMA度量和UEFI度量,则需要在IMA策略配置时设置pcr=4,指定使用virtCCA最后一个寄存器,避免度量扩展冲突。

GCC for openEuler CFGO反馈优化特性增强

日益膨胀的代码体积导致当前处理器前端瓶颈成为普遍问题,影响程序运行性能。编译器反馈优化技术可以有效解决此类问题。

CFGO(Continuous Feature Guided Optimization)是GCC for openEuler的反馈优化技术名,指多模态(源代码、二进制)、全生命周期(编译、链接、链接后、运行时、OS、库)的持续反馈优化,主要包括以下两类优化技术:

  • 代码布局优化:通过基本块重排、函数重排、冷热分区等技术,优化目标程序的二进制布局,提升i-cache和i-TLB命中率。
  • 高级编译器优化:内联、循环展开、向量化、间接调用等提升编译优化技术受益于反馈信息,能够使编译器执行更精确的优化决策。

GCC CFGO反馈优化共包含三个子特性:CFGO-PGO、CFGO-CSPGO、CFGO-BOLT,通过依次使能这些特性可以缓解处理前端瓶颈,提升程序运行时性能。为了进一步提升优化效果,建议CFGO系列优化与链接时优化搭配使用,即在CFGO-PGO、CFGO-CSPGO优化过程中增加-flto=auto编译选项。

海光新安全处理器型号支持

海光CPU内部包含密码协处理器(CCP),密码协处理器分为两类,其中一类是PSP-CCP,另一类是NTB-CCP。PSP-CCP为海光安全处理器提供CPU内置的密钥生成、安全启动、可信计算、CSV等功能,支持TKM等模块内部的密码运算。NTB-CCP则供C86通用处理器核心使用,用来支持纯算力的密码学运算。新增PSP-CCP和NTB-CCP的vendor/device ID的识别,为系统提供更丰富的硬件支持。

海光可信计算特性

当前海光可信计算内核驱动会调用内核CCP模块提供的命令接口,CCP模块初始化时加密虚拟化特性的判断与可信功能并无关联,优化内核CCP模块,使可信功能解除与加密虚拟化特性的逻辑依赖,同时不会影响现有代码的运行,提高可信功能的健壮性。

海光密码加速特性

密码相关应用除了要求提供高效的密码运算能力外,还往往需要一种安全有效的密钥管理能力,密钥的安全是安全的基础,密钥如果被窃取则安全无从谈起。目前大量应用的密钥管理方式存在着简单粗放的问题,有的甚至把密钥以明文形式直接存储在文件系统中,密钥的安全存在巨大的隐患。密码技术的广泛应用迫切需要一种既安全又易用的密钥管理使用方式。

TKM是海光的内生密码技术之一。传统的密钥管理方案通常使用单独的密码卡,通过PCIe等外接于主板上,与CPU通过总线连接。传统方案增加硬件成本的同时,加大了主板硬件设计的复杂度,也增加了暴露面,容易受总线类物理攻击。 CPU利用内置安全处理器对密钥管理做了相关支持与拓展,在CPU内部实现了TKM(Trusted Key Management Module)模块。

支持树莓派

Raspberry Pi(树莓派)是由 Raspberry Pi 基金会与 Broadcom 公司合作开发的一系列小型单板计算机。凭借其价格低、体积小、能耗低、高可编程性以及丰富的生态系统等特点,树莓派在工业自动化、机器人技术、物联网、教育以及业余爱好者项目等领域得到了广泛应用。树莓派 4B 和树莓派 5 作为树莓派产品线的经典代表,采用 ARM 架构的处理器。其中树莓派 4B 是极具性价比的普及型单板计算机,树莓派 5 凭借其显著的性能突破和扩展能力成为一款在高性能边缘计算领域颇具竞争力的创新产品。