Главная » Просмотр файлов » Математическое моделирование изменения рабочего набора процесса для интегральной живой миграции

Математическое моделирование изменения рабочего набора процесса для интегральной живой миграции (1187402), страница 6

Файл №1187402 Математическое моделирование изменения рабочего набора процесса для интегральной живой миграции (Математическое моделирование изменения рабочего набора процесса для интегральной живой миграции) 6 страницаМатематическое моделирование изменения рабочего набора процесса для интегральной живой миграции (1187402) страница 62020-09-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 6)

Проблема overrunПри восстановлении posix-таймеров найдена проблема восстановления overrun. То-есть не существует системного интерфейса чтобы во первых узнать точное количество итераций таймера когда сигналы заблокированы, во вторых нет интерфейса для восстановления этого значения,по этому для некоторых ситуаций одно измерение таймера попадающеена момент сохранения и восстановления может быть фальсифицировано,но далее таймер будет работать как и должен. Для исправления ситуации в будущем необходимо изменить интерфейсы ядра для работы сoverrun.4.1.4.

ТестированиеТестирование реализации поддержки таймеров стандарта POSIX проводилось с помощью специального теста из пакета ZDTM, который былнаписан для подобной функциональности реализованной в OpenVZ иадаптирован с учетом проблемы overrun.4.2. ДедупликацияДля осуществления живой миграции в CRIU предусмотрен механизмсоздания итеративных снимков.

При создании итеративных снимков памяти в CRIU, на каждой итерации накапливаются новые данные, то-естьсуммарный объем занимаемый итеративными снимками все время увеличивается. Что по прохождении большого количества итераций может35привести к росту объема снимков на порядок.

Так как живая миграция подразумевает максимальную оптимальность передачи, сохраненияи восстановления, для хранения снимков предлагается использовать оперативную память. Но указанный рост объема памяти занимаемого снимками препятствует этому решению. Для решения проблемы нехватки памяти и вследствие не оптимальности процесса миграции был предложени реализован алгоритм дедупликации итеративных снимков. Для осуществления этой функциональности использован API Sparce file.4.2.1. Разряженный файлРазряженный файл(Sparce file) - тип файла, который хранит данныев файловой системе более эффективно если в нем существуют последовательности подряд идущих нулевых байт [11].

Вместо таких последовательностей хранятся только их метаданные. При чтении все замененныеблоки представляются как реальные блоки заполненные нулевыми байтами.Большинство современных файловых систем поддерживают разряженные файлы, например: NTFS, ext4, tmpfs. В основном такие файлы используются для хранения образов дисков и снимков баз данных.Преимуществом использования разряженных файлов является эффективность использования памяти - место выделяется, только если онодействительно нужно. Минусом же является фрагментация файловойсистемы.Используемым интерфейсом для работы с разряженными файламиявляется функция fallocate() [9].

Она реализована в операционной системе Линукс, и позволяет напрямую манипулировать пространством файла, выделять и освобождать пространство. Используя флаг FALLOC_FL_PUNCH_HOLE можно освобождать выбранный блок в файле.4.2.2. Файловая система tmpfsЭто специальная файловая система во многих UNIX-подобных операционных системах.

Позволяет монтировать файловую систему размещаяее в оперативной памяти вместо физического диска [11]. Применяется в36данной работе для хранения образов памяти, это позволяет убрать задержку записи на диск в процессе передачи памяти при миграции, чтопотенциально увеличивает скорость миграции на порядок учитывая характеристики скорости чтения/записи для современных дисков и оперативной памяти.

Она полностью поддерживает функционал разряженныхфайлов.4.2.3. АрхитектураВ CRIU память сохраняется блоками pagemap entry - записями, которые образуются из зон виртуальной памяти(Virtual Memory Area), соответствующие записям страницы записываются в файл снимка подрядв порядке соответствующем порядку записей. Для прохода по даннымзаписей CRIU вычитывает записи, и проматывает файл страниц на соответствующий кусок данных.

Часть записей имеют пометку in_parent,то-есть, для их поиска нужно спустится в родительский снимок, для нихв текущем снимке не хранится данных. Это те страницы которые не изменились с момента предыдущего снимка.При сохранении очередного снимка, во-первых открывается деревородительских образов. При поступлении записи с грязными страницами,вызывается рекурентная функция дедупликации, которая идет в родительский образ, находит все записи пересекающиеся с грязной записью,и если они не помечены in_parent, то запускает на них функцию освобождения блока. Дальше для найденных пересекающихся записей вызывается функция дедупликации, и так до изначального снимка. Такимобразом для всех новых записей все старые записи будут очищены и память занимаемая ими отдана системе.

Есть условие, что алгоритм, прииспользовании для итеративной миграции, должен быть применен накаждой итерации.При восстановлении из итеративных снимков процесс спуска в родительский снимок уже реализован, остается только использовать на ужевосстановленных блоках функцию освобождения блока.Функция освобождения блока использует накопление, то-есть освобождает блок не сразу, а запоминает его, при приходе подряд идущихсоседних блоков они запоминаются как один большой блок. Накопление37идет до 1Мб, чтобы одновременно получить хорошую производительность и эффективно очищать снимки для достижения минимальногоразмера занимаемой памяти все время.Используя данный алгоритм, так же очищаются записи которые были освобождены сохраняемой программой, так как очевидно они будутпройдены мимо алгоритмом, так как они не пересекаются или пересекаются только частично с записями в снимке-ребенке.

При таком проходемимо на них запускается рекурсивная функция дедупликации.В результате был реализован алгоритм поиска старых страниц памяти встроенный в CRIU в процедуры снятия итеративного снимка ивосстановления из снимков. Для этого были изменены функции чтенияснимков на восстановлении и добавлена аналогичная функция в сохранении.

В процессе реализации были найдены и исправлены ошибки вподсистеме работы с памятью, применены оптимизации.4.2.4. ТестированиеДля всех компонентов функционала дедупликации были написанытесты сохранности памяти при различных сценариях использования памяти и интегрированы в ZDTM. На основе системы непрерывной интеграции Jenkins, постоянно запущено автоматическое тестирование сслучайно использующими память тестами.Так же проведены тесты использования памяти в процессе миграции.Они показали эффективность использования памяти при использованиифункции дедупликации, и обратную ситуацию иначе.Методика заключалась в следующей последовательности действий:1. монтируется файловая система tmpfs для хранения снимков на целевой виртуальной машине;2.

устанавливается тестовое приложение, активно загружающее RAMисходной виртуальной машины;3. производится две итеративные миграции тестового приложения навторую виртуальную машину, соответственно с включенной и выключенной дедупликацией;38Рис. 4.1: Тестирование дедупликации394. измеряется с помощью программы disk usage занимаемое образамипространство.Получено два графика: график размера занимаемой образами памятибез дедупликации и график размера занимаемой памяти с дедупликацией снимков.Из результатов тестирования видно, что при итеративной миграциибез использования дедупликации памяти, занимаемое образами пространство в несколько больше чем при ее использовании.Данный алгоритм, реализованный как компонент CRIU, показал теоретически предсказанную пространственную эффективность, то-есть позволил сократить суммарное использование памяти снимками до размера одного рабочего набора программы.

Что осуществлено, не только вовремя создания снимков, но и во время восстановления, это можно заметить на конце графика “С дедупликацией” на пятой секунде, во времявосстановления приложения происходит синхронное сокращение занимаемой снимками памяти, за счет уже восстановленных и, таким образом,ненужных блоков.Тестирование дедупликации так же принесло пользу в аспекте проверки работы механизма сохранения памяти в снимки в CRIU. Былинайдены ряд ошибок реализации, и исправления этих недостатков быливнесены в код проекта.4.3.

Живая миграцияБыл разработан алгоритм прогнозирования момента окончания итеративной миграции и реализован для CRIU с целью обоснования. В задаче прогнозирования можно выделить две подзадачи:1. Мониторинг динамики насыщения рабочего набора процесса;2. Оптимизация времени простоя при миграции, на основе аналитически проанализированных данных мониторинга.4.3.1. МониторингСуществуют различные способы мониторинга используемой процессом памяти (например, утилиты ps, page-collect), но они не достаточно40точны и неприменимы для анализа памяти процесса в произвольныймомент времени. Такие способы в основном дают возможность получитьинформацию об общем размере виртуальной памяти, используемой процессом, и о размере предоставленной физической памяти, но для анализаэтого не достаточно.Командой CRIU в апреле 2013г.

в ядро Linux была добавлена функциональность, позволяющая отслеживать использование памяти процессом, называемая soft-dirty tracking. С помощью soft-dirty tracking, используя файловую систему procfs, можно, включить отслеживание памяти на уровне ядра системы. После этого можно получать битовую маскупамяти процесса, проанализировав которую, выделить страницы памяти, изменившиеся при работе процесса и оставшиеся в том же состоянии,что и в момент включения опции.Это позволяет проводить мониторинг насыщения рабочего набора,т.е. именно то, что необходимо для миграции. Изначально эта функциональность была добавлена для определения «грязной» памяти присоздании итеративных снимков программ. Но ее можно также успешноиспользовать для подготовительного мониторинга.4.3.2.

Отслеживание грязной памятиОтслеживание грязной памяти реализовано в ядре операционной системы Линукс, как один из интерфейсов файловой системы procfs [12].Для включения отслеживания грязной памяти процесса достаточно записать 4 в файл /proc/<pid>/clear_refs. При этом ядро сбросит битыв метаданных страниц в состояние “чистая” страница, и также отметитвсе страницы процесса как защищенные от записи. Таким образом если процесс будет читать некоторую страницу своей памяти произойдетpage-fault(страничная ошибка), который будет обработан ядром, и страница будет помечена как “грязная”.

Характеристики

Список файлов ВКР

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6353
Авторов
на СтудИзбе
311
Средний доход
с одного платного файла
Обучение Подробнее