Главная » Просмотр файлов » Разработка честного алгоритма дискового планировщика для OC Windows

Разработка честного алгоритма дискового планировщика для OC Windows (1187424), страница 4

Файл №1187424 Разработка честного алгоритма дискового планировщика для OC Windows (Разработка честного алгоритма дискового планировщика для OC Windows) 4 страницаРазработка честного алгоритма дискового планировщика для OC Windows (1187424) страница 42020-09-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

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

Такимобразом, большой приоритет операций чтения приводит к малым возможностям пооптимальному упорядочиванию запросов, что влечет большие задержки.144.5.4. Прогнозирующий планировщик (Anticipatory I/O scheduler)Предназначен для минимизации задержек чтения и во том же время обеспечениемхорошей общей производительности. Данный планировщик, как и Deadline, использует триочереди запросов и учитывает время ожидания каждого из них. Отличительной жеособенностью его является использование эвристического прогнозирования (anticipationheuristic), направленного на исключения обилия поступающих друг за другом операцийчтения.Алгоритм заключается в следующем:Когда планировщик получает запрос на чтение, он его выполняет.

Далее anticipatoryждет некоторое время (около 6 миллисекунд). Наиболее вероятно, что за это время придетеще несколько запросов на чтение. Вместо того, чтобы как Deadline, отправлять навыполнение практически следующий непосредственно за ним запрос на чтение, anticipatoryвыбирает из пришедших за 6 миллисекунд запросов те, которые обращены к соседнимсекторам диска, и отправляет их в очередь диспетчеризации. Таким образом, оносуществляет упорядочивание запросов так, чтобы минимизировать скачки головки подиску.В результате если за время ожидания придут запросы к соседним секторам, затраты наожидания окупаются за счет предотвращения двух лишних операций поиска. Если же за этовремя не было никакой дисковой активности к соседним секторам, то время ожиданияпросто теряется.Более того, планировщик ведет статистику операций ввода-вывода по каждомупроцессу.

Анализируя полученные данные, он пытается предсказать действия приложения.При удаче в предсказаниях, планировщик может существенно снизить затраты на поиск, атакже больше уделить внимание тем запросам, которые хуже всего сказываются напроизводительности системы.Недостаток планировщика в том, что задержки каждого конкретного процесса могутбыть непростительно велики.Данный планировщик хорошо работает на большинстве систем. Однако для некоторыхсистем, рассчитанных на большое количество поиска (например, серверы баз данных),anticipatory не дает преимущества.4.5.5. Сompletely Fair Queeing (CFQ)Является планировщиком по умолчанию начиная с версии 2.6.9. Как следует изназвания, этот планировщик является честным.Принцип работы CFQ в корне отличается от упомянутых выше.

В данномпланировщике для каждого процесса, отправляющего запросы ввода-вывода, создается15отдельная очередь, куда и складываются запросы от соответствующего процесса. Внутрикаждой очереди запросы объединяются и сортируются. Таким образом, CFQ, как и другиепланировщики, поддерживает свои очереди в упорядоченном состоянии.Далее, CFQ берет из одной из очередей несколько запросов (по умолчанию 4), которыеи отправляет на исполнение. Затем планировщик переходит к следующей очереди. Так онобходит очереди всех процессов по кругу.Преимуществом такого планировщика в том, что можно гарантировать отсутствиебольших задержек для каждого конкретного процесса. Это особенно важно длямультимедийных приложений.Алгоритм подходит для систем, где многим приложениям требуется доступ к диску,как, например, в привычных нам операционных системах.

Стоит отметить, что онпозволяет получить хорошую производительность на разных типах нагрузки.5.Алгоритм BFQВ качестве первого этапа данной работы было решено реализовать для ОС Windowsодин из существующих планировщиков и исследовать его преимущества и недостатки. Входе данной работы для реализации в Windows был выбран алгоритм Budget Fair Queuing(BFQ). Это наилучший честный алгоритм планирования на данный момент, несмотря на всеего недостатки.Алгоритм BFQ относится к классу честных. Он предоставляет гарантии того, чтокаждый процесс получит долю пропускной способности диска, независимо от поведениядругих процессов. Для BFQ доказано, что при его использовании запросы исполняются ненамного позже, чем в идеальной машине, и что каждый процесс получает долю пропускнойспособности диска, равную весу.BFQ разрабатывался как замена CFQ – планировщику Linux по умолчанию нанастоящий момент.

По результатам тестов BFQ показывает более хороший результат начтении файлов, чем CFQ. Скорость чтения с BFQ была выше, чем с CFQ, и отклонениебитрейта от среднего значения не превышало 3% против 28% у CFQ в условияходновременного запуска нескольких процессов, исполняющих дисковую активность. Вчастности, с BFQ вещающий VLC видеосервер смог обслужить 24 параллельных потока безощутимой потери пакетов, против 15 с CFQ [4]. В марте 2014 было объявлено, чторазработчики готовят код для слияния с основной веткой ядра Linux [3].BFQ работает на основе распределения бюджетов. Бюджет – количество байт, которыеможет прочитать или записать процесс за один раз.

Когда у процесса появляются запросы кдиску, BFQ присваивает ему некоторое значение бюджета. BFQ выбирает какой-либо16процесс из списка тех, у кого есть запросы к диску (в дальнейшем будем называть егоактивным процессом). Этот процесс будет исполнять активность в течение следующегопромежутка времени. В соответствии с BFQ, в каждый момент времени работать с дискомможет только один процесс. Если бюджет процесса израсходован или у процесса большенет запросов к диску, процесс прекращает быть активным, и BFQ выбирает следующийактивный процесс.Рассмотрим подробнее, как работает алгоритм BFQ. Первым шагом является выборпроцесса, который будет следующим исполнять свои запросы, т.н.

активного процесса. Дляэтой цели BFQ использует алгоритм Worst-case Fair Weighted Fair Queuing (WF2 Q+) [16][17] [18], , который осуществляет выбор активного процесса на основе его веса и отметоквремени.Алгоритм WF2 Q+опирается на понятие идеальной системы. Алгоритм выбираетследующий активный процесс из тех процессов, запросы которых уже начали быисполняться к этому моменту в идеальной системе, причем выбирает тот процесс, которыйраньше закончил бы свою деятельность в идеальной системе. Для этого в WF2 Q+ введенопонятие виртуального времени. Виртуальное время измеряется в количестве исполненнойна данном диске дисковой активности. Также для каждого процесса считаетсяи– время, когда начнут и закончат исполнение все запросы, находящиеся вочереди запросов данного процесса.ипересчитываются каждыйраз, когда процесс попадает в очередь ожидающих, т.е. когда у него появляются запросы кдиску.равно времени прихода последнего исполненного запроса от этогопроцесса (это помогает избежать проблемы обманчивого бездействия (deceptive idleness), окоторой пойдет речь ниже).

Finish time рассчитывается по формуле, где—вес процесса, а– размер дисковойактивности, которую процессисполнит.Когдапроцесспопадаетвочередьожидающих,считаетсяравнымт.к.бюджету,этомаксимальное количество байт,которыепроцессисполнит,когда WF2 Q+ выберет его вследующий раз. После того, какРисунок 217WF2 Q+ выбрал этот процесс, в случае если процесс израсходовал не весь свой бюджет,корректируется с учетом того, что величинасоставила меньше, чемзначение бюджета.После выбора активного процесса наступает стадия выбора бюджета для активногопроцесса.

Эта и есть стадия, введенная BFQ, и отличающая его от WF2 Q+ в чистом виде. ВBFQ алгоритм выбора бюджета достаточно прост: если запросы в очереди процессакончились до того, как был полностью использован бюджет, то в следующем периодеактивности бюджет процесса будет урезан на величину, равную неиспользованномубюджету. Если же после использования всего бюджета в очереди еще остались запросы, тов следующем периоде активности бюджет будет увеличен на некоторую константу, ноне более чем максимальное значение бюджета.После выбора величины бюджета запросы, помещающиеся в бюджет (т.е. сумма ихразмеров не превышает бюджет), отправляются к диску, и процесс перестает считатьсяактивным.

WF2 Q+ корректирует метки времени, если процесс использовал не весь свойбюджет, и выбирает следующий активный процесс. Запросам предыдущего процесса,которые не поместились в бюджет, придется ждать, пока WF2 Q+ выберет этот процессследующий раз.Сложность алгоритма WF2 Q+, лежащего в основе BFQ, – O(log N) в худшем случае, гдеN – количество процессов, конкурирующих за дисковый ресурс. Сложность операций,осуществляемых BFQ при приходе нового запроса или выборе активного процесса и работес ним, – O(1). Таким образом, сложность BFQ составляет O(log N) в худшем случае.Преимущества BFQ6.АлгоритмBFQпостроентаким образом,чтобыизбежать многих проблем,встречающихся у других планировщиков.6.1.Соблюдение гарантий честностиВ статье [1] утверждается, что для любого интервала времени, в течение которого упроцесса есть запросы к диску, выполнено следующее:(где((()(1)— вес i-го процесса,) – количество байт, прочитанных или записанных на диск за интервал времени) в идеальной машине,(()) – количество байт, прочитанных или записанных на диск за интервал времени) i-м процессом на реальной машине,– максимальный размер бюджета,18– максимальный размер бюджета для i-го процесса,—максимальный размер запроса.Таким образом, первое преимущество BFQ состоит в том, что он гарантирует,записанное или прочитанное количество байт конкретного процесса в реальной машине) отличается от аналогичной величины() в идеальной машине не более,(чем на фиксированную величину, не зависящую от поведения других процессов.

Этосильное утверждение. Учитывая, что другие планировщики не могут дать такие гарантии,можно назвать BFQ наиболее честным из существующих планировщиков.Примечательно также, что BFQ гарантирует, что процесс получит свою долюпропускной способности диска вне зависимости от его бюджета. С одной стороны, процессс большим бюджетом долго исполняет свою дисковую активность, не давая другимпроцессам исполнять свои запросы.

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

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

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