31
Управление памятью в гипервизоре Все о виртуализации памяти в Parallels Анна Воробьева

Управление памятью в гипервизоре (Анна Воробьева)

  • Upload
    ontico

  • View
    2.324

  • Download
    2

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Управление памятью в гипервизоре (Анна Воробьева)

Управление памятью в гипервизореВсе о виртуализации памяти в Parallels

Анна Воробьева

Page 2: Управление памятью в гипервизоре (Анна Воробьева)

Теоретические основы практических подходов

Эффективность использования ресурсов

«Повторное» использование идей

Fun от решения сложной задачки

Page 3: Управление памятью в гипервизоре (Анна Воробьева)

Содержание

Постановка задачи Решения

Квоты, выбор backing store, алгоритма вытеснения Balloon Page sharing, compression

Сравнение по продуктам

Page 4: Управление памятью в гипервизоре (Анна Воробьева)

Хостовая ОС

ВМРесурсы

Аппаратное обеспечение

Немного терминологииГостевая ОС

Виртуальный environment

ВММ

гипервизор

Page 5: Управление памятью в гипервизоре (Анна Воробьева)

VMVM33

ВМ1 ВМ2 ВМ3Ресурс памяти

Ресурс памятиРесурспамяти

Физическая память

Задача распределения памяти

Page 6: Управление памятью в гипервизоре (Анна Воробьева)

Разграничим терминыOvercommitment Σ(сконфигурированной

памяти) + накладные расходы ≥ разрешеный лимит ноды

ВМ подлежат всем действиям, описанным в докладе

Overload Σ(используемой памяти) +

накладные расходы ≥ разрешенный лимит ноды

ВМ подлежат миграции

Page 7: Управление памятью в гипервизоре (Анна Воробьева)

Ove

rload

Page 8: Управление памятью в гипервизоре (Анна Воробьева)

ф

изич

еска

я па

мят

ь

Распределение памяти: шаг 1

Ресу

рс

ВМ1

Ресу

рс

ВМ2

RAM

RAM

Page 9: Управление памятью в гипервизоре (Анна Воробьева)

Алгоритмы вытеснения LRU (last recently used)FIFO (first in first out)Aging (+NFU) NRU (not recently used – A-/D- bits)• а ведь еще можно дать всем второй шанс

ClockRandom

Page 10: Управление памятью в гипервизоре (Анна Воробьева)

Алгоритмы вытеснения

Гостевая ОС вытесняет страницы по своим алгоритмам (semantic gap)

Отсутствие локальности обращенийОС не может поместить в процесс своего агента, а

мы можем

не работают

Page 11: Управление памятью в гипервизоре (Анна Воробьева)

Office-битва(Windows 2008 x64)

Вытеснение (swapping) Avg Cycle Time = 345000 Overcommit = 42%

Ballooning Avg Cycle Time = 222000 Overcommit = 93%

В 1.5 раза эффективнее

Page 12: Управление памятью в гипервизоре (Анна Воробьева)

Ресурс памяти

Ballooning

Гостевая ОС

Назначенная память

App

Balloon

Ballo

on

driv

erBalloon – это гостевой драйвер

Страницы, отданные ВММу balloon-ом, не потребуются гостю и не содержат информации

Page 13: Управление памятью в гипервизоре (Анна Воробьева)

BallooningПлюс Сокращение подкачки

между ВММ и гостем

Минусы Гостевой своппинг вплоть

до гостевых крешей Неуниверсальность Отсутствие гарантий

Page 14: Управление памятью в гипервизоре (Анна Воробьева)

ф

изич

еска

я па

мят

ь

Распределение памяти: шаг 2

Ресу

рс

ВМ1

Ресу

рс

ВМ2

RAM

balloon

RAM

balloon

Page 15: Управление памятью в гипервизоре (Анна Воробьева)

Но откуда известен объем ресурса?Конфигурационные данные Гарантия Лимит Приоритет/доля Разрешенный лимит ноды

Динамические данные Используемая память Бездействующая память

(idle) Статистические данные

Page 16: Управление памятью в гипервизоре (Анна Воробьева)

Опасности конфигурируемых данных

Избыток назначенной памяти (32 no-pae + 4GB RAM)Своп из-за низкой гарантииНезаслуженный дефицит при лимите меньше

назначенной памятиОптимистичный лимит для ноды

Page 17: Управление памятью в гипервизоре (Анна Воробьева)

Физ

ичес

кая

пам

ять

хост

Распределение памяти: шаг 3

Ресу

рс

ВМ1

Ресу

рс

ВМ2

RAM

balloon

RAM

balloon

гипе

рвиз

ор

Page 18: Управление памятью в гипервизоре (Анна Воробьева)

Backing storageВлияет на Suspend/snapshot Resume/switch to snapshot Подкачка

Популярные решения File mapping Anonymous mapping HugeTLBFs

Page 19: Управление памятью в гипервизоре (Анна Воробьева)

Физ

ичес

кая

пам

ять

хост

Распределение памяти: шаг 4

Ресу

рсВМ1

Ресу

рс

ВМ2

RAM

balloon

RAM

balloon

гипе

рвиз

ор ВП

Back

ing

stot

age

ВП

Back

ing

stot

age

Page 20: Управление памятью в гипервизоре (Анна Воробьева)

Меняем тики на данныеPage sharing Посчитать хэш Сравнить Защитить по COW По записи отвязать Для Read-Only страниц

Compression Сжать Оставить в кэше либо

записать на диск По требованию развернуть Для редко используемых

Page 21: Управление памятью в гипервизоре (Анна Воробьева)

Меняем тики на данныеPage sharing Эффективность при

одинотипной нагрузке на ноду

Накладные расходы могут быть напрасны

Запрет на большие страницы

Compression Интеграция с suspended

image Уверенный compression

вне зависимости от нагрузки

Page 22: Управление памятью в гипервизоре (Анна Воробьева)

Физ

ичес

кая

пам

ять

хост

Распределение памяти: полная картина

Ресу

рсВМ1

Ресу

рс

ВМ2

RAM

balloon

RAM

balloon

гипе

рвиз

ор ВП

Back

ing

stot

age

ВП

Back

ing

stot

age

архив

арив

Shared pages

Page 23: Управление памятью в гипервизоре (Анна Воробьева)

СРАВНЕНИЕ ПРОДУКТОВ, ПРЕДСТАВЛЕННОЕ ДАЛЕЕ, ЯВЛЯЕТСЯ ЛИШЬ МНЕНИЕМ.

Disclaimer

Page 24: Управление памятью в гипервизоре (Анна Воробьева)

Balloon Page sharing

Compres-sion

Swapout Quota Backing store

ESX + + + + + Huge/VSWP?

Xen Server

+ - - - + Own

PSBM + - + + + Huge/File/An

HyperV + - - - + File

KVM + + - + + Huge/File/An

Page 25: Управление памятью в гипервизоре (Анна Воробьева)

Сравнение: Xen Server – осторожность превыше всего

Исключительно ballooningPage-sharing & swapout присутствуют в xen hypervisor

4.0

Page 26: Управление памятью в гипервизоре (Анна Воробьева)

Сравнение: VMWare ESX – сильнейшие со времен Waldspurger-а

В статье 2002ого года они уже описывают balloon, квоту, page sharing, idle-memory tax swapout

Некоторая инертность в новом, compression не интегрирован с suspend-ом

Page 27: Управление памятью в гипервизоре (Анна Воробьева)

Сравнение: KVM – все блага Linux-а

Balloon включен в дерево LinuxЭффективнейший KSM достался бесплатноБлага надежного вытесненияCompression и алгоритмы, специфичные для

виртуализации, могут идти с запозданием

Page 28: Управление памятью в гипервизоре (Анна Воробьева)

Сравнение: HyperV – все что не от нас, то от лукавого

Hot-plug memory + balloonОверкоммит опасен и вреден

Page 29: Управление памятью в гипервизоре (Анна Воробьева)

Сравнение: PSBM

Свой алгоритм компрессии и его интеграция:Эффективная реализация для разнотипной нагрузкиБыстрый suspend/resume/snapshot

Для однотипной нагрузки – контейнеры

Page 30: Управление памятью в гипервизоре (Анна Воробьева)

Balloon Page sharing

Cmprs Swap Quota Backing store

Usage

ESX + + + + + Huge/VSWP? Hi-end ENT

Xen Server

+ - - - + Own Providers, middle Linux ENT

PSBM + - + + + Huge/File/An Service-providers,ENT

HyperV + - - - + File Windows middle ENT

KVM + + - + + Huge/File/An Providers

Page 31: Управление памятью в гипервизоре (Анна Воробьева)

Вопросы?

mailto: [email protected]