Abstract

In this paper we explore the prospects of virtualization technologies being applied to x64-based high performance systems. The main reasons for performance overhead when running parallel programs inside multiple virtual machines are discussed. We consider KVM/QEMU and Palacios systems and use HPC Challenge and NASA Advanced Supercomputing Parallel Benchmarks packages as a test suite. All tests are performed using high performance cluster with high-speed Infiniband interconnect. Gathered results show feasibility of applying virtualization to a big class of high performance applications. We use huge memory pages to decrease number of TLB cache misses and NUMA emulation mechanism to provide the description of memory topology of real system to virtual machine. Such optimizations decrease virtualization overhead from 10-60% to 1-5% for most tests from HPC Challenge and NASA Advanced Supercomputing Parallel Benchmarks suites. The main bottlenecks of virtualization systems are decreased memory system performance (critical only for a narrow class of applications), device virtualization overhead, and increased noise level caused by the host operating system and hypervisor. Noise may affect performance and scalability of fine-grained applications (those with frequent communications of small size). While the number of nodes in the system grows, the noise influence substantially increases.

Highlights

  • Возможности технологий виртуализации платформы x86_64 в последние годы растут высокими темпами

  • Что вызов mbind препятствует работе механизма Transparent Hugepages, поэтому память выделяется посредством HugeTLBfs с использованием ключа командной строки QEMU -mempath

  • Гипервизор Palacios разрабатывался с целью эффективной виртуализации высокопроизводительных систем

Read more

Summary

Введение

Возможности технологий виртуализации платформы x86_64 в последние годы растут высокими темпами. Также весьма интересна идея применения концепции облачных вычислений для создания высокопроизводительных облачных систем, предоставляющих масштабируемость, эффективность использования ресурсов и удобство доступа. Что виртуализация HPC имеет смысл по крайней мере для отдельных классов приложений [1]. Необходимо исследовать поведение различных приложений при запуске на различном оборудовании с использованием ряда систем виртуализации, для того, чтобы достоверно оценить ограничения и возможности существующих технологий. Исследования проводятся с использованием системы виртуализации KVM (Kernel-based Virtual Machine) [3] и гипервизора Palacios [4], который изначально разрабатывался специально для высокопроизводительных систем. Для достижения наилучшей производительности (относительно случая запуска на реальном оборудовании), виртуальным машинам выделяется максимально возможное количество ресурсов, включая все процессорные ядра. В разделе 3 описаны исследуемые системы виртуализации и некоторые базовые методы по улучшению производительности ВМ.

Обзор работ
Рассматриваемые системы виртуализации
Использование больших страниц
Предоставление ВМ реальной топологии NUMA
Гипервизор Palacios
Метод проброса устройств
Возникшие трудности с гипервизором Palacios
Оценка и анализ производительности
Экспериментальная среда
Влияние частоты прерываний
Заключение
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call