Никита Ющенко / Дмитрий Головинов, 4 курс, mod-sem [linux]

На этом форуме публикуются и уточняются постановки задач студентам, а также отслеживается ход их выполнения

Модератор: staff

Закрыто
Бычков Иван
Аспирант
Сообщения: 179
Зарегистрирован: 23 сен 2008 01:19 pm

Никита Ющенко / Дмитрий Головинов, 4 курс, mod-sem [linux]

Сообщение Бычков Иван »

Тема роботы
Совместное планирование виртуальных машин и процессов внутри виртуальной машины

Актуальность
При работе нескольких виртуальных машин на одном физическом сервере распределение процессорного времени производится на двух уровнях - «внешний» планировщик выделяет время отдельным виртуальным машинам, «внутренний» планировщик распределяет выделенное данной виртуальной машине время между работающими на ней процессами. В случае, когда каждой ВМ требуется выделить фиксированную долю от мощности физического сервера, такой подход хорош.

Однако опыт эксплуатации виртуальных машин Xen в ЛВК показал, что независимость «внутреннего» и «внешнего» планировщиков на нашей нагрузке приводит к неоптимальному распределению времени. Так, если разместить основной сервер приложений и «проектную» ВМ на одном физическом сервере, и запустить в «проектой» ВМ одну cpu-bound задачу (например компиляцию), то резко ухудшается отзывчивость пользовательских сеансов. Если же снизить приоритет «проектной» ВМ, то её производительность станет неадекватно низкой из-за «паразитных cpu-bound процессов» на сервере приложений (таких как плееры флэш-роликов в веб страницах).

В рамках данной работы хочется разработать систему, в которой можно будет выделять группы процессов, «глобальные» по отношению к физическому серверу, и распределять физическое время между ними. Но при этом сохранить все остальные свойства виртуальных машин как независимых окружений.

Эта задача должна решаться сравнительно легко (а возможно уже решена) для систем виртуализации на уровне ОС, таких как OpenVZ. В рамках данной работы предполагается решить её для системы виртуализации с гипервизовом (Xen), а также возможно для системы аппаратной виртуализации.

План работы
  • изучение планировщика CFS, используемого в современных версиях ядра Linux
  • изучение механизмов планирования в Xen,
  • изучение механизмов планирования в OpenVZ,
  • проектирование и реализация системы совместного планирования для Xen.
Ожидаемые результаты
  • тексты с описанием механизмов планирования [вероятно пойдут в «обзорную» часть курсовой работы],
  • реализация совместного планирования.
Дмитрий Головинов

Сообщение Дмитрий Головинов »

Постановка задачи
В лаборатории ЛВК кафедры АСВК ф-та ВМиК активно используется виртуализация на основе Xen. В ходе эксплуатации было выявлено, что система паравиртуализации Xen в некоторых случаях осуществляет неоптимальное распределение процессорнного времени между виртуальными машинами, вследствие этого ухудшается производительность разных классов задач.
Так, если разместить основной сервер приложений и «проектную» ВМ на одном физическом сервере, и запустить в «проектой» ВМ одну cpu-bound задачу (например компиляцию), то резко ухудшается отзывчивость пользовательских сеансов. Если же снизить приоритет «проектной» ВМ, то её производительность станет неадекватно низкой из-за «паразитных cpu-bound процессов» на сервере приложений (таких как плееры флэш-роликов в веб страницах).
Научным руководителем была сформулирована и четко поставлена задача по разработке, по возможности, наиболее оптимальной инфраструктуры планирования, исходя из имеющегося опыта в системах виртуализации и решения задач планирования в Linux в целом. В рамках курсовой работы было предложено разработать и внедрить систему планирования процессов с возможностью выделения групп из оных, глобальных по отношению к физическому серверу, и осуществлять планирование между полученными группами.

План работы на 4й курс:
изучение алгоритма работы CFS
изучение группового планирования в CFS
изучение алгоритмов распределения процессорного времени в OpenVZ
составление алгоритма планирования будущей системы
документирование процесса исследования
поиск материалов по схожей тематике
реализация разработанного алгоритма
отладка и тестирование
Что было выполнено:
изучение алгоритма работы CFS и исследование группового планирования
при помощи метода изучения исходного кода совокупности патчей и изучения переписки Ingo Molnar(создателя CFS) с сообществом, было составлено словесное описание алгоритма, следуя которому происходит распределение процессорного времени
изучение алгоритмов распределения процессорного времени в OpenVZ
был изучен исходный код патча openvz и составлено общее представление, описывающее структуру планирования процессорного времени и архитектуру реализованного решения
составление алгоритма планирования будущей системы
при помощи взаимодействия с научным руководителем был составлен общий алгоритм планирования в Xen без привязки к какому-то конкретному планировщику и был приведен список конкретных шагов этого алгоритма на примере из нескольких групп задач, выполняющихся на разных доменах
Закрыто