关键特性
AI场景创新
智能时代,操作系统需要面向AI不断演进。一方面,在操作系统开发、部署、运维全流程以AI加持,让操作系统更智能;另一方面,操作系统作为AI的运行环境,需要为AI和Agent提供异构资源协同管理能力,从而充分发挥CPU和AI加速器的能力,让业务响应更快,时延更低,当前openEuler也率先支持NVIDIA、昇腾等主流AI处理器,成为使能多样性算力的首选。
Agent语义感知的KVCache协同调度
在多轮AI Agent推理场景中,每一轮推理都依赖此前轮次的中间结果,这些结果以KV cache形式驻留在加速卡显存或配套的KV cache仓库中。然而现有的KV cache系统本质上是被动仓库管理者——仅按LRU策略管理缓存,对Agent上下文语义无感知。在多租户压力下,当前会话仍需引用的热块常被误驱逐,导致首Token延迟(TTFT)从毫秒级飙升到秒级。 ram-a-kv作为推理栈与KV cache仓库之间的语义大脑,将 Agent 上下文映射到KV cache块(chunk),预测重用关系,在下一次推理之前主动编排prefetch / evict,并通过全局引用计数保护跨会话共享的chunk,最终把TTFT压回毫秒级。 ram-a-kv 以独立守护进程形式运行,宿主Agent通过HTTP事件接入,daemon 据此编排底层 KV cache后端(LMCache-Ascend)。 核心组件包括:HTTP事件入口(唯一路由 POST /event,负责鉴权与字段校验)、事件注册表(9 类事件 → handler 分发)、会话状态管理(每会话 chunk map + 全局 refcount,内存互斥锁保护)、SQLite 持久化层(会话 map、turn_count、pins 表)。
- 事件驱动的生命周期管理
定义9个事件覆盖推理轮次完整生命周期:turn_start / turn_end(每轮推理的起止)、snapshot_restore / session_suspend / session_close(会话挂起、恢复与结束)、session_fork / session_fork_end(会话分叉)、session_map(状态查询)、health(健康检查)。宿主Agent仅需在关键节点上报事件,daemon 自动完成预取、驱逐与状态更新。
- 引用计数安全
核心安全不变式:一个chunk只有在全局引用计数降为0时才会被驱逐,跨会话共享的chunk绝不会被某个会话提前删除。turn_end用新旧chunk_hashes做差集更新引用;session_fork / session_fork_end 对称增减引用保护父子会话;daemon启动时遍历所有session map重建 refcount 表,共享chunk在重启后仍受保护。
- 持久化与重启恢复
所有session map实时落SQLite,daemon重启时遍历全部会话回内存并重建refcount。session_suspend 保留SQLite行便于后续snapshot_restore恢复,使会话状态在重启或挂起后无缝延续。
KV Cache聚合传输
随着大语言模型(LLM)参数规模从百亿跃升至千亿乃至万亿级别,主流推理服务面临的核心矛盾已从"算力不足"转变为"显存不足",以DSA 3.2 模型为例,M级输入序列预计KV需要30G+ HBM 空间,而实际上由于DSA 3.2 模型的创新改进,实际每次仅需要通过 topK 来参与attention 计算,这样为 DDR与 HBM 协同提供了前提。 本特性围绕 sparse attention 方向,实现了 decode 阶段 kv cache 在节点内DDR+HBM 协同,在prefill 结束后,将full kv 卸载到DDR,HBM 仅放indexer kv 以及为了保持一定命中率的部分KV, 在实际lay attention 阶段按需加载,采用MemFabric组件聚合传输数据。并聚合传输数据,有效缓解在高并发场景,由于HBM 内存不足,导致部分请求阻塞的情况,有效缓解高并发场景降低时延,提升BS及TPOT。
主要功能点,基于vllm 版本优化:
- H2D 传输优化,有效提升原生有效带宽问题。
- 优化 kv 缓存命中率,保持命中率90%以上,减少单次数据传输。
KV Cache多级缓存
从单轮问答到多轮对话,再到如今的 Agent 工作流,大模型的交互模式已经截然不同。一个典型的 Agent 任务(如代码生成、科研分析、自动化办公)往往包含数十次甚至上百次的工具调用、思考回溯和上下文延续,这也给 KVCache 管理后端带来了挑战: 单请求 KVCache 量级质变:Agent 要维持完整对话历史、检索片段和中间推理,上下文动辄 128K-1M,单请求 KVCache 从 MB 级飙到 GB 级,HBM 放不下,必须分级卸载到 DDR/SSD/超节点池化——后端不再只是“搬运工”,而是要管理一个跨越多级存储的KVCache生命周期,搬运调度本身成为瓶颈。 前缀可复用性急剧上升:多 Agent 实例共享相同的 system prompt、角色设定、知识库前缀,KVCache 命中率极高——后端需要能够毫秒级定位最长前缀命中的缓存块,以存代算跳过重复 prefill。 为了应对上述挑战,构筑异构融合多级KV缓存池LMCache-Ascend不仅增强了自研KVC池化及PD传输能力,同时提供storagebackend生态接口,兼容mooncake、元戎datasystem等高性能分布式存储后端,端到端性能再度提升。 随着LLM模型规模变大,HBM和DDR已经无法容纳每日请求产生的KV Cache,并需要卸载到SSD,比如Deepseek 集群每天生成776B token,KV Cache的数据量大致为14.5PB。但是当前主流的SSD卸载方案在性能存在上存在不足。 为了提高KV Cache的整体性能,实现混合式IO,不仅通过直通发挥存储介质的带宽,也通过缓存充分利用Host DDR的带宽。还通过池化技术进一步聚合读写带宽。
LMCache多级缓存
LMCache 的整体技术架构围绕一个核心目标构建:将 KV Cache 从推理引擎的进程内,提升为一个可跨进程、跨节点共享的独立缓存层。它通过“连接器层 + 引擎层 + 存储层”的分层设计,以及“进程内组件 + 独立服务进程”的混合部署模式来实现这一目标。
LMCache接入vLLM/SGL推理引擎:
- 服务端就绪与监听:LMCache 服务端进程启动后,会初始化内部的缓存管理器,并在指定的 ZMQ 端口上开始监听来自客户端的连接请求。
- vLLM 连接与注册:vLLM 进程在初始化时,会根据 --kv-transfer-config 中的配置,实例化 LMCacheMPConnector。这个连接器会通过 ZMQ 协议,向配置的 LMCache 服务端地址发起连接。连接成功后,vLLM 会调用 register_kv_caches 接口,将本进程内分配的各层 KV Cache 显存信息(包括内存地址、大小、层数等)注册到 LMCache 服务端。
- 运行时数据传输:初始化完成后,vLLM 便可通过 LMCacheMPConnector 与服务端进行数据传输。
- 存储(Store):vLLM 生成 KV Cache 后,连接器会先执行 Gathering 操作,将分散在多个显存页(Paged Memory)中的 KV 块聚合到一个连续的缓冲区中。
- 高效传输:为了高效地跨越进程边界,MP 模式优先使用 IPC(Inter-Process Communication) 机制。工作进程不会拷贝整个数据,而是将显存导出为轻量级的IPC Handle 发送给 LMCache 服务端。服务端导入该句柄后,便能直接访问工作进程的 GPU 内存,实现几乎零拷贝的高效数据传输。
NDS直通
当前NPU的文件读写都是通过CPU中转,CPU中转的2个问题是: (1) 额外的数据复制(SSD -> DDR -> HBM) (2) CPU与NPU+存储之间的总线带宽 可能小于 NPU和存储的总线带宽 可以通过数据面直通解决这2个关键问题,达到提高性能和减少Host CPU占用和DDR带宽的目标。NDS有如下的设计目标: (1) 免侵入式修改:内核存储栈和驱动免侵入式修改 (2) 低开销:降低/卸载控制面开销、降低内存开销 (3) 高并发高性能:带宽超越GDS 10%
NDS是一个端到端框架,能够实现NVMe SSD与NPU HBM之间的直接数据移动,消除了不必要的主机内存参与。包括了:
- 内核模块 无需侵入式内核修改,没有GDS的Shadow Buffer内存开销,实现数据面bypass CPU。通过实现字符设备,整合文件系统、块层和NVMe驱动,直接构造NVMe SGL命令,支持发起和查询IO操作。
- 接入LMCache生态 实现了一个LMCache池化存储后端,将NDS集成到LMCache,透明替换传统磁盘加载路径,包含了池化的KVCache文件管理、LRU、Promote等功能。
ModelFS用户态模型加载优化
ModelFS针对大语言模型(LLM)推理启动阶段的模型加载瓶颈进行优化。 现有相关工作主要通过优化推理框架来提升模型加载性能,这种方法往往以牺牲兼容性为代价。然而,基于我们的工业实践经验,兼容性是决定一项技术能否在实际场景中广泛应用的关键因素。 本工作在保证强兼容性的前提下,通过优化文件系统的缓存策略,实现了模型加载性能的领先水平。 ModelFS在内核中设计了一个非侵入式、灵活且轻量级的可编程页缓存框架,允许用户自定义文件系统的页缓存策略。 基于可编程页缓存,我们进一步设计了面向模型加载优化的缓存策略的参考实现。
- ModelFS-K: ModelFS的内核模块,提供文件系统(FS)页缓存可编程框架。核心设计是一个堆叠FS,可以挂载到现有FS之上,ModelFS-K将底层文件系统的相关逻辑用UPC(用户态调用)重定向到用户态实现的prefetch和evict函数。
- ModelFS-U: ModelFS的用户态模块,提供缓存策略的运行时。提供一套VFS-like的用户态编程框架,模型实现者/IO优化者可以根据模型的加载IO特性自定义缓存策略。用户需实现init(),exit(), prefetch(),evict(),ModelFS-U会将它们注册到ModelFS-K中,并在运行过程中负责解析IO事件和进行异步数据预取/淘汰。
Agent可观测和治理
AgentCensor 是一套面向 Agent 的治理底座。它在 Agent 与运行环境之间插入一层可管控的执行面,不改动 Agent 本身,也不约束其推理过程,而是让每一步操作都落在可观测、可判定、可回滚的轨道上。 整体架构由三个核心组件与一个编排层组成。
- Agent富观测——全链路留痕 将模型返回内容、工具调用记录、文件变更、系统调用等结果按执行上下文串联为同一条证据链,支持session观测、分级观测、低底噪等特性。同时,它也是治理框架的持久化底座:事务、判定结论、回执均落盘为可查询、可回放的清单,实现“它到底干了什么,查表即知”。
- Agent安全防护——同步拦截与判定 在工具真正启动之前执行判定,依据已解析锁定的输入(而非 Agent 的口头声明),输出四类结论:放行、拒绝、转人工、带约束的条件放行。职责克制,仅负责拦截与放行;证据不全时宁可不做,不可错做。
数据引用减少上下文
Agent 执行长任务时,消息历史中会不断累积大体积的工具输出(读文件结果、命令执行输出、网页抓取内容等),这些内容在后续轮次中大部分不再被使用,却持续占用上下文窗口并推高 token 成本。SCCS 的处理方式是:
- 压缩替换(卸载原文):对成功返回且体积较大(>3000 字符)的工具输出,将其原文从上下文中卸载,替换为一条轻量的引用表示——
[REF_ID: xxx] (Summary: ...),即一个引用标识加一段结构化摘要(包含代码行号、函数签名等关键结构信息),原文暂存于存储后端; - 按需取回(恢复原文):当模型在后续任务推进中确实需要某段被压缩的原文时,调用
fetch_original_data(ref_ids=[...]),SCCS 按 ref_id 返回完整原文,实现精确到引用粒度的内容恢复。 - 压缩触发策略: 并非所有工具输出都值得压缩,SCCS 的触发条件为同时满足:执行成功(报错结果不压缩,直接透传,避免模型丢失最需要的错误信息)、有文本内容、体积超过阈值(>3000 字符)、非取回结果(防止取回-再压缩循环)。压缩热点集中在读大文件(read)、大输出命令(exec,如 grep/git log)与网页抓取(web_fetch)三类场景。
- 零侵入接入:以宿主 Agent 框架的原生插件机制接入(如 OpenClaw 的
agent --local激活 +tools.alsoAllow交付取回工具),无需修改宿主代码; 会话/进程隔离:每个任务会话使用独立状态目录与 session-key,取回互不串扰; - 可插拔存储后端:支持进程内存(
memory,不落盘)等后端,原文生命周期与部署形态可按需选择。
SkillHub
SkillHub 是面向 AI Agent 生态的 Skills 检索与分发平台,由 openEuler 社区建设运营。平台把分散在各类代码托管平台上的 AI 技能统一汇聚、自动评估并公开分发,让开发者能够放心地发现、评估、使用和贡献 AI 能力。 平台主要提供以下功能:
- 技能发现:以自然语言或关键词描述需求即可检索到匹配的 AI 技能,并可按领域、贡献者来源、安全等级等维度进一步筛选,快速定位所需能力。
- 安全评估与信息透明:每个上架技能都经过自动化的安全评估,并公开呈现量化的风险评分与直观的安全等级,让使用者在选用前就能清楚了解其风险状况。平台提供的是客观的风险信息,供使用者结合自身场景自行判断与决策。
- 版本追溯:技能的历史版本被完整保留,用户可以查看版本演进、选择需要的版本下载使用。
- 便捷获取:找到合适的技能后,可通过一条命令安装到本地 Agent 环境,也可下载技能包自行集成。
- 开放贡献:贡献者只需提供一个包含技能说明文件的公开仓库,并在社区贡献仓库中登记即可完成上架,审核通过后由平台自动完成后续工作。
- 生态汇聚:平台持续自动收集社区与三方技能,形成不断增长的技能库,并通过使用热度反映各技能的受关注程度。
服务器场景创新
oeAware场景化智能调优Skill
oeAware 场景化智能调优 skill 是面向操作系统层性能调优的智能化能力集合,由 witty-opentunex(编排元技能)、opentunex-data-collection(数据采集)、opentunex-scenario-bottleneck(场景化瓶颈分析)、opentunex-scenario-tuning(场景化调优执行)四个核心 skill 协同构成,将依赖专家经验的瓶颈定位与参数调优过程转化为由大模型推理驱动的、可远程执行、可灰度回滚的自动化调优流水线。 模型选择,建议使用GLM-4.7 或 Mini-Max-M2.7 及以上能力的模型(上下文长度>200k)。 模块采用四层结构:元技能编排层负责流程编排与模式判定;三阶段流程层对应数据采集、瓶颈分析、调优执行;场景化子能力层共部署 9 个场景化分析子技能与 9 个场景化调优子技能;文件契约产物层以统一路径约定串联上下游。
开发者工具链
DevStation智能开发者桌面
DevStation 是基于openEuler的智能开发者工作站,专为极客与创新者而生。旨在提供开箱即用、高效安全的开发环境,打通从部署、编码、编译、构建到发布的全流程。它融合了一键式运行环境与全栈开发工具链,支持从系统启动到代码落地的无缝衔接。无需复杂安装,即可体验开箱即用的开发环境,通过新增MCP AI智能引擎,快速完成社区工具链调用,实现从基础设施搭建到应用开发的效率飞跃。
- 开发者友好的集成环境:发行版预装了广泛的开发工具和 IDE,如 VS Codium系列等。支持多种编程语言,满足从前端、后端到全栈开发的需求。
- 社区原生工具生态:新增 oeDeploy(一键式部署工具)、epkg(扩展软件包管理器)、devkit和 openEuler Intelligence,实现从环境配置到代码落地的全链路支持。 oeDevPluginss插件+oeGitExt命令行工具支持:专为 openEuler 社区开发者设计的 VSCodium 插件,提供 Issue/PR 可视化管理面板,支持快速拉取社区代码仓、提交 PR,并实时同步社区任务状态。 openEuler Intelligence智能助手:支持自然语言生成代码片段、一键生成 API 文档及 Linux 命令解释。集成epkg包管理工具,能快速实现包括Agent等应用在openEuler环境上的安装部署体验。
- 图形化编程环境:集成了图形化编程工具,降低了新手的编程门槛,同时也为高级开发者提供了可视化编程的强大功能,预装 Thunderbird 等办公效率工具。
- MCP智能应用生态构建:DevStation 深度集成 Model Context Protocol (MCP) 框架,构建完整的智能工具链生态,预装MCP智能工具链,支持oeGitExt、rpm-builder 等核心MCP Server,提供社区事务管理、RPM打包等能力,将传统开发工具(如Git、RPM构建器)通过MCP协议进行智能化封装,提供自然语言交互接口。
- 系统部署与兼容性增强:广泛的硬件支持,特别优化对主流笔记本/PC 硬件的兼容性(触摸板、Wi-Fi 、蓝牙),重构内核构建脚本(kernel-extra-modules),确保裸机部署体验。灵活部署形态,支持 LiveCD(一键运行无需安装)、裸机安装、虚拟机部署。
- 全新安装工具heolleo:heolleo 是一款专为 DevStation 设计的现代化客户端工具。其核心使命是简化DevStation的安装流程。采用模块化设计使其可以轻松扩展以支持不同的硬件架构(如 x86/ARM)、文件系统或引导加载器(GRUB等)。工具创新性地采用 SquashFS 安装方案,显著压缩标准镜像体积,有效降低开发者镜像下载成本。采用本地化安装:面向对稳定性与速度有极致要求,或需在无网络及受限环境中完成系统部署的用户,DevStation 提供本地 ISO 安装模式。该模式可充分复用现有系统镜像文件,带来高速、可靠且完全离线的安装体验。
EPKG软件包
epkg是一个绿色轻量的跨平台包管理器,支持 Linux、macOS 和 Windows。 创建隔离的 enviroments,安装使用常见发行版(RPM、DEB、Alpine、Arch、Conda、Homebrew、MSYS2)的软件包,无需 root 权限。 每个环境绑定到一个channel(如 Debian、Fedora、Alpine 等指定版本)。注册多个环境,将其二进制文件组合到 PATH 中,在一个 shell 中混合使用不同发行版的软件。
epkg采用用户态安装模式,软件包、环境及缓存可以存放在用户目录中,普通用户无需获得系统管理员权限即可完成软件安装、升级、删除和环境管理,降低对主机系统的修改范围。epkg通过统一的 channel 机制对接不同软件生态,可在同一宿主系统中使用 openEuler、Fedora、CentOS、Debian、Ubuntu、Alpine、Arch Linux 等发行版的软件源,同时兼容 Conda、Homebrew 和 MSYS2 等语言及跨平台软件生态,这种机制能够将宿主操作系统和项目所需软件环境解耦,使软件依赖不再完全受限于宿主系统原生包管理器。
环境隔离是epkg的核心能力之一。每个 environment 可以绑定特定的 channel 和软件版本,不同环境之间的软件包相互独立,并可以通过 activate、register、unregister 等机制进行切换和组合。用户可以同时维护多个相互独立的软件环境,例如针对不同项目分别创建 Python 3.10、Python 3.11 或 Python 3.12 相关环境,而无需频繁修改宿主系统中的 Python 版本;不同版本的编译器、运行时和系统工具也可以采用类似方式共存。通过环境导出与导入能力,还可以进一步实现开发环境的复制与分发。 epkg进一步将操作系统级依赖与语言级依赖纳入统一环境管理。传统开发环境往往需要分别使用 apt、dnf、apk、pacman、Conda、pip 等工具安装不同层次的软件依赖,依赖关系分散在多个管理体系中。epkg支持在同一 environment 中组合操作系统软件包与语言运行环境,使一个项目可以将编译器、系统库、Python运行时以及其他开发工具统一组织。例如,一个AI Agent项目可能同时需要特定版本的 Python、Git、编译工具、系统库以及其他运行时组件,开发者可以将这些依赖放入同一环境进行管理,从而减少环境配置过程中的工具切换和依赖冲突。 在依赖解析与软件包管理方面,epkg采用基于SAT的依赖求解机制处理复杂的软件依赖关系,并提供 install、update、upgrade、remove、list、search、info 等标准软件包操作。同时,epkg提供事务历史和 restore 能力,在软件升级或环境发生异常后,可以依据历史状态进行恢复。软件存储采用文件级去重机制,并结合并行、分块下载和镜像机制降低重复下载带来的存储与网络开销。项目还提供约14MB级别的静态musl可执行文件,并支持busybox-style applets,使其能够应用于资源受限的运行环境。 除传统包管理功能外,epkg还提供从软件安装到运行环境隔离的扩展能力。epkg run支持不同程度的隔离模式,包括基于用户命名空间和bind mount的环境隔离、基于chroot的文件系统隔离,以及基于VM的隔离方式。因此,epkg的定位不仅是安装软件的工具,也可以作为构建轻量开发环境和隔离运行环境的基础组件。对于容器、嵌入式系统和本地AI开发等场景,epkg能够在较小的系统开销下提供软件获取、依赖管理、环境组织和隔离运行能力。