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

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

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

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

Оно решается, например, с помощью алгоритма Левенберга-Марквардта [10]. Таким образомполучается аналитическая апроксимация графика насыщения рабочегонабора.3.3.2. Модель процесса живой миграцииНа основе найденной приближенной функции можно смоделироватьпроцесс миграции, предполагая что эта функция слабо меняется во времени. То-есть на каждой итерации есть некоторый размер накопленнойпамяти для передачи, время передачи этих данных можно оценить по ихразмеру и средней скорости передачи данных соединения. По полученному времени используя приближенную функцию можно определить объемновых данных который будет накоплен к началу следующей итерации. Итак получается модель реального итеративного процесса происходящегопри итеративной миграции.

Гдена i-той итерации,( )- объем грязной памяти накопленнойвремя на передачу блока памяти объемом M, aи d - найденные при аппроксимации параметры.+1 = × ( )( ) + (3.4)Этот итеративный процесс сходится. Так как приближенная функциянасыщения рабочего набора процесса непрерывна, монотонно возрастаети ограничена M(t) < 1, значит получающаяся последовательность времени передачи данных на каждой итерации, монотонно убывает и ограничена снизу нулем, что и значит сходимость процесса.26Так же необходимо учесть, что времени передачи блока данных непропорционально размеру этого блока. Есть некоторая задержка l(latency)при передаче данных в реальной сети. То-есть если M - размер данных,v - теоретическая скорость соединения, то время на передачу будет:( ) = × + +1 =(3.5) × ( × + ) × + + (3.6)Таким образом проведя достаточное количество итераций, можно определить приближенный инфимум необходимого для передачи времени, иколичество итераций для его достижения с некоторой заданной точностью.3.3.3.

ОптимизацияПри рассмотрении модели итераций пока не учитывалось, что дляснятия снимка на каждой итерации требуется некоторый интервал времени. Если включить его в модель, то можно посчитать такую характеристику процесса как суммарное время простоя мигрируемой программы-∑︀ .Время для снятия снимка можно считать не изменяющимся от ите-рации к итерации, так как основную нагрузку создает то, что при снятии снимка необходимо делать полный обход памяти процесса и проверять каждую страницу на предмет ее изменения с момента предыдущегоснимка.Тогда суммарное время простоя на i итерации будет:∑︀ () = ( − 1) × Δ + ().ГдеΔ— время простоя для снятия снимка,()(3.7)— время для передачи() сходится к инфимуму при( − 1)Δ линейно возрастает, то угрязной памяти на i итерации.

Так какi стремящемуся к бесконечности апоследовательности∑︀ ()сумм, существует минимум.То-есть используя предложенную модель можно определить количество итераций в процессе миграции необходимое для минимизации суммарного времени простоя. Суммарное время простоя, в свою очередь27характеризует влияние процесса миграции на среднюю скорость работыпроцесса.

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

Таким образом аппроксимирующая функция должна быть выпуклавверх. Так же функция должна монотонно возрастать, так как размергрязной памяти не может уменьшится1и быть ограничена сверху. Былирассмотрены различные функции например: () = × ( × ); ⊂ [0, ∞]1 () = × − × ; ⊂ [0, ∞](3.9)⎧⎨ × , ⊂ [0, ]; () =⎩ × , ⊂ [, ∞];(3.10) () =1 Хотя(3.8)×; ⊂ [0, ∞]+(3.11)на практике это не так, например если приложение освобождает память, но в рамках этойработы рассмотрена упрощенная модель взаимодействия с памятью.28Рис. 3.1: Мониторинг и аппроксимация29память(Мб)010020030040050060070080000.51время(сек)1.522.5Размер грязной памятиРазмер рабочего набораПриближение функцией a*t/(t+d)Зависимость насыщения рабочего набора процесса от времяни3Рис.

3.2: Модель миграции30размер накопленной грязной памяти(MB)010020030040050060070080000.51время(сек)1.522.5Насыщение грязной памятиГрафик миграции, параметры d = 2.730000, a = 1748.0000003Рис. 3.3: Оптимизация миграции31Глава 4. Практическая частьВ рамках данной дипломной работы были решены три практическихзадачи:1. Добавление поддержки Posix-таймеров в CRIU;2. Добавление дедупликации итеративных снимков в CRIU;3. Написание системы предсказания окончания миграции.Первая задача является вводной задачей для изучения архитектуры проекта CRIU, вторая задача имеет непосредственную важность для использования оперативной памяти при создании и хранении итеративных снимков, что необходимо для ускорения процесса миграции.

Третьязадача заключалась в написании алгоритма на основе полученной математической модели с целью ее обоснования.4.1. POSIX-ТаймерыВ CRIU, в рамках подготовительного изучения системы и вводного задания была добавлена поддержка posix-таймеров. То-есть добавлена функциональность сохранения и восстановления таймеров стандартаPOSIX.POSIX-таймеры это интервальные таймеры поддерживаемые операционной системой Линукс. Они имеют ряд преимуществ перед обычнымитаймерами UNIX:1.

Процесс может иметь несколько таймеров.2. Лучшая точность таймеров. Таймеры могут использовать значенияс точностью до наносекунд.3. Уведомление о завершении работы таймера может быть сделанолибо с помощью любого произвольного сигнала (реального времени) или с помощью потоков. Для уведомление о завершении работы32таймера в обычных таймерах UNIX есть лишь ограниченный наборсигналов.4. Таймеры POSIX.1b предоставляют поддержку различных типовчасов, таких как CLOCK_REALTIME, CLOCK_MONOTONIC, итак далее, которые могут иметь различные источники с различнымразрешением. Обычный таймер UNIX, с другой стороны, связан ссистемными часами.Функциональность сохранения и восстановления posix-таймеров разрабатывалась с оглядкой на реализацию подобной функциональностидля itimers(обычные интервальные таймеры), в которой, в процессе работы, были найдены и исправлены ошибки, и на основе функциональности для POSIX-часов.

В начале CRIU при сохранении состояния деревапроцессов, для каждого процесса, для объектов ядра для которых этонеобходимо, вызывает модули получения информации из файловой системы proc.4.1.1. Использование файловой системы procfsФайловая система procfs является основным используемым интерфейсом Для сохранения состояния posix-таймеров из пространства пользователя, весной 2013 года был принят патч [7] в ядро Линукс, отображающий основную информацию объектов struct k_itimer хранящих состояние posix-таймеров, с помощью интерфейса seq_file. Таким образомчитая файл /proc/<pid>/timers получаем список таймеров используемых процессом.

Для каждого posix-таймера, считывается уникальныйномер таймера - ID, информация о способе прихода оповещения о срабатывании таймера и информация о часах с которыми связан таймер. Всеэто сохраняется в динамический список и CRIU переходит на следущийэтап.Патч в ядро LinuxДля отображения ClockID - уникального номера часов к которымпривязан posix-таймер, необходимого для восстановления таймера, был33написан патч [8] в ядро Линукс. Так как предыдущая реализация /proc/<pid>/timers не содержала этой критичной информации и другие интерфейсы ядра не предоставляли к ней доступа, то полностью восстановить таймеры было не возможно.

По этому было решено расширитьфункциональность ядра.Пример содержимого файла, для процесса с двумя таймерами:cat / proc / < pid >/ timersID : 21signal : 12/( null )notify : signal / pid .25907ClockID : 1ID : 10signal : 10/00000000006062 a0notify : signal / pid .25907ClockID : 04.1.2. Системные вызовыПосле считывания основной информации о таймерах из файловойсистемы Procfs, используя интерфейс ptrace, CRIU встраивается в сохраняемый процесс. Список с информацией о posix-таймерах необходим для работы с ними из под контекста сохраняемого процесса, соответственно был добавлен перенос этих данных в память процесса используя аналогичные механизмы для других объектов.

Далее зная какие есть таймеры можно используя системные вызовы timer_gettime() иtimer_getoverrun() получить значения оставшегося времени до срабатывания таймера и количество итераций таймера, когда таймер не сработализ-за блокировки сигналов. После этого данные возвращаются в контекстCRIU, а контекст сохраняемого процесса чистится от инъекций памятии приводится в свое состояние до подключения к нему CRIU. Все данныесохраняются в снимки с использованием формата Google Protobuf.При восстановлении воссоздается дерево процессов и для каждогопроцесса по очереди восстанавливаются все per-process объекты. Длявосстановления posix-таймеров используются системные вызовы работыс таймерами timer_create() и timer_settime(), с параметрами полученными при сохранении процесса, для воссоздания и запуска таймеров.34Основной сложностью при восстановлении posix-таймеров являетсято, что ядро Линукс не предоставляет интерфейса для восстановлениятаймера с определенным идентификационным номером, по этому предложенный алгоритм использует то что таймеры ядром создаются в порядке возрастания ID(timer_create()).

То-есть, сохраненные таймеры сортируются в порядке возрастания ID, и CRIU пытается восстанавливатьих в этом порядке. Пусть например наименьший ID = 5, тогда чтобыего восстановить создаются таймеры 1-4, а потом воссоздается пятый. Вконце все лишние таймеры удаляются.4.1.3.

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

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

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