本文在浪潮信息云峦服务器操作系统KeyarchOS(简称KOS)环境下,在DAMON的自动化策略执行模块DAMOS对异构内存访问的提升效果方面作用进行了应用验证。
随着云计算、大数据、人工智能等技术的快速发展,数据呈现出爆发式增长趋势,同时驱动着算力持续提升,然而,传统DRAM并未实现同步扩展以满足应用需求,应用对内存容量和带宽不断提高的需求,推动着内存扩展技术不断发展,在此背景下,CXL成为解决内存扩展瓶颈的最有前景的技术;与DRAM内存相比,扩展内存面临高延迟、低带宽的技术挑战,为了解决这些挑战,分层内存技术应运而生。
背景
在AI算力需求爆发式增长与混合内存架构普及的双重驱动下,异构内存系统(由具有差异化延迟和带宽特性的NUMA节点构成)已成为主流架构。此类系统中,亟需基于页面访问频率实施动态内存迁移策略,防止高访问密度页面(热页)滞留于慢速内存层导致的性能瓶颈。Linux内核的DAMON(数据访问监控框架)及其DAMOS(基于DAMON的操作方案)为此提供了核心技术支持。
技术原理
1.多粒度采样机制
动态划分内存监控区域(Region),每个区域包含若干物理页。通过随机抽样检测页表项(PTE)的访问位(Accessed Bit)推断区域活跃度,显著降低扫描开销。
2.自适应区域调控
智能合并访问特征相似的相邻区域,分割访问差异显著的区域,维持100-1000个监控区域的动态平衡,实现监控精度与资源消耗的最优解。
3.VMA智能聚焦
基于虚拟内存区域(VMA)自动过滤未映射空间,专注监控堆、栈、mmap等关键内存区域,避免无效扫描。
策略触发机制:基于区域属性(大小、访问频率、生命周期)动态匹配操作条件,实现精准策略执行。
实验验证
工作负载
测试工具:Redis 6.2 + YCSB基准测试套件
数据特征:50GB数据集(Zipfian/Latest分布模拟热点访问)
压力构建:预分配冷内存强制95%数据初始存放于CXL节点
1.禁用Redis持久化功能构建纯内存数据库
2.激活DAMOS_MIGRATE策略:
DAMOS_MIGRATE_COLD:迁移冷页至CXL节点
DAMOS_MIGRATE_HOT:迁移热页至DRAM节点
3.周期性执行访问模式分析与页迁移

问题修复与功能增强
BUG修复
测试发现当目标NUMA节点内存不足时,系统会异常触发跨层级内存申请(如DRAM不足时向CXL节点申请),与设计的NODE_MASK_NONE策略冲突。经代码分析定位到内存节点选择逻辑的缺陷,已修复该异常迁移逻辑。
新增同层内存扩展机制:当目标节点内存不足时,选择同层级节点执行页迁移(如DRAM层内节点)。该功能通过/sys/kernel/mm/damon/路径下的相应的开关进行控制(默认关闭),用户可按需启用。
目前以上两个优化正在提交内核社区。
应用价值
DAMON+DAMOS架构为CXL、PMEM等新型内存设备提供动态管理方案,有效缓解慢速内存延迟较高导致的性能损失,有效提升数据库、AI推理等场景的性能。
售前咨询
售后服务
回到顶部