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

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

3天内不再提示

探索内存交换的新出路

SSDFans 来源:SSDFans 2023-07-26 09:11 次阅读

背景

内存交换技术是当内存紧缺的时候,将内存中的页面交换到交换设备中(如zRAM,SSD等)。随着SSD的性能越来越好,越来越多的交换设备采用SSD。然而对于块SSD来说,数据频繁写入更新会导致频繁触发垃圾回收(GC)进行空闲空间的回收。而其中的有效数据搬移会导致额外的写放大,因此垃圾回收的效率决定了对寿命的影响程度。Zoned Namespace (ZNS)是一种新型SSD存储接口特性。一个ZNS SSD是由一系列逻辑可寻址zone(区域)组成,而每个区域物理上与SSD擦除粒度Block是对齐的。区域内的读可以是随机的,但是写必须是顺序的。

动机

对于数据中心而言,交换性能十分关键。因此本文针对于交换逻辑和SSD行为之间的相互作用进行分析,并得出4点重要发现。

发现1:块SSD执行GC时无法感知到已解除分配的交换槽(swap-slots)。

块设备SSD通常使用TRIM命令来使设备感知到交换槽的释放,然而对降低由于内存交换导致的GC开销效果并不明显。这是因为对于传统大粒度TRIM而言,连续512个逻辑地址页面的TRIM比较难以达到,故而TRIM指令的下发很少,使得效果并不明显;同时对于小粒度TRIM而言,由于TRIM本身带有的开销(如命令下发,元数据加载修改开销等),使得其效果也并不是很理想。图1展示了实验结果。

2c51db60-2b44-11ee-a368-dac502259ad0.png

图1 TRIM对设备性能的影响

发现2:交换缓存无法感知到GC。

图2展示了设备使用率对读性能的影响。理论情况下不同设备使用率对读性能应该没有影响,然而经过测试发现当设备使用率高的时候读性能和写放大系数发生了变化。这跟交换缓存实现的原理有关。当设备使用率超过50%时,所有交换读请求不会存放在交换缓存中,此时swap-slot会被释放。当内存中逐出该数据时,则需要重新将数据写入交换设备中。这样设计的原因有二,一是避免swap-slot过多带来的管理开销,二是避免设备垃圾回收时搬移过多的数据量。图3展示了交换缓存中截断阈值对性能设寿命的影响。其中发现对读负载,阈值越大表现越好,因为避免了数据的额外写入;对读写混合负载,阈值越小表现越好,因为及时无效外存数据则会提升垃圾回收效率,提高性能。而对于静态阈值无法很好地满足不同工作负载的表现。

2c982480-2b44-11ee-a368-dac502259ad0.png

图2 设备使用率对读性能的影响

2cc8eb2e-2b44-11ee-a368-dac502259ad0.png

图3 交换缓存截断阈值对性能和寿命的影响

发现3:GC无法感知到页面访问特征。

对于TRIM而言,常见使用大粒度TRIM来降低开销。然而对于倾斜度较大的负载,无效掉的数据往往无法十分连续。这会影响TRIM的下发,从而影响GC效率。经过测试发现,采用均衡负载时,换出带宽为480MB/s;然而对于倾斜负载(512-slots TRIM)时,换出带宽为195MB/s,同时对于倾斜负载(8-slots TRIM)换出带宽为324MB/s。因此针对不同页面访问特征,GC无法很好的感知到,导致整体性能下降。

发现4:GC无法感知到操作系统的性能隔离。

图4显示了不同进程的换入带宽。CG.A为纯读进程,CG.B为读写混合进程。通过图中可以发现,不同进程之间的性能会被相互影响。而理想状态下不同进程之间的性能应该不受到影响,如读写混合负载引发的GC不应该影响纯读负载的性能。

2cd40e00-2b44-11ee-a368-dac502259ad0.png

图4 进程之间性能的相互影响

方法

为了解决上述的四个问题,ZNS SSD在本文中被使用。这是因为ZNS SSD随着设备使用率的提升依然保持着稳定的性能,如图5所示。本文提出ZNSwap,其中有三个关键设计目标:1. 实现资源高效的主机端GC:降低主机端GC最为消耗资源的反向映射表的开销。2. ZNGC-OS一体化:ZNGC可以直接获取操作系统暴露的信息来优化swap性能,避免TRIM的开销。3. 交换数据放置策略:通过一系列接口实现每个核之间的性能隔离、冷热数据间的性能隔离和进程之间的性能隔离。

2d09d38c-2b44-11ee-a368-dac502259ad0.png

图5 ZNS SSD随着设备使用率的不同性能的变化

1. ZNGC:ZNGC中实现了反向映射的设计,通过在页面的OOB区域中存储结构体来进行反向映射,而非通过记录地址转换表,从而节省开销。具体结构体设计如图6所示。

2d371450-2b44-11ee-a368-dac502259ad0.png

图6 Linux反向映射设计,阴影部分为ZNGC反向映射时所需要用到的结构体

2. ZNGC-swap一体化:其中包括四个部分内容。a)物理zone(空间)信息:每个空间与swap-slots的映射相关联,映射存储了每个swap-slot的状态。这样ZNGC和OS就可以立马知道swap-slot的状态转变,不需要TRIM和截断阈值来管理交换缓存。b)交换空间抽象:可以被用来swap-slot分配的活跃空间通过交换空间抽象进行暴露,从而避免管理物理空间的复杂性。c)ZNSwap策略:提供一系列接口使得可以定制化空间分配策略和回收策略。d)接口:本文定义了三个标准api,核策略、冷热策略和进程策略,分别是对每个核的数据、冷热数据和进程数据进行性能隔离。

2d5bf522-2b44-11ee-a368-dac502259ad0.png

图7 ZNGC 策略接口

实验结果

ZNGC-交换子系统收益:换出带宽实验结果如图8所示。正如预期,随着设备使用率的提升GC负担越重。同时,该文章衡量了80%设备使用率时,CPU的最大开销。发现,ZNGC的CPU开销小,同时交换性能表现更好。同时跟采用截断阈值相比,ZNSwap可以达到图3中的ideal。

2d8e0652-2b44-11ee-a368-dac502259ad0.png

图8 换出带宽和写放大与设备使用率的关系

进程交换性能隔离:同时运行两个进程,一个只读,一个只写,观察两个进程的换入性能。结果如图9所示。使用进程策略,可以使得ZNswap在该条件下达到最优带宽。

2db61ba6-2b44-11ee-a368-dac502259ad0.png

图9 进程性能隔离实验结果

总结

本篇文章针对基于块SSD开启内存交换进行分析后得出四个结论,块SSD垃圾回收时所存在的缺陷。进而提出使用ZNS SSD,并进行内存交换的优化设计。具体包括资源搞笑的主机端GC、ZNGC-OS一体化和交换数据放置策略。通过最终的实验结果可以得出,ZNswap可以得到较好的性能和较低的写放大,同时也实现了较好的性能隔离。





审核编辑:刘清

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

    关注

    38

    文章

    7453

    浏览量

    163608
  • 交换机
    +关注

    关注

    21

    文章

    2623

    浏览量

    99269
  • SSD
    SSD
    +关注

    关注

    20

    文章

    2851

    浏览量

    117234
  • SWAP
    +关注

    关注

    0

    文章

    51

    浏览量

    12801

原文标题:​ZNSwap: 探索内存交换的新出路

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

收藏 人收藏

    评论

    相关推荐

    PC不景气,英特尔或要靠云计算和物联网赚钱了

    PC产业不景气,但英特尔找到了数据中心、物联网服务等的新出路
    发表于 10-15 08:36 636次阅读

    LED照明新出路,智能化成卖点

    LED照明具有节能、环保、长寿、抗震、体积小、响应速度快等优点,其优质的性能吸引了数以万计的LED小企业切入,除了传统灯具商之外,国际照明厂商、LED显示厂商纷纷在LED领域招兵买马摆阵厮杀。
    发表于 05-23 16:16 1882次阅读

    [分享]我们Hotmail.com认为,恩格斯Hotmail Com这部著作的书名

    黑格尔那里被终结后出现的一条新出路或一个新出口。作为“出路”,费尔巴哈哲学已经置身于德国古典哲学的范围之外了。打个比方,如果德国古典哲学是一个“城堡”,那么费尔巴哈已经“走出了”城堡。有人也许会反驳道
    发表于 08-15 15:52

    危机之后,看中国行业领头羊指点本土手机技术提升新出路

    危机之后,看中国行业领头羊指点本土手机技术提升新出路 经济危机爆发以后,欧美手机巨头出货量大幅下滑,中国本土厂商中兴、华为以及部分
    发表于 11-05 08:43 799次阅读

    交换机内存

    交换机内存         
    发表于 01-08 11:16 2728次阅读

    固网宽带存量空间还在紧缩,三大运营商探索智慧家庭新道路

    在面对固网宽带市场不断被压缩的存量空间,三大运营商都早已经探索出了智慧家庭时代的新出路。中国移将会打造数字家庭生态圈,中国电信已经构建起成型的智慧家庭生态,中国联通主推以视频为引领的高带宽内容及应用产品。
    发表于 11-30 14:04 5723次阅读

    专访郑梁:富昌电子1688超级店走出电子元器件电商新出路

    随着互联网发展,电子元器件分销行业正经历变革,分销商们也在不断探索新的出路,纷纷开辟自己的电商平台。作为世界前三的电子元器件分销商,富昌电子更是在推出自己全新的中国区官网之后,又和阿里巴巴超级店合作
    的头像 发表于 08-21 10:30 6249次阅读

    NFC技术或成新零售新出路

    随着移动支付的普及,人们的衣食住行都可以通过一个手机解决,大大的提高了人们工作和出行的效率。
    的头像 发表于 10-22 16:41 3239次阅读

    光伏取暖能否成为光伏新出路

    “531”新政出台至今,光伏人可谓渡过了最煎熬的一段时间。愤懑、抱怨、指责、失望,当然也有淡然与乐观,各种情绪在从业者中弥漫。企业与产业层面,停产、欠薪、放假、降价……政策变化带来的压力与影响已加速显现。“531”带来剧烈阵痛,也带来反思,这次变化也必将成为光伏产业发展历程中的重笔,深刻影响未来走向。 中国光伏市场可以用两个词来形容:艳阳高照、狂风暴雨,未来希望仍是前者。
    的头像 发表于 01-01 07:57 6289次阅读

    自动驾驶可以在矿区运输上做些什么

    伴随着“无人运输”的到来,司机的双手双脚即被解放,矿区运输将迎来新出路
    发表于 12-17 14:33 796次阅读

    探索长三角产业数智化发展新出路

    致辞的最后,陈群伟诚挚邀请各位企业家走进平湖、了解平湖、关注平湖、投资平湖、扎根平湖,共同续写平湖“新故事”。平湖将一如既往为企业发展提供一流的政策、一流的配套以及一流的服务,将始终致力于打造没有最好、只有更好的营商环境。
    的头像 发表于 04-22 09:47 1333次阅读

    边缘计算设备,手机循环经济的新出路

    据国家统计局公布的数据,2020年,全国居民每百户移动电话拥有量为253.8部。在中国信通院发布的最新报告中显示,2021年前11个月,国内市场手机总体出货量累计3.17亿部,同比增长12.8%,上市新机型累计427款,同比增长3.1%。 国内手机市场出货量,图据中国信通院 供需两旺造就了成熟的手机供应链,在各家出货量都有保障的前提下,为了刺激和吸引消费者,各大手机厂商在“抢首发”、“争机皇”的大战中卷了起来。 在他们都使用浑身解数推新的繁荣背
    的头像 发表于 12-29 14:50 1350次阅读
    边缘计算设备,手机循环经济的<b class='flag-5'>新出路</b>

    如何解决内存碎片与内存交换效率慢的问题

    内存分页 分段的好处是能产生连续的内存空间,但是会出现大量内存碎片与内存交换效率低的问题 先思考一下怎么解决这两个问题,
    的头像 发表于 10-09 16:57 994次阅读
    如何解决<b class='flag-5'>内存</b>碎片与<b class='flag-5'>内存</b><b class='flag-5'>交换</b>效率慢的问题

    反射内存交换机与普通交换机的区别

    反射内存交换机与普通交换机在以下几个方面存在明显区别:工作原理和机制:反射内存交换机基于反射内存
    的头像 发表于 09-05 09:57 486次阅读
    反射<b class='flag-5'>内存</b><b class='flag-5'>交换</b>机与普通<b class='flag-5'>交换</b>机的区别

    如何使用反射内存交换

    反射内存交换机是一种用于实现高速数据共享和通信的关键设备,以下是关于如何使用反射内存交换机的详细介绍:一、前期准备 在开始使用反射内存
    发表于 09-14 09:23 0次下载