0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

OpenHarmony构建了一套完善的内存解决方案——ESWAP

OpenAtom OpenHarmony 来源:OpenAtom OpenHarmony 作者:OpenAtom OpenHarmony 2022-05-11 10:33 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

OpenAtom OpenHarmony(以下简称“OpenHarmony”)是面向全场景泛终端设备的操作系统,终端设备内存性能的强弱会直接影响用户的体验。终端设备的内存差异很大,对于内存比较小的终端设备,内存优化方案无疑是增强内存性能、提升用户体验的关键。针对传统内存方案及管理机制的不足,OpenHarmony 构建了一套完善的内存解决方案——ESWAP。

1.传统内存方案及管理机制

在传统的 Linux 内存优化方案中,终端设备通常采用 SWAP 及 ZRAM 内存方案。

1.1 SWAP

SWAP 即内存交换技术或虚拟内存技术,如图 1 所示,在系统的物理内存不足时,把内存中的一部分不常用的内存空间释放出来,以增大系统可用内存供当前运行的程序使用。这些被释放的数据被临时保存到 SWAP 分区中,等到需要使用时,再从 SWAP 分区中恢复到内存中。

9021bd4c-c62b-11ec-bce3-dac502259ad0.jpg

图1 SWAP虚拟内存技术

从图 1 中不难看出,SWAP 内存交换技术增大了设备内用内存,但是,SWAP 内存换入/换出时会遭遇 IO 性能瓶颈,严重时甚至会影响用户的使用体验,并且 flash 存储器件的频繁读写也会缩减其寿命。

1.2 ZRAM

ZRAM 即内存压缩技术,如图 2 所示,在系统的物理内存不足时,将系统物理内存的一部分划分出来作为 ZRAM 分区,然后把不常用的匿名页压缩后放到 ZRAM 分区里,相当于牺牲了一些 CPU 效率,以增大系统可用内存供当前运行的程序使用。等到需要使用时,再从 ZRAM 分区中将数据解压出来。

9037495a-c62b-11ec-bce3-dac502259ad0.jpg

图2 ZRAM内存压缩技术

虽然 ZRAM 在一定程度上增大了设备内用内存,但是如果没有合适的方式来对内存进行管理,负面影响也会非常明显,将会造成内存页频繁的压缩/解压缩,从而抢占正常业务的 CPU 时间,增加系统的功耗。并且,如果压缩/解压速度不够快的话,会直接影响用户的使用体验。

1.3 内存管理机制

除了内存方案不足,传统的内存分配及管理方式,无法感知业务特性及数据的重要性。如果终端设备多个进程或业务共用一块内存,当内存负载越来越重,进行内存数据回收时,会频繁出现数据搬移,以及内存震荡的现象。这些现象会加重内核管理内存的开销,并导致系统 CPU 负载长期处于高负载的状态,从而增加系统功耗。

2.OpenHarmony内存解决方案

针对原有内存方案的不足,OpenHarmony 构建了一套完善的内存解决方案 ESWAP,打通了上层系统到内核的调用栈,让内核能在上层配置的指导下,对每一块内存数据进行合理的管理。

下面我们将为大家介绍 ESWAP 解决方案以及其关键技术的解析。

2.1 ESWAP方案介绍

ESWAP(Enhanced SWAP)是 OpenHarmony 针对内存优化问题提供的一套完善的内存解决方案,结合内存压缩和内存交换技术,定制了一套合理高效的调度管理策略,使压缩和交换两者的工作能够高效且平衡。ESWAP 基于关联性的数据聚合技术及上层指导策略,将内存划分为不同的分组进行管理,通过回收优先级来区分不同分组下内存的活跃程度,优先压缩、换出较不活跃的内存数据,以提升数据交换性能,减少寿命冲击。

ESWAP 解决方案的整体框架如图3所示:

905a73bc-c62b-11ec-bce3-dac502259ad0.jpg

图3 ESWAP解决方案

ESWAP 解决方案在全局资源调度子系统中增加了一个系统资源调度模块,通过向账户子系统订阅本地账户的变化来感知当前的账户状态和内存状态,然后根据账户状态给各个账户设置不同的回收优先级、设置目标可用内存量、设置压缩和换出的比例等参数,并将这些参数下发给 ZSWAPD。ZSWAPD 会依据回收优先级判断回收的先后顺序;依据目标可用内存量和当前可用内存量的差值决定回收的量;依据压缩和换出的比例来决定压缩和换出的量,从而实现在达成内存扩展效果前提下的性能和功耗平衡。

2.2 关键技术解析

ESWAP 内存解决方案都用到了哪些关键技术呢?下面为你一一道来。

2.2.1 定制的ZRAM和交换分区

ESWAP 结合内存压缩和内存交换技术,提供了自定义新增存储分区作为内存交换分区的能力,并在内核中创建了一个常驻进程 ZSWAPD,用于将 ZRAM 压缩后的匿名页加密换出到 ESWAP 存储分区中,从而能完全地空出一块可用内存,以此来达到维持 Memavailable 水线的目标,如图 4 所示。

9071d872-c62b-11ec-bce3-dac502259ad0.jpg

图4 ESWAP技术

同时,ESWAP 模块还可以记录每个匿名页的冷热特征信息,并将这些数据通过关联性、冷热顺序进行相应的存放,使 ESWAP 交换区中连续存放的匿名页具有时间和空间局部性。因此在匿名页换入时,可以将交换区中的相邻匿名页一并读入 ZRAM,以此来保证数据的存取速度,提升 IO 性能。

2.2.2 动态的内存回收机制

OpenHarmony 提供了一种额外的内存回收机制 ZSWAPD,并创建了“buffer”来作为衡量当前系统内存能力的指标。buffer 指的是当前系统能提供的最大可用内存。ZSWAPD 会根据 buffer 量以及上文所述的各种策略,来对匿名页进行压缩换出以回收。同时,ZSWAPD 还能根据内存冷热分离的合理性以及内存回收状态, 动态地控制 ZRAM 和 ESWAP 之间的平衡,从而获得更高的能效比。

2.2.3 灵活的内存回收策略

OpenHarmony 基于 Memcg 分组进行了回收策略的增强,使用回收优先级来指导 ZSWAPD 回收的先后顺序。回收策略将既定的 buffer 相关配置下发给 ZSWAPD,来指导其回收适当数量的内存。此外,由于匿名页可能存储在 RAM、ZRAM、ESWAP 三个模块中, 上层可以根据需要,通过灵活地配置交换策略,控制这三个模块中存储的比例,避免频繁换入换出带来的负面影响。

至此,ESWAP 的三项关键技术就介绍完了,我们来总结一下:

●定制的 ZRAM 和交换分区:将数据通过关联性、冷热顺序进行存放,保证了数据的存取速度,提升了 IO 性能。

●动态的内存回收机制:从回收优先级、可用内存量、压缩和交换比例三个维度动态地控制数据回收,从而获得更高的能效比。

●灵活的内存回收策略:灵活地控制 RAM、ZRAM、ESWAP 三个模块数据存储的比例,保证了各个模块的平衡。

2.3 ESWAP相关接口

ESWAP 解决方案支持系统开发者定制自己的回收策略,并在 /dev/memcg 下提供了仅对上层回收策略可见的接口。系统开发者可以通过这些接口来定制自己的上层策略,具体接口如下所示:

908ce84c-c62b-11ec-bce3-dac502259ad0.jpg

以上就是本文全部内容,ESWAP 解决方案仍在不断建设中,期待广大开发者加入我们,共同见证全场景智能时代的无限可能!感兴趣的小伙伴可以通过下面链接获取ESWAP源码进行深入了解:

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 操作系统
    +关注

    关注

    37

    文章

    7437

    浏览量

    129615
  • 内存技术
    +关注

    关注

    0

    文章

    29

    浏览量

    10045
  • OpenHarmony
    +关注

    关注

    33

    文章

    3974

    浏览量

    21356

原文标题:OpenHarmony 3.1 Release版本关键特性解析——Enhanced SWAP内存管理

文章出处:【微信号:gh_e4f28cfa3159,微信公众号:OpenAtom OpenHarmony】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    一盒内存一套房!大厂锁货、小厂停摆,存储涨价撕裂产业链

    电子发烧友网报道(文/莫婷婷)2026年初,“一盒内存条堪比上海一套房”的话题冲上热搜。据媒体报道,256GB DDR5服务器内存单条价格超过4万元,若次性采购
    的头像 发表于 01-08 16:31 5943次阅读
    <b class='flag-5'>一盒内存</b>抵<b class='flag-5'>一套</b>房!大厂锁货、小厂停摆,存储涨价撕裂产业链

    海康威视基于数字孪生技术构建智慧隧道解决方案

    在隧道运营管理中长期依赖人工巡检和传统监控不仅效率受限,更难以应对复杂的突发状况,如何突破这些瓶颈?海康威视基于数字孪生技术,构建了一套“数据驱动、动态映射、实时交互”的智慧隧道解决方案,通过技术手段实现运营管理的智慧化升级。
    的头像 发表于 02-11 15:19 618次阅读

    寻迹智行助力某农业国企农作物成品搬运无人化

    某知名种业国企引入寻迹智行平衡重无人叉车搬运设备,构建了一套完整的种业成品出入库无人化作业解决方案
    的头像 发表于 01-23 13:59 216次阅读
    寻迹智行助力某农业国企农作物成品搬运无人化

    施耐德电气机器运动控制“黄金四件”整体解决方案全面推向市场

    如今,集控制器、伺服与电机、变频器和人机界面为一套的施耐德电气机器运动控制“黄金四件”整体解决方案已经全面推向市场,宣告从感知、决策、执行到调节的全链路创新首战告捷!
    的头像 发表于 01-06 14:06 482次阅读

    达实智能构建企业办公空间智慧场景解决方案

    为了给企业用户提供优质的整体智能化方案服务,达实智能搭建了以AIoT智能物联网管控平台为核心的 “1 + 4 + N ” 产品体系,用丰富的行业原生应用,实现互联互通和数据共享,让数据上得来,场景能落地,构建了面向总部办公建筑
    的头像 发表于 11-28 10:24 787次阅读

    怎么实现一套容器运行时,并符合OCI规范?

    如题,怎么实现一套容器运行时,并符合OCI规范
    发表于 10-10 07:35

    更改RT-Thread Setting之后不能构建了,如何解决?

    原来能正常构建的工程打开RT-Thread Setting启用了soft timer之后出来就不能构建了,左上角的锤子直灰色,“项目”菜单下的“构建项目”也没有反应了,怎么解决?
    发表于 09-19 07:54

    无人机智能巡检系统:现代化运维的空中解决方案

           无人机智能巡检系统:现代化运维的空中解决方案        无人机智能巡检系统集成先进飞行平台、图像识别算法、自主导航与数据分析技术,构建了一套高效、精准的巡检解决方案
    的头像 发表于 09-10 13:23 952次阅读

    如何搭建一套安防监控管理平台?

    构建一套现代化的安防监控管理平台,本质上是建设个集数据采集、传输、处理、存储、分析与应用于体的综合型技术中枢。其技术架构需遵循模块化、高可用、可扩展及开放性的设计原则,具体可分为以
    的头像 发表于 09-04 16:19 1113次阅读
    如何搭建<b class='flag-5'>一套</b>安防监控管理平台?

    分支多、云也多,网络又慢又烧钱?一套方案全搞定!

    、成本控制与运维效率的多重压力。面对这些挑战,是否有一套网络架构能够“全搞定”?答案是肯定的。基于行业实践与技术演进,我们逐渐形成了一套以SD-WAN+云网融合平台+
    的头像 发表于 08-28 14:25 1311次阅读
    分支多、云也多,网络又慢又烧钱?<b class='flag-5'>一套</b><b class='flag-5'>方案</b>全搞定!

    龙芯中科携手科达自控构建智慧水务系统

    以全栈国产化技术为核心,构建了一套功能完善、安全可靠、部署便捷的智慧水务系统。系统体系结构清晰,形成了从底层硬件到上层应用的完整技术链条,实现了各环节的无缝衔接与协同工作。
    的头像 发表于 08-08 11:37 1240次阅读

    德思特案例 | 一套设备兼容四大测试场景:全面解析弱网测试方案

    随着用户对网络体验要求的不断提升,弱网环境下的稳定性已不再是“加分项”,而是终端产品必须具备的“基本功”。德思特通过现网模拟 + 参数可控 + 自动化测试 + 创新硬件设计,为行业提供了一套完整、可复用、可扩展的弱网测试解决方案
    的头像 发表于 08-08 10:47 1161次阅读
    德思特案例 | <b class='flag-5'>一套</b>设备兼容四大测试场景:全面解析弱网测试<b class='flag-5'>方案</b>

    基于复旦微MCU+NFC Reader+NFC Tag双通道标签站式解决方案

    方案基于​​复旦微FM33LE026低功耗微控制器​​(MCU)与​​FM17622 读写器芯片​​,构建了一套高可靠性双通道标签读写系统。FM33LE026凭借其超低功耗特性(运行功耗低至50μA/MHz,休眠模式
    的头像 发表于 06-16 09:53 3047次阅读
    基于复旦微MCU+NFC Reader+NFC Tag双通道标签<b class='flag-5'>一</b>站式<b class='flag-5'>解决方案</b>

    基于OpenHarmony打造新代智能化解决方案

    硬件性能优势与软件生态资源,构建形成面向工业控制、智能终端及物联网等多元场景的高效、稳定、安全的体化智能解决方案
    的头像 发表于 05-23 17:45 1554次阅读

    自来水厂的数据采集与能耗监测平台解决方案

    解决方案旨在构建一套全面、精准、高效的自来水厂能耗数据采集监测系统,实现对自来水厂能耗的实时监控、分析和优化管理。
    的头像 发表于 05-20 16:34 738次阅读