Релиз гипервизора Xen 4.9
29 июня 2017 года
После семи месяцев разработки состоялся релиз свободного гипервизора Xen 4.9. По сравнению с прошлым выпуском в Xen 4.8 внесено 1549 изменений, что на 20% больше, чем в прошлом выпуске. В создании нового выпуска приняло участие 86 разработчиков, представляющих 30 компаний (для сравнения прошлый выпуск создан силами 68 разработчиков из 25 компаний).
Ключевые изменения в Xen 4.9:
- Добавлена поддержка загрузки Xen c использованием протокола multiboot2, что позволяет организовать загрузку на платформах BIOS и EFI с использованием загрузчка GRUB2. Частично поддержка multiboot2 также реализована для загружаемых по сети прошивок (iPXE). Из достоинств применения multiboot2 отмечается возможность изменения настроек непосредственно из загрузчика и переносимость загрузочной конфигурации между разными платформами;
- Представлен новый планировщик "null", обеспечивающий минимальные накладные расходы от работы планировщика, предсказуемую производительность и уровень задержек близкий к системам, работающим без использования виртуализации, в условиях когда каждый виртуальный CPU закреплён за физическим CPU. В качестве наиболее перспективных областей применения нового планировщика отмечаются встраиваемые и автомобильные окружения;
- Полностью переработан и консолидирован интерфейс для взаимодействия между Xen и QEMU, который переведён на один универсальный гипервызов (hypercall) DMOP (Device Model Operation Hypercall), который позволяет использовать драйвер privcmd для аудита любых областей памяти QEMU и параметров, переданных в Xen через DMOP. Аудит включен в Linux-драйвере privcmd, что позволяет существенно ограничить возможности по проведению атак на гипервизор через компрометацию компонентов QEMU. Кроме того, продолжается работа над проектом по обеспечению непривилегированного запуска QEMU в Dom0;
- Для систем на базе процессоров ARM представлен новый параметр vwfi (virtual Wait For Interrupt), позволяющий выбрать метод обработки инструкций WFI. Например, указав в vwfi значение "native" можно примерно на 60% сократить задержки в обработке прерываний. Тесты на плате Xilinx Zynq Ultrascale+ MPSoC подтвердили, что уровень задержек при обработке прерывания не превышает 2 микросекунд, что очень близко к аппаратным ограничениям и достаточно для большинства встраиваемых решений;
- Реализован новый ABI для совместного использования устройств в виртуальных машинах, который хорошо подходит для некоторых применений, специфичных для встраиваемых, автомобильных и облачных систем;
- Для применения на встраиваемых и автомобильных системах добавлен виртуальный звуковой ABI, через который можно реализовать воспроизведение и запись звука, а также управление громкостью и включение/отключение источников звука.
- Добавлен виртуальный экранный ABI для сложных устройств отображения, включающих несколько фреймбуферов и дисплеев;
- Для использования сенсорных экранов в протокол работы с виртуальной клавиатурой/мышью добавлена поддержка мультитач;
- Представлен Xen-транспорт для протокола 9pfs, обеспечивающего работу с сетевой файловой системой Plan 9. Фронтэнд для 9pfs передан для включение в состав ядра Linux, а бэкенд добавлен в QEMU. 9pfs позволяет предоставить доступ к ФС из одной виртуальной машины к другой;
- Реализован PV Calls ABI, позволяющий перенаправлять POSIX-вызовы между гостевыми системами. При помощи данного ABI вызов POSIX-функции, инициированный из приложения в DomU, может быть перенаправлен и обработан на стороне Dom0. Например, обращение к сетевому сокету может быть выполнено на стороне Dom0, позволяя реализовать новую сетевую модель, естественно вписывающуюся в концепцию cloud-native приложений;
- Проведена работа по оптимизации и увеличению масштабируемости демонов Xenstored, позволяющих Dom0 и гостевым системам получить доступ к информации о конфигурации системы. Cxenstored теперь может эффективно работать на очень крупных хостах, насчитывающих более тысячи гостевых систем. Увеличена производительность обработки транзакций, снижено потребление памяти и сокращено число конфликтов транзакций. Добавлены средства для динамической отладки;
- Для систем ARM32 реализована возможность применения патчей на лету ( Live Patching) без необходимости перезапуска гипервизора, а также добавлена поддержка GIC-v3 (Generic Interrupt Controller version 3);
- Для систем x86 добавлена поддержка инструкций AVX512_4VNNIW (Neural Network Instructions) и AVX512_4FMAPS (Multiply Accumulation Single Precision), которые позволяют задействовать в HVM- и PV-окружениях средства аппаратного ускорения для систем машинного обучения. В новом выпуске также внесены оптимизации в код поддержки VT-d Posted Interrupt (PI) и обработки MCE (Machine Check Exception);
- Для платформ ARM реализованы средства определения системных ошибок
(System Error Detection), применяемые при построении отказоусточнивых систем;
- Старая реализация GCOV замена на обновлённую версию, которая поддерживает большее число форматов и предоставляет унифицированный интерфейс;
- С целью повышения защиты переработан код эмуляции x86, в том числе проведён аудит безопасности на предмет наличия возможных уязвимостей, добавлена поддержка новых инструкций и создан тестовый набор для проведения fuzzing-тестирования на базе AFL;
- Обеспечена поддержка спецификации Microsoft Hyper-V Hypervisor TLFS (Top-Level Functional Specification) 5.0, что позволило организовать запуск в Xen гостевых систем Windows с производительностью на уровне Hyper-V. В разработке находится реализация запуска Hyper-V в Xen с использованием вложенной виртуализации.
Источники править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.