Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Управление памятью в гипервизореВсе о виртуализации памяти вParallels<br />Анна Воробьева<br />
Эффективность использования ресурсов<br />Теоретические основы практических подходов <br />«Повторное» использование идей<...
Содержание<br /><ul><li>Постановка задачи
Решения
Квоты, выбор backing store, алгоритма вытеснения
Balloon
Page sharing, compression
Сравнение по продуктам</li></li></ul><li>гипервизор<br />Аппаратное обеспечение<br />ВМ<br />Немного терминологии<br />Гос...
ВМ2<br />Физическая память<br />Задача распределения памяти<br />ВМ1<br />ВМ3<br />VMVM3<br />3<br />Ресурс памяти<br />Ре...
Разграничим термины<br />Overcommitment<br /><ul><li>Σ(сконфигурированной памяти) + накладные расходы ≥ разрешеный лимит ноды
ВМ подлежат всем действиям, описанным в докладе</li></ul>Overload<br /><ul><li>Σ(используемой памяти) + накладные расходы ...
ВМ подлежат миграции</li></li></ul><li> Overload<br />
ВМ2<br />Распределение памяти: шаг 1<br />ВМ1<br />RAM<br />Ресурс<br />физическая память<br />Ресурс<br />RAM<br />
Алгоритмы вытеснения<br />LRU (last recently used)<br />FIFO (first in first out)<br />Aging (+NFU) <br />NRU (not recentl...
Алгоритмы вытеснения<br />не работают<br />Гостевая ОС вытесняет страницы по своим алгоритмам (semantic gap)<br />Отсутств...
  Office-битва(Windows 2008 x64) <br />Вытеснение (swapping)<br />Ballooning<br /><ul><li>Avg Cycle Time = 345000
Overcommit = 42%
Avg Cycle Time = 222000
Overcommit = 93%</li></ul>В 1.5 раза эффективнее<br />
Ballooning<br />Гостевая ОС<br />Balloon – это гостевой драйвер<br />Страницы, отданные ВММу  balloon-ом, не потребуются г...
Ballooning<br />Плюс<br /><ul><li>Сокращение подкачки между ВММ и гостем</li></ul>Минусы<br /><ul><li>Гостевой своппинг вп...
Неуниверсальность
Отсутствие гарантий</li></li></ul><li>ВМ2<br />Распределение памяти: шаг 2<br />ВМ1<br />RAM<br />balloon<br />Ресурс<br /...
Но откуда известен объем ресурса?<br />Конфигурационные данные<br /><ul><li>Гарантия
Лимит
Приоритет/доля
Разрешенный лимит ноды</li></ul>Динамические данные<br /><ul><li>Используемая память
Бездействующая память (idle)
Статистические данные</li></li></ul><li>Опасности конфигурируемых данных<br />Избыток назначенной памяти (32 no-pae + 4GB ...
ВМ2<br />Распределение памяти: шаг 3<br />гипервизор<br />ВМ1<br />RAM<br />хост<br />balloon<br />Ресурс<br />Физическая ...
Backing storage<br />Влияет на<br /><ul><li>Suspend/snapshot
Upcoming SlideShare
Loading in …5
×

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

3,663 views

Published on

  • Be the first to comment

  • Be the first to like this

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

  1. 1. Управление памятью в гипервизореВсе о виртуализации памяти вParallels<br />Анна Воробьева<br />
  2. 2. Эффективность использования ресурсов<br />Теоретические основы практических подходов <br />«Повторное» использование идей<br />Fun от решения сложной задачки<br />
  3. 3. Содержание<br /><ul><li>Постановка задачи
  4. 4. Решения
  5. 5. Квоты, выбор backing store, алгоритма вытеснения
  6. 6. Balloon
  7. 7. Page sharing, compression
  8. 8. Сравнение по продуктам</li></li></ul><li>гипервизор<br />Аппаратное обеспечение<br />ВМ<br />Немного терминологии<br />Гостевая ОС<br />ВММ<br />Ресурсы<br />Виртуальный environment<br />Хостовая ОС<br />
  9. 9. ВМ2<br />Физическая память<br />Задача распределения памяти<br />ВМ1<br />ВМ3<br />VMVM3<br />3<br />Ресурс памяти<br />Ресурс<br />памяти<br />Ресурс памяти<br />
  10. 10. Разграничим термины<br />Overcommitment<br /><ul><li>Σ(сконфигурированной памяти) + накладные расходы ≥ разрешеный лимит ноды
  11. 11. ВМ подлежат всем действиям, описанным в докладе</li></ul>Overload<br /><ul><li>Σ(используемой памяти) + накладные расходы ≥ разрешенный лимит ноды
  12. 12. ВМ подлежат миграции</li></li></ul><li> Overload<br />
  13. 13. ВМ2<br />Распределение памяти: шаг 1<br />ВМ1<br />RAM<br />Ресурс<br />физическая память<br />Ресурс<br />RAM<br />
  14. 14. Алгоритмы вытеснения<br />LRU (last recently used)<br />FIFO (first in first out)<br />Aging (+NFU) <br />NRU (not recently used – A-/D- bits)<br />а ведь еще можно дать всем второй шанс<br />Clock<br />Random<br />
  15. 15. Алгоритмы вытеснения<br />не работают<br />Гостевая ОС вытесняет страницы по своим алгоритмам (semantic gap)<br />Отсутствие локальности обращений<br />ОС не может поместить в процесс своего агента, а мы можем <br />
  16. 16. Office-битва(Windows 2008 x64) <br />Вытеснение (swapping)<br />Ballooning<br /><ul><li>Avg Cycle Time = 345000
  17. 17. Overcommit = 42%
  18. 18. Avg Cycle Time = 222000
  19. 19. Overcommit = 93%</li></ul>В 1.5 раза эффективнее<br />
  20. 20. Ballooning<br />Гостевая ОС<br />Balloon – это гостевой драйвер<br />Страницы, отданные ВММу balloon-ом, не потребуются гостю и не содержат информации<br />Balloon <br />driver<br />App<br />Ресурс памяти<br />Назначенная память<br />Balloon<br />
  21. 21. Ballooning<br />Плюс<br /><ul><li>Сокращение подкачки между ВММ и гостем</li></ul>Минусы<br /><ul><li>Гостевой своппинг вплоть до гостевых крешей
  22. 22. Неуниверсальность
  23. 23. Отсутствие гарантий</li></li></ul><li>ВМ2<br />Распределение памяти: шаг 2<br />ВМ1<br />RAM<br />balloon<br />Ресурс<br />физическая память<br />Ресурс<br />RAM<br />balloon<br />
  24. 24. Но откуда известен объем ресурса?<br />Конфигурационные данные<br /><ul><li>Гарантия
  25. 25. Лимит
  26. 26. Приоритет/доля
  27. 27. Разрешенный лимит ноды</li></ul>Динамические данные<br /><ul><li>Используемая память
  28. 28. Бездействующая память (idle)
  29. 29. Статистические данные</li></li></ul><li>Опасности конфигурируемых данных<br />Избыток назначенной памяти (32 no-pae + 4GB RAM)<br />Своп из-за низкой гарантии<br />Незаслуженный дефицит при лимите меньше назначенной памяти<br />Оптимистичныйлимит для ноды<br />
  30. 30. ВМ2<br />Распределение памяти: шаг 3<br />гипервизор<br />ВМ1<br />RAM<br />хост<br />balloon<br />Ресурс<br />Физическая память<br />RAM<br />Ресурс<br />balloon<br />
  31. 31. Backing storage<br />Влияет на<br /><ul><li>Suspend/snapshot
  32. 32. Resume/switch to snapshot
  33. 33. Подкачка</li></ul>Популярные решения<br /><ul><li>File mapping
  34. 34. Anonymous mapping
  35. 35. HugeTLBFs</li></li></ul><li>гипервизор<br />ВМ2<br />Распределение памяти: шаг 4<br />ВМ1<br />хост<br />RAM<br />balloon<br />Backing <br />stotage<br />ВП<br />Физическая память<br />Ресурс<br />ВП<br />RAM<br />Backing <br />stotage<br />balloon<br />Ресурс<br />
  36. 36. Меняем тики на данные<br />Page sharing<br /><ul><li>Посчитать хэш
  37. 37. Сравнить
  38. 38. Защитить по COW
  39. 39. По записи отвязать
  40. 40. Для Read-Only страниц</li></ul>Compression<br /><ul><li>Сжать
  41. 41. Оставить в кэше либо записать на диск
  42. 42. По требованию развернуть
  43. 43. Для редко используемых</li></li></ul><li>Меняем тики на данные<br />Page sharing<br /><ul><li>Эффективность при одинотипной нагрузке на ноду
  44. 44. Накладные расходы могут быть напрасны
  45. 45. Запрет на большие страницы</li></ul>Compression<br /><ul><li>Интеграция с suspended image
  46. 46. Уверенный compression вне зависимости от нагрузки</li></li></ul><li>гипервизор<br />ВМ2<br />Распределение памяти: полная картина<br />ВМ1<br />хост<br />RAM<br />balloon<br />архив<br />Backing <br />stotage<br />ВП<br />Физическая память<br />Ресурс<br />Shared pages<br />ВП<br />RAM<br />Backing <br />stotage<br />balloon<br />Ресурс<br />арив<br />
  47. 47. Disclaimer<br />СРАВНЕНИЕ ПРОДУКТОВ, ПРЕДСТАВЛЕННОЕ ДАЛЕЕ, ЯВЛЯЕТСЯ ЛИШЬ МНЕНИЕМ. <br />
  48. 48.
  49. 49. Сравнение: Xen Server – осторожность превыше всего<br /><ul><li>Исключительно ballooning
  50. 50. Page-sharing & swapout присутствуют в xen hypervisor 4.0</li></li></ul><li>Сравнение: VMWare ESX – сильнейшие со времен Waldspurger-а<br /><ul><li>В статье 2002ого года они уже описывают balloon, квоту, page sharing, idle-memory tax swapout
  51. 51. Некоторая инертность в новом,compression не интегрирован с suspend-ом</li></li></ul><li>Сравнение: KVM – все блага Linux-а<br /><ul><li>Balloon включен в дерево Linux
  52. 52. Эффективнейший KSM достался бесплатно
  53. 53. Блага надежного вытеснения
  54. 54. Compression и алгоритмы, специфичные для виртуализации, могут идти с запозданием </li></li></ul><li>Сравнение: HyperV – все что не от нас, то от лукавого<br /><ul><li>Hot-plug memory + balloon
  55. 55. Оверкоммит опасен и вреден</li></li></ul><li>Сравнение: PSBM<br /><ul><li>Свой алгоритм компрессии и его интеграция:
  56. 56. Эффективная реализация для разнотипной нагрузки
  57. 57. Быстрый suspend/resume/snapshot
  58. 58. Для однотипной нагрузки – контейнеры</li></li></ul><li>
  59. 59. Вопросы?<br />mailto: anyav@parallels.com<br />

×