Алгоритм динамического распределения ресурсов в облачной инфраструктуре (1187394)
Текст из файла
Министерство образования и науки Российской ФедерацииФедеральное государственное автономное образовательноеучреждение высшего профессионального образования«Московский физико-технический институт(государственный университет)»Факультет управления и прикладной математикиКафедра теоретической и прикладной информатикиАлгоритм динамического распределения ресурсов воблачной инфраструктуреМагистерская диссертацияНаправление подготовки: 03.04.01 Прикладные математика и физикаВыполнил:студент 176 группыРедько Игорь ГеннадьевичНаучный руководитель:к.т.н.Мелехова Анна ЛеонидовнаМосква 2017ОглавлениеВведение4Облачные вычисления4Преимущества облачных вычислений6Многопроцессорные архитектуры7Системы с равномерным доступом к памятиСистемы с неравномерным доступом к памяти910История возникновения NUMA архитектур12Особенности виртуализации на NUMA архитектурах12Актуальность задачи15Проблема размещения виртуальных машин15Проблема итеративного перераспределения17Существующие алгоритмы балансировки нагрузки18Подходы при балансировке21Существующие алгоритмы балансировки нагрузки21Улучшение размещения виртуальных машин с учётом трафика21Взвешенная рандомизированная миграция ВЦПУ22Демон оптимизации и уменьшения задержек при работе спамятью23Взвешенный циклический алгоритм25Ребалансировка нагрузки методом первого подходящего с весами 272Постановка задачи27Методология эксперимента28Описание стенда28Выбор полезной нагрузки28Описание алгоритма34Результаты37Выводы42Список литературы433ВведениеОблачные вычисленияОблачные вычисления играют важную роль в современной миреинформационных технологий и является одним из самых быстрых иинтенсивно растущих рынков.
Такие крупные компании, например какOracle и Microsoft, инвестируют огромные суммы в развитие даннойтехнологии, а глава Oracle имеет мнение, что 80% бюджетов IT-компанийуйдут в облачные сервисы и технологии. Термин «облачные вычисления»используют как для приложений, которые предоставляются в видесервисов по сети, так и для программно-аппаратных комплексов в датацентрах,которыепредоставляютвышеописанныесервисы.Самиприложения, как правило, относят к модели Software as a Service (SaaS). Иесли в SaaS предоставляются вычислительные ресурсы для приложения(ОЗУ, процессорное время и т.д.), то в более низкоуровневой моделиInfrastructure as a Service (IaaS) в качества ресурса выступают виртуальныеокружения (виртуальные машины или контейнеры, виртуальное сетевоеоборудование).В рамках данной работы будут использоваться определения, данныеНациональным Институтом Стандартов и Технологий [1]:● Облачныеконцепция,вычисления—подразумевающаяинформационно-технологическаяобеспечениеповсеместногоиудобного сетевого доступа по требованию к общему пулуконфигурируемых вычислительных ресурсов (например, сетям4передачиданных,серверам,устройствамхраненияданных,приложениям и сервисам — как вместе, так и по отдельности),которые могут быть оперативно предоставлены и освобождены сминимальными эксплуатационными затратами или обращениями кпровайдеру.Стоит отметить несколько принципов, которые отличают облачныевычисления, которые отмечают в своих работах исследователи изБеркли[2]:● Предоставление«бесконечных»вычислительныхресурсовпотребованию, на случай пиковых нагрузок, тем самым устраняянеобходимость долгосрочного (для пользователя) планированиярезервов.● Отказот авансовых обязательств для облачных пользователей.
Этопозволяет компаниям начать с малого и увеличивать аппаратные ресурсытолько тогда, когда есть увеличение их потребностей.● Возможностьплатить за использование вычислительных ресурсовна краткосрочной основе по мере необходимости (например, почасоваяоплата процессоров или поденная оплата хранилищ) и освобождать их помере необходимости, тем самым поощряя освобождение машин ихранилищ, когда они больше не нужны.5Преимущества облачных вычисленийДля того чтобы понять, как возникла задача балансировки ресурсов,рассмотрим три сценария, в которых облачный подход к вычислениям(utility computing) более предпочтителен, чем традиционный хостинг[2].
Впервом случае востребованность сервиса сильно меняется со временем.Например, при традиционном подходе выделение ресурсов дата-центра,позволяющие справляться с редкими (несколько дней в месяц) пиковыминагрузками, приводит к неэффективному использованию ресурсов. Вкачестве альтернативы облачная модель позволяет организации проводитьпочасовую оплату вычислительных мощностей, что потенциально ведёт кснижению трат, что подтверждено исследователями из УниверситетаСеверной Каролины [15]. Во втором рассматриваемом сценарии неизвестно, какое количество ресурсов будет необходимо.
К примеру, Вебстартап будет нуждаться в технической поддержке ажиотажного спросапри резком росте популярности, но потенциально спрос на сервис можетупасть, и тогда часть ресурсов можно будет освободить[14]. Третийсценарийприменимккомпаниям,занимающимсяресурсоёмкимивычислениями (например, анализом крупных массивов данных), которыемогутвоспользоваться«ассоциативностьюзатрат»дляускоренияобработки данных. Это возможно за счёт использования 1000 виртуальныхмашин в течении часа вместо использования одной машины напротяжении 1000 часов.Таким образом облачные вычисления позволяют заказчикамраспределить затраты на вычислительные ресурсы не равномерно, а всоответствии с реальной необходимостью в этих ресурсах (например,использовав 100 машино-часов сегодня и ни одного завтра, платить только6за 100).Облачныевычислениятакжепозволяютповыситьрезультатконсолидации ресурсов[3].
Для традиционных дата-центров оценкисредней загруженности колеблются между 5% и 20%. Это связано с тем,что пиковые непродолжительные нагрузки могут быть на порядок вышесредней загруженности, и ресурсы, предназначенные для работы припиковых нагрузках, простаивают при обычных сценариях[8]. Так как вводв строй новых вычислительных мощностей при традиционных подходахможет занимать от нескольких дней до нескольких недель (доставкаоборудования, включение его в инфраструктуру, настройка[9]), тоиспользование таких подходов приводит либо к низкой эффективностииспользования ресурсов, либо к отказам системы в критическихсценариях.Благодаряэластичностиоблачныхсистемстановитсявозможно динамически распределять вычислительные мощности междусервисами, тем самым потенциально повысить среднюю эффективностьсерверов.Для того чтобы предоставлять сервис такого рода, поставщикиоблаков должны иметь возможность быстро перераспределять нагрузкумежду физическими серверами.
Для этого уже сейчас используюттехнологии виртуализации и живой миграции виртуальных машин.Многопроцессорные архитектурыПодмногопроцессорнойсистемойбудемпониматьсистему,содержащую несколько процессоров и общую память, видимую для всехпроцессоров. Системы с распределенной памятью не являются предметомданного исследования. Архитектуры многопроцессорных систем можноклассифицироватьпонесколькимпризнакам.7Приведемнаиболеераспространенные классификации.Поналичиюнесколькихтиповпроцессороввсистемемногопроцессорные архитектуры подразделяются на гомогенные игетерогенные.
В гомогенной архитектуре все процессоры одинаковы. Вгетерогенной архитектуре присутствуют процессоры разных типов:например, графические процессоры и процессоры общего назначения.По ролям, которые процессоры играют в многопроцессорнойсистеме,архитектурыделятсянасимметричные(SymmetricMultiProcessing или SMP) и ассиметричные (Asymmetric MultiProcessingилиAMP). В симметричной архитектуре все процессоры играютодинаковую роль и имеют одинаковый доступ к периферийнымустройствам.Васимметричноймногопроцессорнойархитектурепроцессоры играют разные роли и имеют разный доступ к периферийнойаппаратуре: например, система может использовать один из процессоровтолько для выполнения операций ввода-вывода. Соответственно, доступ кустройствам ввода-вывода в такой асимметричной архитектуре будетнужен только одному процессору.И, наконец, по времени доступа к памяти разными процессорами всистеме, многопроцессорные архитектуры подразделяются на системы соднородным доступом к памяти (Uniform Memory Access или UMA) исистемы с неоднородным доступом к памяти (Non-Uniform Memory Accessили NUMA).
В системах с однородным доступом к памяти время запроса кданным из памяти не зависит ни от того, какой именно процессоробращается к памяти, ни от того, где именно в памяти лежат нужныеданные. В системах с неоднородным доступом к памяти время доступа кданным из памяти определяется их расположением по отношению к8процессору. Далее рассмотрим UMA и NUMA архитектуры подробнее.Системы с равномерным доступом к памятиВ UMA системах все процессоры имеют доступ к совместноиспользуемой памяти через общую шину (или другой вид соединения), какпоказано на рисунке 1. Особенность архитектуры UMA состоит в том, чтовсе процессоры используют единый канал доступа к памяти, аследовательно, время доступа одинаково для всех процессоров.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.