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