Моделирование облачных технологий в вычислительных системах

Отличия моделей облачного использования от грид-систем. Повышение загруженности и производительности облачных систем за счет разработки эффективных алгоритмов планирования задач с учетом сетевой конкуренции, топологии системы и многопроцессорности узлов.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 30.01.2018
Размер файла 352,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Оренбургский государственный университет, г. Оренбург

Моделирование облачных технологий в вычислительных системах

Коннов А.Л.

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

Модели облачного использования заметно отличаются [1] от моделей использования предшественника облаков - грид-систем, поскольку они создавались для разных задач и под разную бизнес-модель.

Бизнес-модель, типичную для грид, можно представить следующим образом: предприятия передают свои ресурсы под управление администрации grid, создавая, таким образом, распределенный пул ресурсов. Пользователь получает необходимые ему ресурсы, за которые он расплачивается по мере использования. Архитектура грид ориентирована на интеграцию уже существующих ресурсов, включая оборудование и программное обеспечение. В результате создаются ресурсы, которые могут использоваться только членами какого-то специализированного сообщества.

Архитектура облаков открыта [2] для доступа извне, пулы ресурсов доступны по стандартным протоколам. В зависимости от типа облачной архитектуры (инфраструктура как сервис, платформа как сервис, программы как сервис и т.д.) бизнес-модель будет обладать специфическими параметрами и требованиями.

Самое распространенное использование облаков на данный момент - это платформа как сервис. Это подход очень схож с грид, потому что ресурсы интегрируются в платформу (приложения+ресурсы), которая может неограниченно масштабироваться.

Однако облачный подход стал популярен из-за унификации использования всех ресурсов, что сняло ограничения на типы задач. При использовании облачного сервиса «платформа как приложение» с раздельной моделью доступа (multi-instance) имеется возможность создания математической модели для оптимизации распределения задач по узлам и частям облака. облачный сетевой многопроцессорность

Если на базе группы виртуальных машин разворачивается вычислительный кластер (высокопроизводительные вычисления как сервис), то топологически близкое размещение виртуальных машин, а также использование эффективной маршрутизации, позволит снизить время выполнения коммуникационно-интенсивных параллельных задач, решаемых на данном кластере. Тот же результат будет иметь место (снижение времени вычислений, снижение времени отклика) для прочих вычислительных приложений, выполняющихся на виртуальных машинах [3, 4].

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

Учет многопроцессорности вычислительных узлов при планировании также положительно сказывается на показателях работы системы, т.к. время выполнения коммуникационных операций между процессами параллельной программы, исполняющимися на соседних процессорах (или ядрах) одного узла, гораздо меньше, чем между процессами, исполняющимися на разных узлах. Кроме того, при назначении параллельных программ на свободные вычислительные ядра необходимо учитывать сетевую конкуренцию между процессами одновременно исполняющихся задач. Ее снижение приводит к уменьшению времени выполнения сетевых коммуникаций, а это ведет к росту производительности и загруженности вычислительной системы [5].

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

Модель облачной системы

Задачи, отправляемые пользователями через интерфейс облачной системы, помещаются в глобальную очередь, поддерживаемую центральным облачным диспетчером. Данный диспетчер, реализуя заложенный в него алгоритм планирования, принимает решение о назначении задач на вычислительные кластеры, их конкретные вычислительные узлы (выделяет часть для multi-instance).

Каждый вычислительный кластер не использует локальный планировщик задач, и его вычислительные ресурсы полностью выделены в распоряжение облачного диспетчера. Таким образом, узлы всех отчужденных кластеров образуют единый вычислительный пул (рис 1).

Система состоит из диспетчера и вычислительных кластеров CL1, CL2, …, CLn. i-й кластер имеет вычислительные узлы P1,i, P2,i, …, Pm,i Источник I генерирует поток параллельных задач, отправляемых пользователями в очередь Q диспетчера . Канал S представляет собой планировщик, который в соответствии с заложенным в него алгоритмом осуществляет извлечение задач из очереди Q и назначение их на свободные вычислительные ядра подходящих по конфигурации узлов вычислительных кластеров.

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

Рисунок 1 - Структурная схема симуляции облачных вычислений

Задача описывается параметрами длительности ожидания и выполнения, временем прихода, запуска интенсивности использования ресурсов и требованиями к ресурсам. Также у задачи имеется приоритет и матрица связности с внешними ресурсами. Особенностью облачных задач является возможность миграции задач между узлами и ЦОД, а также бесконечное (в пределах модели) время выполнения.

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

Модель облачной системы состоит из моделей ресурсов (с диспетчером и очередями), узлов, задач и передачи данных. Совокупность моделей должны описывать конкретную последовательность выполняемых действий (конкретный случай использования облака).

Реализация модели облачной системы

В качестве основы реализации был выбран симулятор с дискретных событий NS-3 с открытым исходным кодом [6]. Он довольно сложен в использовании конечными пользователями и подразумевает программирование моделей вручную. Практически нет визуальных инструментов для создания сложных моделей в этой среде, существуют только средства генерации простых топологий и симуляции работы простых приложений. Основа симуляции узла в среде NS-3 - виртуальная машина, в которую интегрируются требуемые модули для работы с сетью, с приложениями. Этот подход открывает широкие возможности по использованию реальных приложений в процессе симуляции. Также возможно использование сегмента реальной сети на каком-либо участке топологии, генерации трафика на основе перехваченных пакетов реальной сети, добавление собственных модулей [7]. Структура базовой модели показана на рис. 2.

Рисунок 2 - Структурная схема симулятора

Преимущество предложенной схемы состоит в генерации топологии и программного кода динамически, в зависимости от исходных данных. Этот подход позволяет автоматизировать серии экспериментов на модели. Модель узла включает в себя собственно виртуальную машину и модули, необходимые для реализации функционала узла. Основным является модуль Application, реализующий те приложения, которые загружают процессоры, память и генерируют трафик сети (и принимают его). Также были выбраны модули, поддерживающие протоколы TCP/IP и BGP/OSPF, сеть CSMA/CD, эмуляцию хоста и простую схему маршрутизации. В случае реализации распределенных вычислений дополнительно используется модуль MPI.

Базовая структура сетевого симулятора должна достаточно точно соответствовать структуре реальных сетей и их элементов. Упростить работу со статистикой работы позволяет использование специальных объектов для сбора данных в процессе моделирования. Для примера рассмотрим сеть с четырьмя вычислительными ресурсами (рис. 3).

Рисунок 3 - Физическая топология исследуемой модели

На этой топологии последовательно или параллельно, в зависимости от модели использования ресурсов, могут выполняться несколько наборов задач (рис. 4). Каждый набор задач содержит свою последовательность запуска приложений, обмена трафиком, доступа к системе хранения данных и т.д. Все задачи в каждом наборе запускаются последовательно.

Рисунок 4 - Модель вычислительных задач

В данной схеме Tn - вычислительная задача, Rn - вычислительный узел, Dn - поток трафика, Wn - набор задач. W1 = ({T1,T2,T3,T4}, {D1,D2,D3,D4}, {R1,R2,R3,R4}), W2 = ({T5,T6,T7,T8}, {D5,D6,D7,D8}, {R1,R2,R3,R4}), W3 = ({T9,T10,T11}, {D9,D10}, {R2,R3,R4}).

Результаты симуляции

Для этого набора задач использованы не реальные задачи, а заданные параметрами времени начала и длительности выполнения [8]. Была использована бизнес-модель с разделением ресурсов по пользователям, узлы одноядерные (одновременно на таком узле выполняется 1 задача). Результат работы модельного планировщика показан на рисунке 5.

Рисунок 5 - Результаты работы планировщика моделирования набора задач

По каждой задаче сразу рассчитывается время ожидания в очереди, время запуска и останова (см. табл. 1).

Таблица 1 - Временные параметры задач модели

Номер задачи

Время начала

Время окончания

Ожидание в очереди

Ресурс

1

0.0s

30,00s

0.00s

Workstation 1

2

31.86s

56,86s

31.86s

Workstation 2

3

34,18s

44,18s

34.18s

Workstation 3

4

67,64s

82,64s

67.64s

Workstation 4

5

30,00s

55,00s

30.00s

Workstation 1

6

56,86s

91,86s

56.86s

Workstation 2

7

57,64s

77,64s

57.64s

Workstation 3

8

93,96s

108,96s

92.96s

Workstation 4

9

0,00s

5,00s

0.00s

Workstation 2

10

6,66s

31,66s

6,66s

Workstation 3

11

32,64s

67,64s

32,64s

Workstation 4

Визуализатор топологии показывает возникающие потоки данных как пары источник (Wn-Dn-TCPn) и приемник (Wn-Dn-TCPn-sink). Даже для довольно простой топологии существует большой набор таких пар (рис. 6).

Поскольку в данном случае задачи простые (не зависящие по производительности от трафика), каждый поток трафика возникает только во время окончания связанной с ним задачи и используется для передачи управления (и, возможно, каких либо сведений) следующей задачи.

Рисунок 6 - Визуализация источников и приемников трафика

Очевидна необходимость разработки планировщика облачной системы, который бы учитывал сетевые ограничения и схемы наборов задач. Он первоначально после распределения задач должен выполнять прогон модели для определения размеров трафика, задержек в каналах передачи и в очередях устройств, влияния на загрузку сетевого оборудования и процента потери пакетов.

Тестирование сегмента сети

Для примера создадим четыре модели с разным распределением задач по узлам и одним набором задач (W1) и проверим производительность сети (усредненную по всем каналам) для каждого варианта модели. Для этого установим в параметрах канала связи между маршрутизаторами задержку 10мс, скорость 10Мбит/с и процент потери пакетов 1% (эмуляция канала Интернет). Каждая задача имеет одинаковый размер данных для загрузки и выгрузки при запуске и остановке, одинаковую интенсивность и зависимость от времени трафика к системе хранения. Как видно из графика (рис. 7) общая загрузка сильно зависит от совпадения загрузки и выгрузки нескольких задач. Превышение в 10 Мбит/с возникает из-за одновременного использования канала Интернет и внутреннего канала при запуске нескольких задач.

Рисунок 7 - Моделирование нагрузки на сеть

В этом случае необходимо оптимизировать распределение задач так, чтобы максимально использовать внутренние каналы связи вместо каналов Интернет. Тестирование данной топологии при полносвязном трафике (каждый с каждым, см. рис. 8) на нагрузочную способность показало зависимость производительности сети от количества одновременных потоков, причем максимальный вклад в падения производительности вносит канал Интернет.

Выводы

Предложена модель облачной системы, учитывающая наличие нескольких вычислительных кластеров с выделенными ресурсами, подключенных к центральному диспетчеру. Данная модель реализована с помощью симулятора дискретных событий NS-3, для которого выбраны модули, поддерживающие протоколы TCP/IP и BGP/OSPF, сеть CSMA/CD, эмуляцию хоста и простую схему маршрутизации. С его помощью проведены симуляции, которые для типичных наборов задач показали необходимость явного учета планировщиком облачной системы сети и передаваемых данных между вычислительными задачами.

Рисунок 8 - Стресс тестирование топологии на производительность

Список литературы

1. Облачные вычисления. Горских А.Г. [Электронный ресурс]: Южно-Уральский Государственный Университет. - Режим доступа: http://dom.susu.ru/DisrtSystems/Slides/SUSU_DistributedSystems_Cloud.pdf.

2. OpenStack Open Source Cloud Computing Software [Электронный ресурс]. - Режим доступа: http://www.openstack.org/.

3. Полежаев П.Н.; Планирование задач для вычислительного кластера с учетом сети и многопроцессорности узлов, Параллельные вычислительные технологии (ПаВТ'2011): труды международной научной конференции (Москва, 28 марта - 1 апреля 2011 г.) [Электронный ресурс], Челябинск: Издательский центр ЮУрГУ, 2011, с. 254-265.

4. M. A. Bender, D. P. Bunde, E. D. Demaine, S. P. Fekete, V. J. Leung, H. Meijer, and C. A. Phillips; “Communication-aware processor allocation for supercomputers: Finding point sets of small average distance”, Algorithmica, vol. 50, no. 2, 2008, pp. 279-298.

5. Improving Simulation Credibility Through Open Source Simulations Tom Henderson University of Washington [Электронный ресурс], The Boeing Company Simutools Conference. - Режим доступа: http://www.tomh.org/talks/simutools08-keynote-final.pdf.

6. Ns2 TCP Simulations with The Network Simulation Cradle. Sam Jansen, Anthony McGregor [Электронный ресурс]: The university of Waikato. Режим доступа: http://www.wand.net.nz/~stj2/nsc/files/nsc-mascots06-slides.pdf.

7. Ns-3 Model Library [Электронный ресурс]. - ns-3 project 2012. Режим доступа: http://www.nsnam.org/docs/models/ns-3-model-library.pdf.

A Comprehensive Grid and Network Simulation Tool for Workflow based Applications Master Thesis in Computer Science, Plattner Rene Distributed & parallel systems group, Institute of computer science, University of Innsbruck, 2007.

Размещено на Allbest.ru


Подобные документы

  • Реализация "облачных" технологий в корпоративных информационных системах. Применение "облачных" технологий на РУП "Белоруснефть". Пуско-наладочные работы, установка и запуск облачного сервиса, начальное конфигурирование и предложения по масштабированию.

    курсовая работа [2,9 M], добавлен 24.07.2014

  • Модели обслуживания облачных технологий (IaaS, PaaS, SaaS). Определение облачных технологий, их основные характеристики, достоинства и недостатки. Функции и возможности облачного решения Kaspersky Endpoint Security Cloud от "Лаборатории Касперского".

    курсовая работа [626,7 K], добавлен 29.06.2017

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

    контрольная работа [736,9 K], добавлен 06.01.2013

  • История возникновения облачных технологий. Суть и задачи облачных технологий, их классификация, достоинства и недостатки. Исследование применения облачных технологий на примере Google диск. Сравнение Google диск с аналогом компании Apple(iCloud).

    курсовая работа [573,1 K], добавлен 05.12.2016

  • История и факторы развития облачных вычислений. Роль виртуализации в развитии облачных технологий. Модели обслуживания и принципы работы облачных сервисов. Преимущества облака для Интернет-стартапов. Применение технологии облачных вычислений в бизнесе.

    реферат [56,6 K], добавлен 18.03.2015

  • Эволюция облачных сервисов. Характеристики и классификация облачных сервисов. Анализ возможностей облачных сервисов, предлагаемых для использования в малом бизнесе. Анализ стоимости владения локальным решением по автоматизации деятельности бухгалтерии.

    курсовая работа [2,7 M], добавлен 10.05.2015

  • Создание и уровни реализации облачных вычислений. Достоинства и недостатки использования облачных технологий в организации единого информационного пространства. Оценка важности критериев методом "Попарного сравнения", "Тепловых карт", "Экспертных оценок".

    дипломная работа [1,3 M], добавлен 08.04.2014

  • Анализ структуры и содержания плана маркетинга компании. Рынок облачных вычислений и возможность их применения. Отбор источников информации и представление полученных результатов. Разработка программной инструментальной оболочки облачных вычислений.

    дипломная работа [149,8 K], добавлен 12.11.2013

  • Анализ облачных сервисов для автоматизации бизнеса и обоснование преимуществ перехода на облачную обработку данных. Виды и модели облачных сервисов для бизнеса, принципы их работы и характеристики. Задачи автоматизации бизнеса на примере облачных решений.

    дипломная работа [2,3 M], добавлен 06.09.2017

  • Анализ методов решения разреженных недоопределенных систем линейных алгебраических уравнений с помощью эффективных алгоритмов, основанных на декомпозиции линейных систем и учете их сетевых свойств. Использование встроенных методов пакета Mathematica.

    курсовая работа [4,2 M], добавлен 22.05.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.