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 разделённых системах
В данной работе исследуется влияние сложной топологии NUMA на производительность приложений в разделённых системах и предлагается улучшенный метод отображения с учётом NUMA. Метод основан на привязке виртуальных ядер и миграции памяти, комплексно учитывая производительность приложений, конкуренцию за ресурсы и коэффициент использования. Оценка проводилась на разделённой системе, состоящей из 6 коммерческих серверов с 288 ядрами и примерно 1 ТБ памяти. Результаты показывают значительное улучшение производительности по сравнению с планировщиком Linux по умолчанию.
Вызовы архитектуры разделённых систем: разделённые системы поддерживают ресурсоёмкие приложения (такие как социальные сети, поисковые системы, базы данных в памяти) путём агрегирования ресурсов нескольких физических серверов, однако распределённая топология приводит к неравномерной задержке доступа и проблемам производительности
Сложность многоуровневой NUMA: система одновременно имеет характеристики NUMA внутри одной машины и задержки удалённого доступа к ресурсам между машинами, формируя сложную многоуровневую топологию NUMA
Оптимизация в виртуализированной среде: существующие планировщики Linux неэффективно справляются с такими сложными сценариями отображения ресурсов
Современные приложения требуют вычислительных ресурсов, превышающих возможности одной машины, что делает разделённые системы важным направлением развития
Стратегия отображения ресурсов напрямую влияет на производительность приложений; неправильное отображение может привести к серьёзному снижению производительности
Требуется комплексная оптимизация, учитывающая конкуренцию за ресурсы, локальность и степень помех
Первое глубокое исследование разделённых систем на реальном оборудовании: проведены детальные измерения с учётом конкуренции за ресурсы, локальности и степени помех
Классификация приложений и система показателей производительности: используется классификация Animal Classes для категоризации приложений, применяются IPC и MPI в качестве показателей производительности
Алгоритм отображения с учётом NUMA: предложен онлайн-алгоритм отображения, учитывающий классификацию приложений, близость ресурсов и счётчики производительности оборудования во время выполнения
Значительное улучшение производительности: на реальной системе достигнуто среднее улучшение в 50 раз
Входные данные: запросы виртуальных машин (количество ядер CPU, требования к памяти), классификация приложений, состояние ресурсов системы
Выходные данные: оптимальная схема отображения виртуальных CPU на физические CPU
Ограничения: избежание избыточной подписки ресурсов, минимизация расстояния NUMA, снижение помех между приложениями
Этап 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
Значительное улучшение производительности: предложенный алгоритм отображения с учётом NUMA достигает среднего улучшения в 50 раз по сравнению с планировщиком по умолчанию
Улучшение стабильности: значительное снижение вариативности производительности, обеспечение предсказуемой производительности
Эффективность классификации приложений: метод классификации на основе Animal Classes эффективно направляет решения по отображению ресурсов
Предположение о статической классификации: текущая классификация приложений является статической и не учитывает динамические изменения поведения приложений
Ограниченные типы рабочих нагрузок: оценка в основном сосредоточена на определённых типах приложений
Специфичность аппаратной платформы: эксперименты проводились только на платформе NumaConnect
Зависимость от платформы: исследование в основном основано на платформе NumaConnect; применимость на других разделённых системах требует проверки
Ограниченное покрытие рабочих нагрузок: оценённые типы приложений относительно ограничены; требуется проверка с более разнообразными рабочими нагрузками
Недостаточная динамичность: адаптивность алгоритма к динамическим изменениям нагрузки системы требует дальнейшего исследования
Отсутствие теоретического анализа: недостаёт теоретического анализа сложности алгоритма и сходимости
В данной работе цитируется 26 соответствующих источников, охватывающих разделённые системы, оптимизацию NUMA, технологии виртуализации и другие области, обеспечивая прочную теоретическую основу для исследовательской работы.
Общая оценка: это статья, вносящая значительный вклад в область управления ресурсами разделённых систем. Благодаря строгому экспериментальному дизайну и полной оценке производительности, она доказывает эффективность алгоритма отображения с учётом NUMA. Несмотря на некоторые ограничения, её практическая ценность и научный вклад значительны и закладывают основу для дальнейшего развития в этой области.