文档管理中心
指南系统基础功能Kernel Enhance Kit(内核增强能力)Kernel Enhance Kit 简介

Kernel Enhance Kit 简介

功能介绍

Kernel Enhance Kit 为开发者提供内核增强能力,包括服务质量(QoS)调度、Purgeable 内存管理和格物端侧推理服务,帮助开发者优化应用性能、资源管理和用户体验。

  • QoS:提供任务优先级调度能力,开发者可以根据任务的重要程度和与用户交互的关联程度,为任务设置不同的 QoS 等级,系统会根据 QoS 等级分配 CPU 时间和调度次序,优化应用响应速度和资源利用率。

  • Purgeable Memory:提供可随时丢弃的内存管理机制,用于存放容易通过重新计算构建的数据。该机制在系统低内存时可以直接释放这些内存,用户访问时再重新构建,适用于存放大块且恢复代价较小的数据。

  • 格物服务:提供 QoS 感知的端侧推理加速和资源管理优化能力,针对端侧推理场景的内存资源受限、算力受限、对功耗敏感等挑战,提供动态按需加载资源、推理加速等功能,保障用户体验的同时实现高效推理。

基本概念

QoS

QoS(Quality of Service)即服务质量,在 HarmonyOS 中主要指任务的优先调度属性。开发者可以利用 QoS 对要执行的工作进行分类,以指示其与用户交互的关联程度;系统则根据任务设置的 QoS 安排各任务的运行时间和运行次序。

HarmonyOS 系统定义了 6 个 QoS 等级,从高到低与用户交互的关联程度依次递减:

展开
QoS 等级 使用场景 负载特征
QOS_BACKGROUND 后台且用户不可见任务,例如数据同步、备份 任务完成需要几分钟甚至几小时
QOS_UTILITY 不需要立即看到响应效果的任务,例如下载或导入数据 任务完成需要几秒到几分钟
QOS_DEFAULT 默认 任务完成需要几秒钟
QOS_USER_INITIATED 用户触发并且可见进展的任务,例如打开文档 任务在几秒钟之内完成
QOS_DEADLINE_REQUEST 越快越好的关键任务,如页面加载 任务几乎是瞬间完成的
QOS_USER_INTERACTIVE 用户交互任务(UI 线程、刷新界面、动效) 任务是即时的

Purgeable Memory

Purgeable Memory 指可以随时丢弃的内存区域,用于存放那些很容易通过重新计算构建出来的数据。该数据在系统低内存时可以被直接释放,用户访问的时候再重新构建。Purgeable Memory 适用于存放大块(至少 4K)且恢复代价较小的数据,它在系统压力较大时优先回收(对匿名页采用类似文件页的 drop 形式,而不是压缩),再次使用时需要用户自己恢复数据再使用。

格物(Gewu)服务

格物服务是针对端侧推理场景的 QoS 感知推理加速和资源管理优化服务。端侧推理场景具有保障用户数据隐私、部署成本低、时延低、不受网络影响的高可用性等优点,但也面临着内存资源受限、算力受限、对功耗敏感等挑战。格物服务通过动态按需加载资源、QoS 感知调度等优化手段,在保障用户体验的同时实现高效推理。

功能效果

QoS 优化效果

合理使用 QoS 可以显著提升应用性能:

  • 线程执行优化:通过为关键线程设置合适的 QoS 等级,可以减少线程等待时间,提高运行时间占比,减少被抢占的比例。

  • RN 框架优化:在 RN 框架中合理标记关键线程的 QoS 等级后,开源 benchmark 测试的性能提升了约 13%。

Purgeable Memory 优化效果

Purgeable Memory 在系统压力较大时优先回收,可以有效缓解内存压力:

  • 适用于存放大块(至少 4K)且恢复代价较小的数据
  • 在系统低内存时直接释放,而不是压缩
  • 再次使用时由用户重新构建数据

格物服务优化效果

格物服务针对端侧推理场景提供以下优化:

  • 资源管理优化:动态按需加载资源,避免资源浪费
  • QoS 感知调度:根据推理任务的重要程度进行调度,保障用户体验
  • 推理加速:通过优化资源管理和调度,提升推理效率

约束与限制

QoS 使用限制

  • QoS 接口只能设置当前任务的 QoS 等级,不能设置其他任务的 QoS 等级。

Purgeable Memory 使用限制

  • Purgeable Memory 适用于存放大块(至少 4K)且恢复代价较小的数据
  • 再次使用时需要用户自己恢复数据再使用

格物服务使用限制

  • 格物服务从 API version 20 开始支持
  • 需要依赖相关的动态链接库:libqos.so
在 指南 中进行搜索
请输入您想要搜索的关键词