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

Оптимизация виртуального отображения ресурсов в многоуровневых NUMA разделённых системах

Основная информация

  • ID статьи: 2501.01356
  • Название: Optimising Virtual Resource Mapping in Multi-Level NUMA Disaggregated Systems
  • Авторы: Ewnetu Bayuh Lakew, Petter Svärd, Erik Elmroth, Johan Tordsson (Университет Умео, Швеция)
  • Категория: cs.DC (распределённые, параллельные и кластерные вычисления)
  • Дата публикации: 2 января 2025 г. (препринт arXiv)
  • Ссылка на статью: https://arxiv.org/abs/2501.01356

Аннотация

В данной работе исследуется влияние сложной топологии NUMA на производительность приложений в разделённых системах и предлагается улучшенный метод отображения с учётом NUMA. Метод основан на привязке виртуальных ядер и миграции памяти, комплексно учитывая производительность приложений, конкуренцию за ресурсы и коэффициент использования. Оценка проводилась на разделённой системе, состоящей из 6 коммерческих серверов с 288 ядрами и примерно 1 ТБ памяти. Результаты показывают значительное улучшение производительности по сравнению с планировщиком 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 ядер)
  • Память: 192 ГБ ОЗУ на каждом сервере, всего 1176 ГБ
  • Сеть: адаптеры NumaConnect N323, двумерная кольцевая топология
  • Общие ресурсы: 288 ядер, примерно 1 ТБ памяти

Особенности технологии NumaConnect

  • Система с когерентной общей памятью
  • Единая модель программирования, прозрачная для приложений
  • Расстояние NUMA: локальное 10, соседнее 16/22, удалённое 160/200

Экспериментальные рабочие нагрузки

ПриложениеТипКлассификацияХарактеристики
Neo4jГрафовая БДSheepИнтенсивное использование CPU и памяти
SockshopМикросервисыSheepПредставитель облачных приложений
DerbyТест производительностиSheepТест производительности БД
SPECjvm2008Тест производительностиRabbit/DevilПроизводительность Java runtime
StreamПропускная способность памяти-Тест пропускной способности памяти

Конфигурация типов VM

Тип VMЯдра CPUПамять (ГБ)Количество
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

Ключевые выводы:

  • Улучшение производительности для больших 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 и др.: исследовали влияние NUMA в крупномасштабной производственной среде Google

Инновационные аспекты данной работы

  • Первое глубокое исследование разделённых систем на реальном оборудовании
  • Комплексный учёт конкуренции за ресурсы, локальности и степени помех
  • Предоставление полной структуры классификации приложений и алгоритма отображения

Заключение и обсуждение

Основные выводы

  1. Значительное улучшение производительности: предложенный алгоритм отображения с учётом NUMA достигает среднего улучшения в 50 раз по сравнению с планировщиком по умолчанию
  2. Улучшение стабильности: значительное снижение вариативности производительности, обеспечение предсказуемой производительности
  3. Эффективность классификации приложений: метод классификации на основе Animal Classes эффективно направляет решения по отображению ресурсов

Ограничения

  1. Предположение о статической классификации: текущая классификация приложений является статической и не учитывает динамические изменения поведения приложений
  2. Ограниченные типы рабочих нагрузок: оценка в основном сосредоточена на определённых типах приложений
  3. Специфичность аппаратной платформы: эксперименты проводились только на платформе NumaConnect

Направления будущих исследований

  1. Настройка планировщика Linux: исследование эффекта от настройки планировщика Linux для снижения случайности
  2. Технология миграции памяти: использование технологии "memory follows cores" для миграции памяти в libvirt
  3. Динамическая классификация приложений: разработка механизма анализа поведения приложений во время выполнения и динамической переклассификации

Глубокая оценка

Преимущества

  1. Высокая практическая ценность: оценка на реальном оборудовании обеспечивает высокую практическую применимость результатов
  2. Полная методология: от анализа проблемы к разработке решения и экспериментальной проверке образует полную систему
  3. Значительное улучшение производительности: результаты экспериментов демонстрируют огромный потенциал улучшения производительности
  4. Системное исследование: комплексный учёт множественных факторов влияния обеспечивает всестороннее решение

Недостатки

  1. Зависимость от платформы: исследование в основном основано на платформе NumaConnect; применимость на других разделённых системах требует проверки
  2. Ограниченное покрытие рабочих нагрузок: оценённые типы приложений относительно ограничены; требуется проверка с более разнообразными рабочими нагрузками
  3. Недостаточная динамичность: адаптивность алгоритма к динамическим изменениям нагрузки системы требует дальнейшего исследования
  4. Отсутствие теоретического анализа: недостаёт теоретического анализа сложности алгоритма и сходимости

Влияние

  1. Вклад в область: предоставляет важную теоретическую основу и практическое руководство для управления ресурсами в разделённых системах
  2. Практическая ценность: алгоритм может быть непосредственно применён в облачных вычислениях и высокопроизводительных вычислительных средах
  3. Воспроизводимость: авторы обещают предоставить исходный код, что способствует распространению и проверке результатов исследования

Применимые сценарии

  1. Крупномасштабные облачные вычисления: особенно подходит для облачной инфраструктуры с объединением ресурсов
  2. Кластеры высокопроизводительных вычислений: может использоваться для оптимизации распределения ресурсов HPC приложений
  3. Приложения, интенсивно использующие память: особенно эффективно для графовых БД, вычислений в памяти и подобных приложений
  4. Виртуализированные центры обработки данных: может быть интегрирован в существующие системы управления виртуализацией

Библиография

В данной работе цитируется 26 соответствующих источников, охватывающих разделённые системы, оптимизацию NUMA, технологии виртуализации и другие области, обеспечивая прочную теоретическую основу для исследовательской работы.


Общая оценка: это статья, вносящая значительный вклад в область управления ресурсами разделённых систем. Благодаря строгому экспериментальному дизайну и полной оценке производительности, она доказывает эффективность алгоритма отображения с учётом NUMA. Несмотря на некоторые ограничения, её практическая ценность и научный вклад значительны и закладывают основу для дальнейшего развития в этой области.