Управление памятью в гипервизоре Все о виртуализации памяти в Parallels Анна Воробьева
Утилизация памяти В облака за эффективностью Мифы и страхи overcommit-а Знания для безопасной виртуализации памяти
Содержание Постановка задачи Решения Квоты, выбор backing store, алгоритма вытеснения Balloon Page sharing, compression Сравнение по продуктам
Хостовая ОС ВМ Ресурсы Аппаратное обеспечение Немного терминологии Гостевая ОС Виртуальный environment ВММ
VMVM 3 3 ВМ1 ВМ2 ВМ3 Ресурс памяти Ресурс памяти Ресурс памяти Физическая память Задача распределения памяти
Разграничим термины Overcommitment Σ(сконфигурированной памяти) + накладные расходы разрешеный лимит ноды ВМ подлежат всем действиям, описанным в докладе Overload Σ(используемой памяти) + накладные расходы разрешенный лимит ноды ВМ подлежат миграции
физическая память Распределение памяти: шаг 1 Ресурс ВМ1 Ресурс ВМ2 RAM
Алгоритмы вытеснения LRU (last recently used) FIFO (first in first out) Aging (+NFU) NRU (not recently used – A-/D- bits) а ведь еще можно дать всем второй шанс Clock Random
Алгоритмы вытеснения Гостевая ОС вытесняет страницы по своим алгоритмам (semantic gap) Отсутствие локальности обращений ОС не может поместить в процесс своего агента, а мы можем не работают
Office-битва (Windows 2008 x64) Вытеснение (swapping) Avg Cycle Time = Overcommit = 42% Ballooning Avg Cycle Time = Overcommit = 93% В 1.5 раза эффективнее
Ресурс памяти Ballooning Гостевая ОС Назначенная память App Balloon driver Balloon – это гостевой драйвер Страницы, отданные ВММу balloon-ом, не потребуются гостю и не содержат информации
Ballooning Плюс Сокращение подкачки между ВММ и гостем Минусы Гостевой своппинг вплоть до гостевых крешей Неуниверсальность Отсутствие гарантий
физическая память Распределение памяти: шаг 2 Ресурс ВМ1 Ресурс ВМ2 RAM balloon RAM balloon
Но откуда известен объем ресурса? Конфигурационные данные Гарантия Лимит Приоритет/доля Разрешенный лимит ноды Динамические данные Используемая память Бездействующая память (idle) Статистические данные
Опасности конфигурируемых данных Избыток назначенной памяти (32 no-pae + 4GB RAM) Своп из-за низкой гарантии Незаслуженный дефицит при лимите меньше назначенной памяти Оптимистичный лимит для ноды
Физическая память хост Распределение памяти: шаг 3 Ресурс ВМ1 Ресурс ВМ2 RAM balloon RAM balloon гипервизор
Backing storage Влияет на Suspend/snapshot Resume/switch to snapshot Подкачка Популярные решения File mapping Anonymous mapping HugeTlbFs
Физическая память хост Распределение памяти: шаг 4 Ресурс ВМ1 Ресурс ВМ2 RAM balloon RAM balloon гипервизор ВП Backing stotage Backing stotage ВП Backing stotage Backing stotage
Меняем тики на данные Page sharing Посчитать хэш Сравнить Защитить по COW По записи отвязать Для Read-Only страниц Compression Сжать Оставить в кэше либо записать на диск По требованию развернуть Для редко используемых
Меняем тики на данные Page sharing Эффективность при одинотипной нагрузке на ноду Накладные расходы могут быть напрасны Запрет на большие страницы Compression Интеграция с suspended image Уверенный compression вне зависимости от нагрузки
Физическая память хост Распределение памяти: полная картина Ресурс ВМ1 Ресурс ВМ2 RAM balloon RAM balloon гипервизор ВП Backing stotage Backing stotage ВП Backing stotage Backing stotage архив арив Share d pages
СРАВНЕНИЕ ПРОДУКТОВ, ПРЕДСТАВЛЕННОЕ ДАЛЕЕ, ЯВЛЯЕТСЯ ЛИШЬ МНЕНИЕМ. Disclaimer
BalloonPage sharing Compres- sion SwapoutQuotaBacking store ESX+++++Huge/VSWP? Xen Server +---+Own PSBM+-+++Huge/File/An HyperV+---+File KVM++-++Huge/File/An
Сравнение: Xen Server – осторожность превыше всего Исключительно ballooning Page-sharing & swapout присутствуют в xen hypervisor 4.0
Сравнение: VMWare ESX – сильнейшие со времен Waldspurger-а В статье 2002ого года они уже описывают balloon, квоту, page sharing, idle-memory tax swapout Некоторая инертность в новом, compression не интегрирован с suspend-ом
Сравнение: KVM – все блага Linux-а Balloon включен в дерево Linux Эффективнейший KSM достался бесплатно Блага надежного вытеснения Compression и алгоритмы, специфичные для виртуализации, могут идти с запозданием
Сравнение: HyperV – все что не от нас, то от лукавого Hot-plug memory + balloon Оверкоммит опасен и вреден
Сравнение: PSBM Свой алгоритм компрессии и его интеграция: Эффективная реализация для разнотипной нагрузки Быстрый suspend/resume/snapshot Для однотипной нагрузки – контейнеры
BalloonPage sharing CmprsSwapQuotaBacking store Usage ESX+++++Huge/VSWP?Hi-end ENT Xen Server +---+OwnProviders, middle Linux ENT PSBM+-+++Huge/File/AnService- providers,ENT HyperV+---+FileWindows middle ENT KVM++-++Huge/File/AnProviders
Вопросы ? mailto: