Главная » Просмотр файлов » Разработка модели среды распределенных вычислений Evergrid для сравнения алгоритмов управления потоками задач и данных

Разработка модели среды распределенных вычислений Evergrid для сравнения алгоритмов управления потоками задач и данных (1187422), страница 5

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

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

Если взять во внимание тот факт, что подобных приложений на go найдено небыло, то преимущества таковы:∙ возможность использовать один код планировщика как для симуляции, так идля реального окружения - это дает дополнительные гарантии корректностиего реализации∙ удобная возможность записи реальных сценариев работы и последующей симу­ляции их с различными вариантами планировщиков∙ go - простой в использовании язык и имеет встроенную модель параллелизмаCSP, это облегчает разработку и модификацию кода симуляции∙ go - быстрый язык, скорость его работы сравнима с C/C++∙ в go встроен автоматический детектор состояний гонки∙ go популярен для микросервисов, но на данный момент нет ни одного симуля­тора для goСледует понимать, что использование или модификация готового решения долж­ны предоставлять преимущества, перевешивающие этот список.4.1.

NetLogoNetLogo[2] - очень известное решение для моделирования и исследования ра­боты многоагентных систем. Его преимущество состоит в развитых инструментахвизуализации.Но для решения конкретной задачи NetLogo подходит плохо, т. к.:∙ NetLogo использует свой язык программирования. Это язык узкого назначенияи писать на нем менее удобно, чем на популярных языках общего назначения27∙ мы симулируем не только scheduler, но и прочие компоненты системы. Намважно, чтобы модель общения между ними была приближена к реальной. Этодает возможности для поиска состояний гонки в рамках архитектуры в целом.Реализация честного общения всех компонентов довольно сложна на NetLogoи потенциально сложнее написания своей реализации на go.∙ у него низкая скорость работы4.2.

Узкоспециализированные симуляторы: SimGrid, GridSim,ALEA 2Среди более узкоспециализированных решений было найдено три кандидата:SimGrid[3], GridSim[4] и ALEA 2[5].Эти продукты реализованы на Java (GridSim, ALEA 2) и C (SimGrid). У всехтрех есть один критический недостаток: без модификации исходного кода невозмож­но реализовать поставленную задачу - архитектура проекта слишком специфична.А сама задача их модификации получается сложнее, чем написание своего решения.Также усложняется и сопровождение получившегося симулятора - вносить правкитяжелее по двум причинами: Java и C менее удобны чем go, больший шанс неожидан­ных ошибок в виду возможных конфликтов с изначальной архитектурой симулятора.Еще одна особенность всех трех симуляторов - они сверхсконцентрированы наанализе планировщика, в то время как одной из наших задач является и анализархитектуры в целом.Также есть проблемы специфичные для каждого из решений:4.2.1. GridSimДата последнего обновления - 2010й год.

Видимо, проект более не поддержива­ется, и при возникновении незадокументированных проблем трудно будет связатьсяс его разработчиком.Также при использовании GridSim будет проблематично симулировать "дина­мическое"окружение - разрывы сети, меняющийся список воркеров и прочее.Итого: суммарная сложность модификации и поддержки решения на GridSimпотенциально выше сложности написания и поддержки своей реализации на go.

Приэтом мы еще жертвуем вышеописанными преимуществами своей реализации.284.2.2. ALEA 2ALEA 2 является модификацией GridSim, и ее использование сопряжено с темиже проблемами. В отличие от GridSim, она еще поддерживается разработчиками.4.2.3. SimGridНаиболее активно поддерживаемый продукт, но более узкоспециализирован, чемдва других. Количество модификаций, которые необходимо будет внести, существен­но больше - что усложняет его адаптацию.К тому же, из соображений скорости он написан на С, а модифицировать кодна С обычно сложнее, чем модифицировать код на Java.29Глава 5Реализованная в симуляторе модельВ этой главе описана реализованная в симуляторе модель. Это даст представле­ние о том, как проходит процесс симуляции и какова степень подробности и точностисимулятора.5.1.

Многоагентное окружение с дискретным временемОснову симулятора представляет из себя многоагентая среда. Она состоит изагентов и ядра, которые общаются друг с другом посредством сообщений.Ядро системы обеспечивает синхронизацию работы агентов и управляет време­нем. Симуляция не является непрерывной и разбита на дискретные единицы времени(ticks). Каждый tick соответствует одной минуте. Подобный выбор масштаба обу­славливается тем, что предполагается достаточная скорость работы планировщика,чтобы успеть обработать запросы пришедшие в рамках одного tick’а за минуту.

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

Син­хронизация означает, что невозможно пройти по данному ребру, пока все агенты небудут готовы.Описание состояний:Done Означает, что предыдущий тик завершен успешно. Является исходным состо­янием агента.Ready Означает, что агент готов начать работу в рамках нового тика.Working Означает, что агент в данный момент совершает работу.Idle Означает, что агент в данный момент бездействует и выполнил всю делегиро­ванную ему на данный момент работу.Описание синхронизаций:30Рис. 5.1.

Цикл работы агентаStart Work Дает гарантию, что перед началом работы все агенты достигли состоя­ния ReadyFinish Work Дает гарантию, что перед завершением тика все агенты находятся всостоянии Idle.Важным аспектом является то, что признак завершения тика - это статус Idleу всех агентов системы. Это нужно помнить и не позволять системе попадать в этосостояние, когда не вся работа сделана.В состоянии Idle агент ждет одного из двух событий: новое сообщение от другогоагента либо сигнал Finish Work.

В последнем случае состояние меняется на Done. Этасмена состояния единственная не контролируется агентом напрямую.Помимо основного статуса каждый агент имеет булев маркер stopFlag. Если онравен true, значит агент не запланировал никакой работы на будущие тики, и, еслисимуляция завершится сейчас, то это будет корректный исход.Соответственно, симуляция завершается, когда у всех агентов stopFlag маркерравен true.5.2. Сетевое окружениеВ терминах описанной многоагентной среды симуляция сетевого окружения яв­ляется заботой самих агентов.

Причем это несложно реализуется: если агент знает31свое место и места прочих агентов внутри сети, то он сам может накладывать огра­ничения на общения с этими агентами. То есть симуляция сети сводится к предостав­лению конкретным агентам информации о конфигурации сети.Структура сети в текущей версии симулятора представляет из себя набор изсегментов.

Каждый сегмент содержит несколько машин. К одной машине могут бытьпривязаны один и более агентов.Скорость передачи данных внутри сегмента и между сегментами может бытьразличной и является частью его описания.5.3. Параллелизм и коммуникацияАгенты должны исполняться параллельно друг другу и ядру. Конечно, они мо­гут блокировать друг друга - это соответствует ситуации, когда сервис не можетответить на новый запрос, пока не завершена обработка предыдущего.

Но в рамкахнезависимых участков кода мы получаем прирост производительности симуляцииблагодаря параллелизму. А в виду недетерминированного порядка выполнения этихучастков - можем заметить состояния гонки вызванные недостаточно качественнойпроработкой архитектуры.5.4. Изоляция агентовВ большинстве случаев агенты должны быть изолированы друг от друга. Этоозначает, что весь обмен информацией между ними должен происходить посредствомсообщений.В порядке исключения, конечно, можно использовать разделяемую память имьютексы. Например, это годится для тех случаев, когда мы симулируем распреде­ленное хранилище, а его конкретная реализация и возможность сбоев выходят зарамки эксперимента.5.5.

Генерация сценариевГенерация сценариев, которые воспроизводятся в симуляции, должна происхо­дить отдельно. Это позволит сравнивать поведение планировщиков и архитектурыв максимально приближенных условиях. Следовательно, симулятор должен предо­ставлять два инструмента: для генерации сценариев и для запуска симуляции.32Сценарий состоит из трех частей: конфигурация сети, описание датасетов иконтейнеров, последовательность запросов в систему.Сгенерированный сценарий представляет из себя набор YAML-файлов (выше­указанные части лежат каждая в своем файле).

При желании вместо генерацииможно составить сценарий вручную или вносить правки в уже сгенерированный.5.6. Сбор статистикиНужно предоставить максимальную свободу в обработке данных. Это приво­дит к тому, что правильно сделать результатом работы симулятора логи, причем вудобном формате. В логи надо писать, что и когда произошло, а с помощью любоговнешнего инструмента можно на основе логов выстроить произвольные метрики.В данной работе в качестве формата логов был выбран JSON в виду хорошегобаланса простоты и гибкости.5.7.

Детали реализации компонентов системыТеперь подробнее рассмотрим принципы реализации конкретных компонентовархитектуры. Всего есть три типа агентов: Core, Control Unit, Worker5.7.1. CoreДанный агент при инициализации получает список запросов. Каждому запро­су из списка соответсвует порядковый номер тика, когда он должен быть послан всистему. Каждый отдельный запрос посылается случайному Control Unit’у.5.7.2. Control UnitК каждому Control Unit’у привязана группа Worker’ов.

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

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

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