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

Рассматриваемые темы
  • Установка программного обеспечения и приложений
  • Как выбрать нужный тип инстанса EC2 для рабочей нагрузки HPC
  • Функция Auto Scaling и управление ею

Программные приложения можно устанавливать, войдя на главный узел через SSH. Платформа CfnCluster предлагает разнообразные пакеты программного обеспечения с поддержкой приложений для HPC, в том числе openMPI, языки и компиляторы. Существует множество способов установки приложений, которые зависят от характеристик приложения и предпочтений администратора. Обычно их можно установить под /efs/apps или /shared folders, встроенные как участки NFS во всех узлах.

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


AWS предлагает широкий ассортимент типов, генераций и масштабирований семейства инстансов EC2 для разных типов рабочей нагрузки. Цена рассчитывается по требованию и может составлять от нескольких центов до нескольких долларов США в час.

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

Семейства классифицируются по типу процессора, объему памяти и хранилища, а также доступному сетевому подключению. Для рабочих нагрузок HPC чаще всего рекомендуется выбирать инстансы семейства C или Compute. Типы инстанса в рамках семейства обычно имеют сопоставимый объем памяти и коэффициент vCPU. vCPU означает гиперпотоковый процессор. Как правило, два гиперпотоковых ядра по производительности соответствуют одному физическому ядру. В рамках одного семейства может быть несколько поколений. Например, семейство инстансов С включает инстансы C3 и C4. Цифра в названии обозначает поколение типа инстанса.

Инстанс c4.8xlarge (haswell) очень популярен для параллельных приложений для HPC. Он имеет примерно 60 ГиБ памяти и 18 ядер. Каждое семейство представлено в нескольких размерах. Например, c4.4xlarge – вычислительный инстанс половинного размера от c4.8xlarge. Почасовая оплата также примерно вполовину меньше.

Инстанс может быть в любое время остановлен и заменен другим типом инстанса. Благодаря этому легко подобрать оптимальный тип инстанса для рабочих нагрузок HPC.

Другие популярные типы инстансов для рабочих нагрузок HPC приведены в схеме ниже.

Тип инстанса

vCPU

Память

(ГиБ)

Хранилище

(ГБ)

Сетевая производительность

Физический процессор

Тактовая частота (ГГц)

EBS

Вариант

c4.8xlarge

36

60

Только EBS

10 гигабит

Intel Xeon E5‑2666 v3

2,9

Да

c3.8xlarge

32

60

2 x 320 SSD

10 гигабит

Intel Xeon E5-2680 v2

2,8

Нет

m4.10xlarge

40

160

Только EBS

10 гигабит

Intel Xeon E5‑2676 v3

2,4

Да

m4.16xlarge

64

256

Только EBS

20 гигабит

Intel Xeon E5‑2686 v4

2,3

Да

p2.16xlarge

64

732

Только EBS

20 гигабит

Intel Xeon E5‑2686 v4

2,3

Да

x1.32xlarge

128

1952

2 x 1920 SSD

20 гигабит

Intel Xeon E7‑8880 v3

2,3

Да

r3.8xlarge

32

244

2 x 320 SSD

10 гигабит

Intel Xeon E5-2670 v2

2,5

Нет

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

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

Попробуйте эту функцию в стеке DefaultCluster, следуя приведенной ниже инструкции.

  • Инструкция. Изменение типа инстанса текущего кластера

    1. Нажмите здесь и откройте консоль CloudFormation.
    2. Щелкните правой кнопкой мыши EnginFrame-DefaultCluster-##yourValues##. Выберите «Обновить стек».
    3. Выберите Использовать текущий шаблон и нажмите Далее.
      • Примечание. После выбора текущего шаблона с помощью мастера CloudFormation вы сможете изменить большее число параметров по сравнению с основным стеком и получите доступ к универсальности CfnCluster.
    4. Внесите перечисленные ниже изменения в конфигурацию.
      • compute_instance_type: выберите подходящий тип инстанса, чтобы обновить вычислительные узлы.
      • cluster_type: измените выбор на спот. Далее укажите приемлемую для вас сумму spot_price, которую вы готовы предложить, исходя из текущей рыночной цены.
    5. Нажмите Далее.
    6. Выполните последующие предлагаемые мастером действия, задействовав предварительный просмотр, затем подтвердите изменения и обновите стек, нажав кнопку «Обновить». В зависимости от объема внесенных изменений обновление может занять несколько минут.

Функция Auto Scaling позволяет поддерживать доступность приложений на неизменно высоком уровне и автоматически масштабировать ресурсы Amazon EC2 как в сторону увеличения, так и в сторону уменьшения, в зависимости от заданных вами условий. Функция Auto Scaling также позволяет контролировать запуск необходимого количества инстансов Amazon EC2. 

Размер кластера в этой лаборатории постоянно отслеживается и меняется функцией EC2 Auto Scaling. Если известен оптимальный размер кластера для рабочей нагрузки (например, многоузловое MPI-задание), вместо постепенного увеличения кластера может оказаться быстрее и эффективнее заранее обеспечить нужное количество узлов.

Вы можете задать размер кластера для функции Auto Scaling, следуя приведенной ниже инструкции.

  • Инструкция. Изменение параметров кластера с помощью функции Auto Scaling

    1. Откройте консоль Amazon EC2 Auto Scaling Group, нажав здесь.
    2. Вы увидите, что кластер по умолчанию создал одну группу Auto Scaling для вычислительных ресурсов. Консоль предоставляет информацию о текущем, минимально и максимально допустимом, а также необходимом количестве инстансов в группе. 
    3. Необходимое количество инстансов автоматически вычисляется в соответствии с Правилами масштабирования, применяемыми для кластера, однако его можно изменить вручную. Чтобы изменить требуемый размер или другие параметры функции Auto Scaling, щелкните правой кнопкой мыши группу Auto Scaling и выберите Редактировать.
    4. На панели внизу произойдет обновление данных Auto Scaling. Вы также можете изменить количество балансировщиков нагрузки, необходимое количество инстансов, минимально и максимально допустимое количество инстансов и т. п. По завершении настройки нажмите кнопку Сохранить.
      • Примечание. Если текущее количество инстансов отличается от необходимого, CloudFormation создаст или удалит инстансы для приведения данных параметров в соответствие.

    (Нажмите, чтобы увеличить изображение.)