微软官方MSDN原版Win10系统下载

现在位置: 首页  > IT资讯

Enhanced SWAP内存管理 OpenHarmony构建新的内存管理优化方案——ESWAP

时间:2024-11-15 17:20:24   

大家好,今天Win10系统之家小编给大家分享「Enhanced SWAP内存管理 OpenHarmony构建新的内存管理优化方案——ESWAP」的知识,如果能碰巧解决你现在面临的问题,记得收藏本站或分享给你的好友们哟~,现在开始吧!

财富管理 — 彭博商业周刊出品系列软件最新版本下载

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

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

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

  1.1 SWAP

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

  图1 SWAP虚拟内存技术

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

  1.2 ZRAM

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

  图2 ZRAM内存压缩技术

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

  1.3 内存管理机制

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

  2. OpenHarmony内存解决方案

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

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

  2.1 ESWAP方案介绍

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

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

  图3 ESWAP解决方案

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

  2.2 关键技术解析

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

  2.2.1 定制的ZRAM和交换分区

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

  图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下提供了仅对上层回收策略可见的接口。系统开发者可以通过这些接口来定制自己的上层策略,具体接口如下所示:

  以上就是本文全部内容,ESWAP解决方案仍在不断建设中,期待广大开发者加入我们,共同见证全场景智能时代的无限可能!

  感兴趣的小伙伴可以通过下面链接获取ESWAP源码进行深入了解:

  https://gitee.com/openharmony/kernel_linux_5.10/pulls/43

以上就是关于「Enhanced SWAP内存管理 OpenHarmony构建新的内存管理优化方案——ESWAP」的全部内容,本文讲解到这里啦,希望对大家有所帮助。如果你还想了解更多这方面的信息,记得收藏关注本站~

Win10系统之家①独①家使用,转载请注明出处!】

相关文章

  • Enhanced SWAP内存管理 OpenHarmony构建新的内存管理优化方案——ESWAP

    Enhanced SWAP内存管理 OpenHarmony构建新的内存管理优化方案——ESWAP

    OpenHarmony是面向全场景泛终端设备的操作系统,终端设备内存性能的强弱会直接影响用户的体验。终端设备的内存差异很大,对于内存比较小的终端设备,内存优化方案无疑是增强内存性能、提升用户体验的关键。针对传统内存方...
  • OpenHarmony新音视频引擎——HiStreamer

    OpenHarmony新音视频引擎——HiStreamer

    OpenAtomOpenHarmony(以下简称“OpenHarmony”)是由开放原子开源基金会(OpenAtomFoundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促...
  • 九阳超滤净水机JYW-RC550——守住健康饮水的第一道关卡

    九阳超滤净水机JYW-RC550——守住健康饮水的第一道关卡


      消费升级大趋势下,人们对生活品质的追求越来越高,健康意识也越来越强。饮用水又与人们的生活息息相关,因此净水产品特别是净水机逐渐成为了现代家居生活中的必需品。为了让消费者喝到健康安全的饮用水,一直坚持“原创创新”和“健康为先”的九阳为广大消费者带来了九阳超滤净水机JYW-RC550。
      首先,九阳超滤净水机JYW-RC550在净水方面的能力十分出众,经过这款净水机净化的饮用水...
  • IBM过去的“未来五年五大创新趋势”预测 — 现在兑现情况如何?

    IBM过去的“未来五年五大创新趋势”预测 — 现在兑现情况如何?


      IBM今日宣布了其本年度的5in5(未来五年五大创新趋势)技术预测。今年的一系列预测主要集中在加速发现新材料以实现更可持续的未来。我们必须加快探索进程,更快速地找到有助益的材料,以此应对联合国可持续发展目标(UNSustainableDevelopmentGoals)中包含的当代社会所面临的紧迫挑战,从促进生成健康和清洁的能源,到增强可持续性,支持气候行动以及负责任的生产等等。