Математическое моделирование изменения рабочего набора процесса для интегральной живой миграции (1187402)
Текст из файла
Министерство образования и науки Российской ФедерацииМОСКОВСКИЙ ФИЗИКО-ТЕХНИЧЕСКИЙ ИНСТИТУТ(государственный университет)ФАКУЛЬТЕТ УПРАВЛЕНИЯ И ПРИКЛАДНОЙ МАТЕМАТИКИКАФЕДРА ТЕОРЕТИЧЕСКОЙ И ПРИКЛАДНОЙ ИНФОРМАТИКИ(Специализация 010956 «Математические и информационныетехнологии»)МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ ИЗМЕНЕНИЯРАБОЧЕГО НАБОРА ПРОЦЕССА ДЛЯ ИТЕРАТИВНОЙ ЖИВОЙМИГРАЦИИМагистерская диссертациястудента 873 группыТихомирова Павла ОлеговичаНаучный руководительк.ф.-м.н. Емельянов П.В.Долгопрудный 2014ОглавлениеВведение31CRIU (Checkpoint/Restore In Userspace)61.1История . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .61.1.1Конкурирующие проекты. . . . . . . . . . . . . . .61.1.2История CRIU. . . . . . . . . . . . . . . . . . . . .9. . . . . . . . . . . . . . . . . . . . . . . . . .101.21.31.42Архитектура1.2.1Сохранение моментальных снимков. . . . . . . . .111.2.2Восстановление из снимков. . . . . . . . . . . . . .14Тестирование. . . . . . . . . . .
. . . . . . . . . . . . . . .151.3.1. . . . . . . . . . . . . . . . . . . . . . . . . .15. . . . . . . . . . . . . . . . . . . . . . . . .16ZDTMИспользованиеДедупликация2.117Проблема использования оперативнойпамяти при миграции2.234Алгоритм. . .
. . . . . . . . . . . . . . . . . .17. . . . . . . . . . . . . . . . . . . . . . . . . . . .18Миграция223.1Определения. . . . . . . . . . . . . . . . . . . . . . . . . .223.2Существующие решения . . . . . . . . . . . . . . . . . . . .233.3мат-модель Миграции25. . . . . . . . . . . . . . .
. . . . . .3.3.1Оценка и аппроксимация. . . . . . . . . . . . . . .3.3.2Модель процесса живой миграции3.3.3Оптимизация3.3.4. . . . . . . . . .26. . . . . . . . . . . . . . . . . . . . . .27Выбор функции . . . . . . . . . . . . . . . . . . . . .28Практическая часть4.125POSIX-Таймеры32. . . . . . . . .
. . . . . . . . . . . . . . .324.1.1Использование файловой системы procfs . . . . . . .334.1.2Системные вызовы . . . . . . . . . . . . . . . . . . .3414.24.34.1.3Проблема overrun . . . . . . . . . . . . . . . . . . . .354.1.4Тестирование. . . . . . . . . . . . . . . . . . .
. . .35. . . . . . . . . . . . . . . . . . . . . . . . .354.2.1Разряженный файл . . . . . . . . . . . . . . . . . . .364.2.2Файловая система tmpfs . . . . . . . . . . . . . . . .364.2.3Архитектура. . . . . . . . . . . . . . . . . . . . . .374.2.4Тестирование. . . . . . . . . . .
. . . . . . . . . . .38Живая миграция . . . . . . . . . . . . . . . . . . . . . . . .404.3.1Мониторинг . . . . . . . . . . . . . . . . . . . . . . .404.3.2Отслеживание грязной памяти. . . . . . . . . . . .414.3.3Alglib. . . . . . . . . . . . . . . . . . . . . . . . . .424.3.4p.HAUL. .
. . . . . . . . . . . . . . . . . . . . . . .424.3.5ТестированиеДедупликация. . . . . . . . . . . . . . . . . . . . . .Заключение42452ВведениеДанная работа является одновременно теоретическим и практическим исследованием в Информатике в области Виртуализации ПО, направленным на оптимизацию алгоритма миграции процессов, и внедрения полученного решения в продукты Parallels.Для абстрагирования архитектуры программ, работающих на вычислительных устройствах, от конкретных принципов их работы придумано понятие Операционной Системы. Данное понятие позволяет избавитьпрограммистов от необходимости разрабатывать программный продуктпод каждую конфигурацию оборудования в отдельности.
ОС предоставляет единое API(Application Programming Interface) для управления ресурсами некоторого класса вычислительных систем. Таким образом, одна программа может работать на различных устройствах в рамках однойОС ведя себя совершенно одинаково - используя один интерфейс. Такпоявилась идея взять программу во время исполнения на одной вычислительной системе и перенести ее на другую систему, чтобы программапродолжила работу с того же места на котором она остановилась напервой системе. Этот процесс перенесения программы называется Миграцией программы.Идея миграции находит применение в широком спектре задач и моделей использования вычислительных систем. Таких как: обновление ядрабез перезагрузки системы, балансировка нагрузки, осуществление технической поддержки сервера прозрачно для пользователей, расширенныевозможности отладки программ, безусловно, являющихся актуальнымидля современных компьютерных систем.
Для примера рассмотрим ситуацию технической поддержки сервера. Пусть на физической машинеработает веб-сервер, и необходимо провести технические работы. Дляих проведения раньше пришлось бы выключить сервер, при этом пользователи не смогли бы использовать предоставляемые им услуги. Еслиже на время технических работ мигрировать веб-сервер на резервнуюмашину, то проведение технических работ будет прозрачно для пользо-3вателей.
Новое время простоя сервера уже не будет зависеть от временинеобходимого для проведения технических работ, а только от временимиграции сервера, которое может быть гораздо меньше.Ранее, решения данных задач можно было добиться только на специально устроенной для этого системе, например с измененным ядром,или потребовалось бы иметь заранее модифицированную переносимуюпрограмму, которая позволяла и помогала проделывать над собой такиеоперации, или была необходима динамическая линковка библиотек. Этиограничения связаны с возникновением ряда проблем на практике. Аименно: использование только старых, поддерживаемых ядер, что приводит к урезанию(ограничению) возможностей мигрируемых программ;отсутствие применимости к стороннему ПО с закрытым исходным кодом;cнижение безопасности, встраивание библиотек может непредсказуемоповлиять на работу процесса, то есть ограничивается круг “подходящих”программ.Для решения этого круга проблем был создан проект Checkpoint /Restore In Userspace (CRIU), в котором используется минималистичныйподход при внесении необходимых изменений в ядро Линукс, а основная функциональность вынесена из ядра в пространство пользователя.
ВCRIU поддерживаются все новые ядра, для сохранения и последующеговосстановления процесса не требуется предварительной его подготовки.Эта система оптимизируется по скорости работы и находится в активнойразработке. Таким образом, в условиях появления универсального решения, которое можно использовать для миграции программ, появляетсянеобходимость рассмотрения вопроса о Живой миграции. В предыдущихрешениях этот процесс не был контролируемым, то есть в них старалисьуменьшить время миграции, чтобы не получить разрывов соединений,но не было проведено оценок реальной возможности Живой миграции,и внимание на этом не заострялось.
Конкретная задача данной работы- это создание механизма контроля процесса миграции и предсказанияповедения этого процесса на базе CRIU.Оптимизация сохранения и восстановления программ в проекте CRIUи разработка модели Live-миграции приведет к появлению эффективного механизма решения вышеупомянутого списка задач. Таким образом,4цели магистерской диссертации:1. Подготовительная работа с CRIU, изучение системы;2. Дедупликация для оптимизации пространственной сложности задачи;3. Моделирование Live-миграции процессов и групп процессов на основе CRIU;4. Написание программной реализации алгоритма прогнозированияостановки миграции для обоснования и тестирования математической модели.5Глава 1. CRIU (Checkpoint/Restore In Userspace)CRIU (Checkpoint/Restore In Userspace) – быстро развивающийся проект, разрабатываемый компанией Parallels, для операционной системыLinux. Цель CRIU позволить сохранять состояние программы в качестве контрольной точки(снимка), после чего восстановить и продолжитьработу программы с этой точки.
CRIU не является первым проектом пытающимся реализовать данную функциональность, к примеру в OpenVZиспользуется похожий механизм для живой миграции, а в Parallels Virtuozzo для возобновления после обновления ядра. Но у CRIU есть ключевоеотличие от ранее реализованных проектов — в нем основная работа посохранению и восстановлению перенесена в пространство пользователя.В отличие от предшественников, которые из-за большого объема кодане стали частью основного ядра, у CRIU есть все необходимое, что-быпривнести в Linux эту функциональность.1.1.
ИсторияРассмотрим современные, конкурентные проекты реализации функциональности сохранения и восстановления программ.1.1.1. Конкурирующие проектыBLCR(Berkeley Lab Checkpoint/Restart)Проект BLCR [2] разрабатывается в Национальной Лаборатории имени Лоуренса Беркли в Калифорнийском Университете1США с 2003 г.Это программное обеспечение с открытым исходным кодом под лицензией GPL. Задачей которого является реализация технологии сохраненияи восстановления процессов (Checkpoint/Restart) ориентированное на задачи высокопроизводительных вычислений на MPI. BLCR реализованаиз двух частей: загружаемый модуль ядра, для Linux 2.4 и 2.6 ядер набазе архитектур x86 и x86-64, и библиотека расширений которую нужно1 LawrenceBerkeley National Laboratory in University of California6связать с программой, чтобы совершать сохранение и восстановление.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.