Что такое КлаудСим?
Облачные вычисления — одна из самых горячих тем в городе. Он полностью изменил способы разработки и обслуживания современных приложений с высокой масштабируемостью и низкой задержкой.
CloudSim — это платформа с открытым исходным кодом, которая используется для моделирования инфраструктуры и услуг облачных вычислений. Он разработан организацией CLOUDS Lab и полностью написан на Java. Он используется для моделирования и симуляции среды облачных вычислений в качестве средства оценки гипотезы до разработки программного обеспечения, чтобы воспроизвести тесты и результаты.
Например, если вы должны были развернуть приложение или веб-сайт в облаке и хотите протестировать сервисы и нагрузку, с которой может справиться ваш продукт, а также настроить его производительность для преодоления узких мест, прежде чем рисковать развертыванием, то такие оценки можно выполнить, просто написав код. моделирование этой среды с помощью различных гибких и масштабируемых классов, предоставляемых пакетом CloudSim бесплатно.
Преимущества моделирования по сравнению с реальным развертыванием:
Ниже приведены преимущества CloudSim:
- Капитальных вложений не требуется . С инструментом моделирования, таким как CloudSim, нет затрат на установку или обслуживание.
- Простота в использовании и масштабируемость . Вы можете изменить такие требования, как добавление или удаление ресурсов, изменив всего несколько строк кода.
- Риски можно оценить на более ранней стадии . В облачных вычислениях использование реальных испытательных стендов ограничивает эксперименты масштабом испытательного стенда и делает воспроизведение результатов чрезвычайно трудным делом. С помощью симуляции вы можете протестировать свой продукт на тестовых примерах и решить проблемы до фактического развертывания без каких-либо ограничений.
- Нет необходимости в методах проб и ошибок . Вместо того чтобы полагаться на теоретические и неточные оценки, которые могут привести к неэффективной работе службы и получению дохода, вы можете бесплатно протестировать свои службы в воспроизводимой и контролируемой среде с помощью CloudSim.
Зачем использовать CloudSim?
Ниже приведены несколько причин для выбора CloudSim:
- Открытый исходный код и бесплатно , так что это благоприятствует исследователям / разработчикам, работающим в этой области.
- Легко скачать и настроить.
- Он более обобщен и расширяем для поддержки моделирования и экспериментов.
- Не требует высокопроизводительного компьютера для работы.
- Предоставляет предопределенные политики распределения и модели использования для управления ресурсами, а также позволяет реализовать пользовательские алгоритмы.
- Документация предоставляет предварительно закодированные примеры для новых разработчиков, чтобы они могли ознакомиться с основными классами и функциями.
- Устраните узкие места перед развертыванием, чтобы снизить риски, снизить затраты, повысить производительность и увеличить прибыль.
Архитектура CloudSim:
CloudSim Core Simulation Engine предоставляет интерфейсы для управления такими ресурсами, как виртуальные машины, память и пропускная способность виртуализированных центров обработки данных.
Уровень CloudSim управляет созданием и выполнением основных объектов, таких как виртуальные машины, облака, хосты и т. д. Он также обрабатывает выполнение, связанное с сетью, наряду с предоставлением ресурсов, их выполнением и управлением.
Пользовательский код — это слой, контролируемый пользователем. Разработчик может написать требования к спецификациям оборудования на этом уровне в соответствии со сценарием.
Некоторые из наиболее распространенных классов, используемых во время моделирования:
- Центр обработки данных : используется для моделирования основного аппаратного оборудования любой облачной среды, то есть центра обработки данных. Этот класс предоставляет методы для указания функциональных требований центра обработки данных, а также методы для установки политик распределения виртуальных машин и т. д.
- Host : этот класс выполняет действия, связанные с управлением виртуальными машинами. Он также определяет политики выделения памяти и пропускной способности для виртуальных машин, а также выделения ядер ЦП для виртуальных машин.
- VM : этот класс представляет виртуальную машину, предоставляя элементы данных, определяющие пропускную способность виртуальной машины, ОЗУ, количество операций в секунду (миллион операций в секунду), размер, а также предоставляя методы установки и получения для этих параметров.
- Клаудлет : класс облачка представляет собой любую задачу, которая выполняется на виртуальной машине, например, задачу обработки, задачу доступа к памяти, задачу обновления файла и т. д. Он хранит параметры, определяющие характеристики задачи, такие как ее длина, размер, mi (миллион инструкций) и предоставляет методы, аналогичные классу VM, а также предоставляет методы, которые определяют время выполнения задачи, статус, стоимость и историю.
- DatacenterBroker : организация, действующая от имени пользователя/заказчика. Он отвечает за функционирование виртуальных машин, включая создание виртуальных машин, управление, уничтожение и отправку облачных пакетов на виртуальную машину.
- CloudSim : это класс, отвечающий за инициализацию и запуск среды моделирования после того, как все необходимые облачные сущности были определены, а затем за остановку после того, как все сущности были уничтожены.
Возможности CloudSim:
CloudSim обеспечивает поддержку симуляции и моделирования:
- Крупномасштабные виртуализированные центры обработки данных, серверы и хосты.
- Настраиваемые политики для подготовки хоста к виртуальным машинам.
- Энергосберегающие вычислительные ресурсы.
- Контейнеры приложений и федеративные облака (объединение нескольких общедоступных облаков и управление ими).
- Сетевые топологии центров обработки данных и приложения для передачи сообщений.
- Динамическая вставка объектов моделирования с остановкой и возобновлением моделирования.
- Определяемые пользователем политики выделения и предоставления.
Монтаж:
Предпосылки:
- Знание основных функций языка 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/