Что такое КлаудСим?

Опубликовано: 8 Сентября, 2022

Облачные вычисления — одна из самых горячих тем в городе. Он полностью изменил способы разработки и обслуживания современных приложений с высокой масштабируемостью и низкой задержкой.

CloudSim — это платформа с открытым исходным кодом, которая используется для моделирования инфраструктуры и услуг облачных вычислений. Он разработан организацией CLOUDS Lab и полностью написан на Java. Он используется для моделирования и симуляции среды облачных вычислений в качестве средства оценки гипотезы до разработки программного обеспечения, чтобы воспроизвести тесты и результаты.

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

Преимущества моделирования по сравнению с реальным развертыванием:

Ниже приведены преимущества CloudSim:

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

Зачем использовать CloudSim?

Ниже приведены несколько причин для выбора CloudSim:

  • Открытый исходный код и бесплатно , так что это благоприятствует исследователям / разработчикам, работающим в этой области.
  • Легко скачать и настроить.
  • Он более обобщен и расширяем для поддержки моделирования и экспериментов.
  • Не требует высокопроизводительного компьютера для работы.
  • Предоставляет предопределенные политики распределения и модели использования для управления ресурсами, а также позволяет реализовать пользовательские алгоритмы.
  • Документация предоставляет предварительно закодированные примеры для новых разработчиков, чтобы они могли ознакомиться с основными классами и функциями.
  • Устраните узкие места перед развертыванием, чтобы снизить риски, снизить затраты, повысить производительность и увеличить прибыль.

Архитектура CloudSim:

CloudSim Core Simulation Engine предоставляет интерфейсы для управления такими ресурсами, как виртуальные машины, память и пропускная способность виртуализированных центров обработки данных.

Уровень CloudSim управляет созданием и выполнением основных объектов, таких как виртуальные машины, облака, хосты и т. д. Он также обрабатывает выполнение, связанное с сетью, наряду с предоставлением ресурсов, их выполнением и управлением.

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

Некоторые из наиболее распространенных классов, используемых во время моделирования:

  • Центр обработки данных : используется для моделирования основного аппаратного оборудования любой облачной среды, то есть центра обработки данных. Этот класс предоставляет методы для указания функциональных требований центра обработки данных, а также методы для установки политик распределения виртуальных машин и т. д.
  • Host : этот класс выполняет действия, связанные с управлением виртуальными машинами. Он также определяет политики выделения памяти и пропускной способности для виртуальных машин, а также выделения ядер ЦП для виртуальных машин.
  • VM : этот класс представляет виртуальную машину, предоставляя элементы данных, определяющие пропускную способность виртуальной машины, ОЗУ, количество операций в секунду (миллион операций в секунду), размер, а также предоставляя методы установки и получения для этих параметров.
  • Клаудлет : класс облачка представляет собой любую задачу, которая выполняется на виртуальной машине, например, задачу обработки, задачу доступа к памяти, задачу обновления файла и т. д. Он хранит параметры, определяющие характеристики задачи, такие как ее длина, размер, mi (миллион инструкций) и предоставляет методы, аналогичные классу VM, а также предоставляет методы, которые определяют время выполнения задачи, статус, стоимость и историю.
  • DatacenterBroker : организация, действующая от имени пользователя/заказчика. Он отвечает за функционирование виртуальных машин, включая создание виртуальных машин, управление, уничтожение и отправку облачных пакетов на виртуальную машину.
  • CloudSim : это класс, отвечающий за инициализацию и запуск среды моделирования после того, как все необходимые облачные сущности были определены, а затем за остановку после того, как все сущности были уничтожены.

Возможности CloudSim:

CloudSim обеспечивает поддержку симуляции и моделирования:

  1. Крупномасштабные виртуализированные центры обработки данных, серверы и хосты.
  2. Настраиваемые политики для подготовки хоста к виртуальным машинам.
  3. Энергосберегающие вычислительные ресурсы.
  4. Контейнеры приложений и федеративные облака (объединение нескольких общедоступных облаков и управление ими).
  5. Сетевые топологии центров обработки данных и приложения для передачи сообщений.
  6. Динамическая вставка объектов моделирования с остановкой и возобновлением моделирования.
  7. Определяемые пользователем политики выделения и предоставления.

Монтаж:

Предпосылки:

  • Знание основных функций языка Java, таких как ООП и коллекции.
  • Основы облачных вычислений.
  • CloudSim доступен для скачивания здесь.
  • Для этого урока мы загрузили zip-файл CloudSim 3.0.3.

Примечание. CloudSim также использует некоторые утилиты библиотеки Apache commons-math3. Загрузите ZIP-файл Binaries отсюда.

Шаг 1: Из папки zip извлекает cloudsim-3.0.3 в папку. Кроме того, извлеките банку commons-math3-3.6.1 в ту же папку.

Шаг 2: Откройте Eclipse IDE и выберите «Файл» -> «Создать» -> «Проект Java».

Шаг 3: Введите любое имя для вашего проекта, а затем снимите флажок « Использовать расположение по умолчанию » прямо под ним и нажмите « Обзор ».

Перейдите в папку, в которую вы распаковали файлы, и выберите папку cloudsim-3.0.3 .

Пока не нажимайте Finish , потому что нам нужно добавить jar-файл в наш проект.

Шаг 4 Нажмите «Далее» и перейдите к Библиотеки -> Добавить внешние JAR . Теперь перейдите в ту же папку, в которую вы распаковали jar-файл commons-math3 , и откройте его.

Шаг 5 Наконец, нажмите « Готово » и дождитесь сборки проекта. После того, как проект будет построен, в Project Explorer вы можете щелкнуть свой проект и в раскрывающемся списке перейти к примерам -> org.cloudbus.cloudsim.examples , где вы можете найти предварительно написанные образцы кода и попытаться их запустить.

Сфера

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

CloudSim использовался в нескольких областях исследований, таких как:

  • Планирование задач
  • Зеленые вычисления
  • Предоставление ресурсов
  • Безопасная криминалистика журналов.

Использованная литература:

  • http://www.cloudbus.org/cloudsim/