2025-11-15T01:49:17.958429

Optimising Virtual Resource Mapping in Multi-Level NUMA Disaggregated Systems

Lakew, Svärd, Elmroth et al.
Disaggregated systems have a novel architecture motivated by the requirements of resource intensive applications such as social networking, search, and in-memory databases. The total amount of resources such as memory and CPU cores is very large in such systems. However, the distributed topology of disaggregated server systems result in non-uniform access latency and performance, with both NUMA aspects inside each box, as well as additional access latency for remote resources. In this work, we study the effects complex NUMA topologies on application performance and propose a method for improved, NUMA-aware, mapping for virtualized environments running on disaggregated systems. Our mapping algorithm is based on pinning of virtual cores and/or migration of memory across a disaggregated system and takes into account application performance, resource contention, and utilization. The proposed method is evaluated on a 288 cores and around 1TB memory system, composed of six disaggregated commodity servers, through a combination of benchmarks and real applications such as memory intensive graph databases. Our evaluation demonstrates significant improvement over the vanilla resource mapping methods. Overall, the mapping algorithm is able to improve performance by significant magnitude compared the default Linux scheduler used in system.
academic

Optimising Virtual Resource Mapping in Multi-Level NUMA Disaggregated Systems

基本信息

  • 论文ID: 2501.01356
  • 标题: Optimising Virtual Resource Mapping in Multi-Level NUMA Disaggregated Systems
  • 作者: Ewnetu Bayuh Lakew, Petter Svärd, Erik Elmroth, Johan Tordsson (Umeå University, Sweden)
  • 分类: cs.DC (分布式、并行与集群计算)
  • 发表时间: 2025年1月2日 (arXiv预印本)
  • 论文链接: https://arxiv.org/abs/2501.01356

摘要

本文研究了分解系统(disaggregated systems)中复杂NUMA拓扑对应用性能的影响,并提出了一种改进的NUMA感知映射方法。该方法基于虚拟核心绑定和内存迁移,综合考虑应用性能、资源竞争和利用率。在由6台商用服务器组成的288核心、约1TB内存的分解系统上进行评估,结果显示相比默认Linux调度器有显著性能提升。

研究背景与动机

问题定义

  1. 分解系统架构挑战:分解系统通过聚合多台物理服务器的资源来支持资源密集型应用(如社交网络、搜索、内存数据库),但分布式拓扑导致非均匀访问延迟和性能问题
  2. 多层NUMA复杂性:系统同时存在单机内部NUMA特性和跨机远程资源访问延迟,形成复杂的多层NUMA拓扑
  3. 虚拟化环境优化:现有Linux调度器无法有效处理这种复杂的资源映射场景

研究重要性

  • 现代应用对计算资源需求超出单机能力,分解系统成为重要发展方向
  • 资源映射策略直接影响应用性能,不当映射可能导致严重性能下降
  • 需要同时考虑资源竞争、局部性和干扰程度的综合优化

现有方法局限性

  • 传统NUMA优化工作主要针对小规模系统或使用仿真评估
  • 缺乏针对大规模分解系统的实际硬件测量研究
  • 未充分考虑资源竞争、局部性和干扰程度的综合影响

核心贡献

  1. 首个深入的分解系统实测研究:在真实分解硬件上进行深入测量,考虑资源竞争、局部性和干扰程度
  2. 应用分类与性能指标体系:采用Animal Classes分类法对应用进行分类,使用IPC和MPI作为性能指标
  3. NUMA感知映射算法:提出考虑应用分类、资源邻近性和运行时硬件性能计数器的在线映射算法
  4. 显著性能提升:在实际系统上实现平均50倍的性能提升

方法详解

任务定义

输入:虚拟机请求(包含CPU核心数、内存需求)、应用分类、系统资源状态 输出:虚拟CPU到物理CPU的最优映射方案 约束:避免资源超订、最小化NUMA距离、减少应用间干扰

应用分类体系

基于Animal Classes分类法将应用分为三类:

  • Sheep(温和型):不易受缓存共享影响的应用
  • Rabbit(敏感型):性能快速但易受缓存分配不足或共享影响而退化
  • Devil(破坏型):频繁访问缓存且未命中率高,影响其他应用性能

同时根据远程内存敏感性进一步分类为敏感/不敏感两类。

映射算法架构

两阶段映射策略

阶段1:远程性处理(应用到达时)

if VMi is a new arrival then
    if Free slot is suitable for VMi given ci, ai then
        Map VMi directly
    else
        Reshuffle existing VMs to create suitable slot
        Map VMi to new slot

阶段2:干扰最小化(运行时优化)

for each VMi do
    if (expected_perf - measured_perf)/expected_perf ≥ Threshold then
        Add VMi to affected list
        
for each affected VM do
    Build potential neighbor list based on class compatibility
    Compute new configuration with minimal reshuffle
    Remap if beneficial

应用兼容性矩阵

应用类型SheepRabbitDevil
Sheep
Rabbit
Devil

收益评估矩阵

应用类型Socket级NUMA节点级服务器级
Sheep158
Rabbit479
Devil169

性能监控机制

  • IPC (Instructions Per Cycle):指示应用相对性能,数值越高性能越好
  • MPI (Misses Per Instruction):测量缓存未命中率,数值越低性能越好
  • 使用Linux Perf工具实时收集硬件性能计数器

实验设置

硬件平台

  • 系统配置:6台IBM x3755 M3服务器
  • 处理器:每台2×AMD 6380 (48核心)
  • 内存:每台192GB RAM,总计1176GB
  • 网络:NumaConnect N323适配器,2维环形拓扑
  • 总资源:288核心,约1TB内存

NumaConnect技术特点

  • 缓存一致性共享内存系统
  • 统一编程模型,对应用透明
  • NUMA距离:本地10,邻居16/22,远程160/200

实验工作负载

应用类型分类特点
Neo4j图数据库SheepCPU和内存密集
Sockshop微服务Sheep云应用代表
Derby基准测试Sheep数据库基准
SPECjvm2008基准测试Rabbit/DevilJava运行时性能
Stream内存带宽-内存带宽测试

VM类型配置

VM类型CPU核心数内存(GB)数量
Small41612
Medium8324
Large16642
Huge722882

实验结果

主要性能提升

相比默认Linux调度器(Vanilla),提出的算法实现了显著性能提升:

应用SM-IPC提升SM-MPI提升
Derby215×241×
FFT33×37×
Sockshop25×23×
Sunflow34×34×
Mpegaudio
SOR17×23×
Neo4j
Stream105×105×

性能稳定性分析

  • Vanilla算法:标准差与平均性能比值>0.4,表现不可预测
  • SM-IPC/SM-MPI:该比值<0.04,性能稳定可预测

VM规模影响分析

以Stream应用为例,不同VM规模下的性能提升:

VM类型SM-IPC提升SM-MPI提升
Small48×47×
Medium105×105×
Large41×39×
Huge

关键发现

  • Huge VM性能提升相对较小,因为大VM本身具有更好的局部性
  • 小到中等规模VM受益最大,因为更容易受到不当映射的影响

NUMA距离影响

Mpegaudio应用在不同NUMA距离下的性能表现:

  • 本地访问:基准性能(1.0)
  • 邻居访问(距离16/22):性能下降约5-10%
  • 远程访问(距离160/200):性能下降最高17%

相关工作

传统NUMA优化研究

  • Panagouirgious:证明内存位置对NUMA系统性能的影响
  • Lepers等:研究非对称互连对x86系统的影响
  • Mayo和Gross:提出减少数据局部性的线程放置算法

虚拟化环境优化

  • Rao等:提出偏向随机vCPU迁移算法
  • Tang等:研究Google大规模生产环境中的NUMA影响

本文创新点

  • 首个针对分解系统的实际硬件深入研究
  • 综合考虑资源竞争、局部性和干扰程度
  • 提供完整的应用分类和映射算法框架

结论与讨论

主要结论

  1. 显著性能提升:提出的NUMA感知映射算法相比默认调度器平均提升50倍性能
  2. 稳定性改善:大幅降低性能变异性,提供可预测的性能表现
  3. 应用分类有效性:基于Animal Classes的分类方法能有效指导资源映射决策

局限性

  1. 静态分类假设:当前应用分类是静态的,未考虑应用行为的动态变化
  2. 有限的工作负载类型:评估主要集中在特定类型的应用上
  3. 特定硬件平台:实验仅在NumaConnect平台上进行

未来方向

  1. Linux调度器调优:研究通过调优Linux调度器来减少随机性的效果
  2. 内存迁移技术:使用libvirt中的"memory follows cores"内存迁移技术
  3. 动态应用分类:开发运行时应用行为分析和动态重分类机制

深度评价

优点

  1. 实用价值高:在真实硬件上进行评估,结果具有较强的实用性
  2. 方法论完整:从问题分析到解决方案设计再到实验验证形成完整体系
  3. 性能提升显著:实验结果显示了巨大的性能改进空间
  4. 系统性研究:综合考虑了多个影响因素,提供了全面的解决方案

不足

  1. 平台依赖性:研究主要基于NumaConnect平台,在其他分解系统上的适用性需要验证
  2. 工作负载覆盖:评估的应用类型相对有限,需要更多样化的工作负载验证
  3. 动态性不足:算法对系统负载动态变化的适应性还需进一步研究
  4. 理论分析缺乏:缺乏对算法复杂度和收敛性的理论分析

影响力

  1. 领域贡献:为分解系统的资源管理提供了重要的理论基础和实践指导
  2. 实用价值:算法可直接应用于云计算和高性能计算环境
  3. 可复现性:作者承诺提供源代码,有利于研究成果的推广和验证

适用场景

  1. 大规模云计算环境:特别适合资源池化的云基础设施
  2. 高性能计算集群:可用于优化HPC应用的资源分配
  3. 内存密集型应用:对于图数据库、内存计算等应用效果显著
  4. 虚拟化数据中心:可集成到现有的虚拟化管理系统中

参考文献

本文引用了26篇相关文献,涵盖了分解系统、NUMA优化、虚拟化技术等多个领域的重要研究成果,为研究工作提供了坚实的理论基础。


总体评价:这是一篇在分解系统资源管理领域具有重要贡献的论文,通过严谨的实验设计和充分的性能评估,证明了NUMA感知映射算法的有效性。尽管存在一些局限性,但其实用价值和学术贡献都很显著,为该领域的进一步发展奠定了基础。