научная статья по теме ПЕРСПЕКТИВЫ ВИРТУАЛИЗАЦИИ ВЫСОКОПРОИЗВОДИТЕЛЬНЫХ СИСТЕМ АРХИТЕКТУРЫ Х64 Математика

Текст научной статьи на тему «ПЕРСПЕКТИВЫ ВИРТУАЛИЗАЦИИ ВЫСОКОПРОИЗВОДИТЕЛЬНЫХ СИСТЕМ АРХИТЕКТУРЫ Х64»

ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ

УДК 681.3.06

ПЕРСПЕКТИВЫ ВИРТУАЛИЗАЦИИ ВЫСОКОПРОИЗВОДИТЕЛЬНЫХ СИСТЕМ АРХИТЕКТУРЫ Х64 *

© 2013 г. А.О. Кудрявцев, В.К. Кошелев, А.И. Аветисян

Институт системного программирования РАН 109004 Москва, ул. А. Солженицына, 25 E-mail: alexk@ispras.ru, vedun@ispras.ru, arut@ispras.ru Поступила в редакцию 12.06.2013

В данной работе изучаются перспективы применения технологий виртуализации в области высокопроизводительных вычислений на платформе х64. Рассматриваются основные причины падения производительности при запуске параллельных программ в виртуальной среде. Подробно рассматриваются системы виртуализации KVM/QEMU и Palacios, в качестве тестовых пакетов используются НРС Challenge и NAS Parallel Benchmarks. Тестирование выполняется на современном вычислительном кластере, построенном на базе высокоскоростной сети Infmiband. Результаты проведенного исследования в целом показывают целесообразность применения виртуализации для большого класса высокопроизводительных приложений. Доводка рассматриваемых систем виртуализации позволила снизить накладные расходы с 10-60% до 1-5% на большинстве тестов пакетов НРС Challenge и NAS Parallel Benchmarks. Основными „узкими местами" систем виртуализации

являются уменьшенная производительность системы памяти (критично только для узкого класса

"

ком которого становятся основная ОС и гипервизор. Шум может оказывать негативное влияние

"

ми коммуникациями небольшого объема). При увеличении числа узлов в системе влияние шума существенно усиливается.

1. ВВЕДЕНИЕ

Возможности технологий виртуализации платформы х86_64 в последние годы растут высокими темпами. Технологии аппаратной и контейнерной виртуализации уже позволяют обеспечить производительность отдельных классов приложений в виртуальных средах, практически не отличимую от производительности на реальном оборудовании. В результате исследователи по всему миру начали изучать возможности и ограничения виртуализации

* Работа выполнена при финансовой поддержке Ми-нобрнаукп России по государственному контракту от 15.06.2012 г. № 07.524.11.4018 в рамках ФЦП „Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России на 2007^ 2013 годы"

высокопроизводительных вычислений (НРС, High Performance Computing).

Достоинства применения виртуализации в области высокопроизводительных вычислений широко обсуждаются [1, 2]. Среди них устойчивость к сбоям, совместимость и гибкость при работе с виртуальными машинами (ВМ). Также весьма интересна идея применения концепции облачных вычислений для создания высокопроизводительных облачных систем, предоставляющих масштабируемость, эффективность использования ресурсов и удобство доступа. Последние исследования показывают, что виртуализация НРС имеет смысл по крайней мере для отдельных классов приложений [1]. Несмотря на это, в настоящее время существует серьезная нехватка экспериментальных данных. Необходимо исследовать

поведение различных приложений при запуске на различном оборудовании с использованием ряда систем виртуализации, для того чтобы достоверно оценить ограничения и возможности существующих технологий. Современные многопроцессорные, многоядерные системы предъявляют новые требования к системам виртуализации, включая корректную эмуляцию архитектуры XI'МЛ (Non-Uniform Memory Access, архитектура с неравномерным доступом к памяти) в гостевой системе.

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

Для достижения наилучшей производительности (относительно случая запуска на реальном оборудовании) виртуальным машинам выделяется максимально возможное количество ресурсов, включая все процессорные ядра. Помимо этого виртуальным машинам предоставляется реальное коммуникационное устройство с использованием технологий виртуализации ввода-вывода Intel VT-d в случае KVM и паравиртуализации в случае Palacios. Также в ВМ эмулируется архитектура NUMA в соответствии с реальной конфигурацией узлов кластера.

В качестве тестовых пакетов используются пакеты НРС Challenge [5] и NAS Parallel Benchmarks [6]. Данные бенчмарки достаточно широко распространены в области высокопроизводительных вычислений, а пакет НРСС используется для построения рейтинга

суперкомпьютеров ТорбОО. Тестирование производительности выполнялось на современном кластере, с использованием до 8 узлов, построенных на базе процессоров Intel Xeon (в сумме до 96 процессорных ядер). Узлы кластера связаны высокоскоростной сетью Infiniband 40Гбит/сек. Стоит отметить, что многие исследования в области виртуализации НРС, представленные ранее, проводились на системах из одного узла, что не позволяло полноценно оценить накладные расходы, вызываемые виртуализацией.

В ходе выполнения данной работы достигнуты

следующие результаты:

настройки KVM/QEMU для запуска НРС-приложений в виртуальной среде. Показана необходимость корректной эмуляции архитектуры NUMA в виртуальной среде в соответствии с реальной топологией системы.

туализации для современного НРС кластера, построенного на базе высокоскоростной сети Infiniband. Узлы кластера - двухпроцессорные 12-ядерные серверы архитектуры NUMA, используется до 8 узлов.

встроенного в основную ОС Kitten, и системы виртуализации KVM/QEMU, с основной ОС Linux. Полученные данные показывают, что KVM/QEMU дает более стабильные и предсказуемые результаты, в то время как Palacios имеет меньшие накладные расходы на "мелкозернистых" тестах, особенно при использовании большого числа вычислительных ядер.

вых данных и накладных расходов, вызванных системой виртуализации. В частности, исследовано влияние гранулярности коммуникаций НРС-приложения и частоты прерываний на величину накладных расходов.

Текст данной работы организован следующим образом. В следующем разделе приводится обзор работ. В разделе 3 описаны исследуемые системы виртуализации и некоторые базовые методы по

улучшению производительности ВМ. В разделе 4 описывается методика оценки производительности, приводятся результаты тестов и их анализ. Раздел 5 содержит заключение.

2. ОБЗОР РАБОТ

Развитие технологий виртуализации открывает широкие перспективы в различных областях исследований. В частности, аппаратная виртуализация достаточно часто рассматривается в контексте информационной безопасности [7], а системы динамической бинарной трансляции нашли применение в области отладки. На базе си-мулятора QEMU в НСП РАН была реализована система детерминированного воспроизведения процесса выполнения программ в ВМ [8], позволяющая отлаживать трудновоспроизводи-мые ошибки как в приложениях, так и в коде ОС с использованием методов реверсивной отладки. В последнее время исследователи все чаще рассматривают перспективы применения виртуализации в области высокопроизводительных вычислений.

Подробный анализ существующих работ в области виртуализации НРС проведен в работе [1]. Авторы отмечают, что результаты экспериментов, доступные из статей, зачастую противоречат друг другу и ставят задачу объективного сравнения существующих систем виртуализации, включая KVM, Хеп [9], VirtualBox [10]. Для сравнения используются такие критерии, как доступная функциональность, удобство использования и производительность. Авторы использовали тестовые пакеты НРСС и SPEC OpenMP; для теста HPL пакета НРСС накладные расходы виртуализации составили около 30% на 8-ядерной системе. Падение производительности в остальных тестах составило до 50% по сравнению с запуском на реальном оборудовании. Как показывают результаты наших исследований, такие значительные накладные расходы можно существенно сократить. Авторы статьи [1] отмечают, что производительность системы Хеп нестабильна - различные запуски одного и того же приложения в одинаковых условиях дают результаты с существенным разбросом по производительности - что сильно снижает масштабируемость параллельных приложений. Наши предварительные эксперименты

также показали, что гипервизор Хеп не приспособлен для высокопроизводительных задач, по крайней мере, без специальной настройки. Необходимо также отметить, что авторы статьи выполняли все тесты на одной машине, что не позволило оценить падение производительности виртуальной среды при масштабировании числа узлов. Масштабируемость некоторых НРС приложений может также ухудшаться из-за дополнительного шума, вызываемого системой виртуализации. Шумом в контексте выполнения конкретного приложения называют влияние некоторых действий системы, не относящихся к приложению, на его работу. Среди таких действий - работа программ-демонов, обработчиков прерываний, других программ в системе.

Авторы работы [1] приходят к следующему выводу. Виртуализация применима, по крайней мере, к некоторым НРС-приложениям, а наиболее приспособленной системой виртуализации для таких задач является KVM/QEMU. С нашей точки зрения, система KVM становится одной из наиболее развитых систем виртуализации с открытым исходным кодом. По сравнению с Хеп, KVM намного проще для установки и понимания, поскольку является частью исходного кода ядра Linux, а гипервизор Хеп представлен в виде патчей. В целом гипервизор KVM кажется более перспективным, в связи с чем в наших исследованиях было решено использовать именно его. При этом нельзя утверждать, что производительность системы Хеп хуже, чем KVM. Проблема в том, что каждая система в

Для дальнейшего прочтения статьи необходимо приобрести полный текст. Статьи высылаются в формате PDF на указанную при оплате почту. Время доставки составляет менее 10 минут. Стоимость одной статьи — 150 рублей.

Показать целиком