По сравнению с прошлым выпуском в Xen 4.3 внесено 1362 изменений, в подготовке которых приняло участие 90 разработчиков. Наибольшее число изменений создано разработчиками из компании Citrix (41%), SUSE (23%), Intel (6%), Oracle (4%). Независимыми разработчиками внесено 8% изменений, 5% изменений внесено сотрудниками Агентства национальной безопасности США.
Ключевые улучшения в Xen 4.3:
Экспериментальная поддержка виртуализации на 32- и 64-разрядных архитектурах ARM. 32-разрялный порт Xen поддерживает архитектуру ARMv7 с аппаратными virt-расширениями для обеспечения виртуализации, присутствующими в процессорах ARM Cortex-A15 и платах Arndale (Samsung Exynos5 SoC). 64-разрялный порт поддерживает системы на базе архитектуре ARMv8 (ARM64), которые ещё не производятся серийно. В Xen для ARM обеспечена возможность загрузки dom0-окружения и выполнения всех типичных рабочих процессов обслуживания виртуальных машин;
Осуществлён переход на использование компонентов QEMU, развиваемых в рамках основного upstream проекта. Изначально проектом Xen развивался собственный форк инструментария и драйверов, основанных на QEMU, но совместными усилиями разработчиков было произведено возвращение в родительский проект всех созданных в Xen дополнений и изменений. Слияние кодовых баз для общих компонентов Xen и QEMU позволило избавиться от выполнения двойной работы и перейти к более тесному сотрудничеству проектов. Возможность использования компонентов старого форка сохранена, для этого следует указать в настройках 'device_model_version = "qemu-xen-traditional"' вместо
'device_model_version = "qemu-upstream"'. Компоненты qemu-upstream основаны на свежей кодовой базе QEMU, дополненной незначительными патчами, добавляющими исправления, ещё не вошедшие в релиз QEMU. По сравнению с qemu-xen-traditional в qemu-upstream присутствуют такие возможности как проброс PCI-устройств;
Интеграция скриптов для поддержки сетевой инфраструктуры, созданной с использованием виртуального коммутатора Open vSwitch;
Поддержка в планировщике привязки виртуальных машин к фиксированным узлам на системах на базе архитектуры NUMA. Планировщик теперь может учитывать в своей работе какие узлы NUMA пересекаются с памятью виртуальных машин и выполнять VM только на данных узлах, оставляя возможность привлечения иных узлов только в условиях повышенной нагрузки;
В инструментарии XL, пришедшем на смену XM/XEND, добавлена возможность указания сразу нескольких USB-устройств
(ранее можно было указать только одно устройство). Список устройтсв задаётся через директиву 'usbdevice=["device1","device2",...]';
Во фреймворке XSM (Xen Security Modules) добавлена возможность переопределения любых проверок привилегий (IS_PRIV) в гипервизоре. Улучшены средства для работы в гостевых системах с виртуальными модулями TPM (vTPM, virtual Trusted Platform Module), каждое гостевое окружение теперь получает доступ к уникальному эмулируемому TPM и имеет только доступ к ключам, предоставляемым специальным управляющим доменом vTPM;
Добавлена поддержка аппаратной виртуализации для APIC (vAPIC), поддержка новых чипов VIA, режима offline-восстановления страниц памяти для CPU AMD, ACPI v5 и WC+ памяти для процессоров AMD Family 10. Обеспечена поддержка интерфейса vMCE (Virtual Machine Check), позволяющего информировать гостевые системы о сбоях памяти;
Для режима HVM добавлена возможность проброса доступа к прошивкам;
Добавлен базовый драйвер framebuffer;
Максимальный размер поддерживаемой на хост-системе памяти увеличен с 5 до 16 Тб. Устранено ограничение в 300 виртуальных процессоров. Значительно увеличена производительность операций чтения и записи, а также пропускная способность сети на хостах с более чем 6 гостевыми системами;
Для снижения энерогопотребления во время простоя задействовано расширение MWAIT, присутствующее в современных процессорах Intel Sandy Bridge, Ivy Bridge и более новых моделях.
