查看原文
其他

内存不超过5M,datop 在识别冷热内存及跨 numa 访存有多硬核?| 龙蜥技术

Kernel SIG 成员 OpenAnolis龙蜥 2022-05-30

datop 是一款轻量级实时性内存冷热扫描工具,能够扫描内存冷热以及跨 muma 访存的情况,其运行时开销和存储空间非常小(单 CPU 使用率不到 4% 和 5MB),此外不受硬件平台的限制,在物理机和虚拟机上均能支持。目前已经在龙蜥社区开源了,内核态的部分代码是基于 OpenAnolis 5.10。

开源地址:

https://gitee.com/anolis/data-profile-tools.git 

以下是 Cloud Kernel SIG 核心成员分享《datop 轻量级靶向内存热点扫描工具介绍与入门》部分内容(视频回顾和技术PPT获取方式见文末)

DRAM 内存低容量对系统造成性能影响日益突出,云计算场景中为缓解日益增长的内存需求,业界提出异构内存的使用,采用两种或更多类型的内存:小型高性能内存以及大容量的低性能内存。此外,现代高端存储设备如固态驱动器和相位改变内存,为提高内存性能提供了可能, 这些替代方案给人一种错误的幻觉,以为轻易能通过筛选数据的热度来选择存放的设备,确实这些信息在现有的内存管理中,可以通过全盘扫描内存冷热的方式得到, 但是长时间扫描过程中很容易产生极大的开销,造成系统性能损耗。

当前现有内存冷热扫描机制缺陷:
  • 热点跟踪开销成比例增长:监控的内存越多,开销越大
  • 跟踪质量降低:监控内存范围越大,监控质量下降越明显
  • 缺少 numa 访存统计:跨 numa 访存性能影响不可忽略  

针对上述问题,我们开发了跟踪实时内存热点数据的工具 datop(Data Access Top), 采用划分内存区域采样的方式,并自适应区域构建技术来获取极低的开销损耗,在此基础上,还增加了 numa 仿真功能,用于收集任务跨 numa 访存情况,为了评估其准确性和低开销能力,我们选取和测试了多个 benchmark,并与基线进行比较,结果表明:datop 工具在识别冷热内存以及跨 numa 访存方面具备优秀的表现能力。

具体分享提纲有以下 6 部分:

1、datop 的概述

2、背景:云计算大规模复杂场景下内存面临的挑战

3、datop 开发设计和目标

4、热点扫描原理及策略

5、datop 工具测试情况说明

6、datop 演示与试用及后续规划和思考

标准 datop 演示与使用,利用 datop 工具去监控测试用例 numactl -m 0 -C 30 memhog -r1000000000 100m 热点内存分布以及跨 numa 情况。

最后,介绍 datop 工具的规划和思考:

1、热点工具region粒度准确性进一步优化  

2、Tiered Memory (Pro|De)motion优化  

3 、THP Coalesce/Split

4、Proactive-reclaim    

5、Proactive page migration 和 Duplicate backup  

欢迎加入 Cloud Kernel SIG:https://openanolis.cn/sig/Cloud-Kernel邮件列表:cloud-kernel@lists.openanolis.cn

关于回放和课件获取 

【视频回放】:视频回访已上传至龙蜥官网(官网-动态-视频,可阅读原文直达)查看。
【PPT课件获取】:关注微信公众号(OpenAnolis),回复“龙蜥课件” 即可获取。有任何疑问请随时咨询龙蜥助手—小龙(微信:openanolis_assis)
—— 完 ——
加入龙蜥社群

加入微信群:添加社区助理-龙蜥社区小龙(微信:openanolis_assis),备注【龙蜥】与你同在;加入钉钉群:扫描下方钉钉群二维码。欢迎开发者/用户加入龙蜥社区(OpenAnolis)交流,共同推进龙蜥社区的发展,一起打造一个活跃的、健康的开源操作系统生态!

关于龙蜥社区

龙蜥社区(OpenAnolis)由企事业单位、高等院校、科研单位、非营利性组织、个人等在自愿、平等、开源、协作的基础上组成的非盈利性开源社区。龙蜥社区成立于 2020 年 9 月,旨在构建一个开源、中立、开放的Linux 上游发行版社区及创新平台。

龙蜥社区成立的短期目标是开发龙蜥操作系统(Anolis OS)作为 CentOS 停服后的应对方案,构建一个兼容国际 Linux 主流厂商的社区发行版。中长期目标是探索打造一个面向未来的操作系统,建立统一的开源操作系统生态,孵化创新开源项目,繁荣开源生态。

目前,龙蜥OS 8.4已发布,支持 X86_64 、Arm64、LoongArch 架构,完善适配 Intel、飞腾、海光、兆芯、鲲鹏、龙芯等芯片,并提供全栈国密支持。

欢迎下载:

https://openanolis.cn/download

加入我们,一起打造面向未来的开源操作系统!

https://openanolis.cn

往期精彩推荐
1.利器解读!Linux 内核调测中最最让开发者头疼的 bug 有解了|龙蜥技术
2.直播回顾:SIMD 指令集在 OpenJDK 中的现状与未来 | 龙蜥技术
3.如何完成与龙蜥操作系统的兼容验证,看这里!| 一周动态
4.龙蜥开发者说:从零开始的创造,是动力也是挑战 | 第5期
5.聊一聊龙蜥硬件兼容性 SIG 那些事儿 | 龙蜥 SIG

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存