Что такое кластерные вычисления?
Что такое кластерные вычисления?
Кластерные вычисления – это процесс использования нескольких вычислительных узлов, называемых кластерами, для увеличения вычислительной мощности для решения сложных задач. Сложные сценарии использования, такие как исследования лекарственных препаратов, анализ белков и обучение модели искусственного интеллекта, требуют параллельной обработки миллионов точек данных для сложных задач классификации и прогнозирования. Технология кластерных вычислений координирует работу множества узлов – каждый со своими CPU, GPU и памятью, чтобы они совместно решали одну задачу. Приложения, работающие на кластерной инфраструктуре, функционируют так, будто это один компьютер, не замечая внутренней сложности системы.
Как развивалась технология кластерных вычислений?
Кластерные вычисления были изобретены в 1960-х годах для обеспечения параллельной вычислительной мощности, памяти и хранения данных на нескольких компьютерах. Первые кластеры состояли из персональных компьютеров, рабочих станций и серверов. Каждый компьютер был подключен к локальной сети (LAN), что позволяло пользователям получать доступ к ресурсам так, как если бы они использовали один компьютер.
С годами технологии, обеспечивающие кластерные вычисления, развивались, что привело к появлению более разнообразных вариантов использования, таких как высокопроизводительные вычисления (HPC). Высокопроизводительные вычисления используют несколько соединенных процессоров (а иногда сотни тысяч), чтобы обеспечить масштабную параллельную вычислительную мощность. Организации применяют HPC для поддержки ресурсоемких задач, таких как анализ данных, научные исследования, машинное обучение и визуальная обработка.
Кластерные вычисления в облаке
Раньше настройка вычислительных кластеров требовала ручной установки и конфигурации компьютеров, операционных систем, сетевых возможностей и механизмов распределения ресурсов. Кроме того, локальная инфраструктура создает финансовую нагрузку на организации, ведь масштабирование кластера требует инвестиций в дополнительное серверное оборудование.
Сегодня многие облачные провайдеры предлагают управляемые кластеры высокопроизводительных вычислений (HPC), на которых организации могут легко развертывать свои рабочие нагрузки. Вместо того чтобы настраивать тысячи соединенных компьютеров локально, вы можете получить доступ к неограниченным вычислительным ресурсам в облаке с помощью AWS HPC.
AWS HPC позволяет командам разработчиков создавать инновации и масштабировать ресурсоемкие задачи, используя доступные сервисы кластерных вычислений. Например, Hypersonix использует высокопроизводительные вычисления для проведения скоростных симуляций динамики жидкостей, включающих миллионы ячеек, в облаке AWS.
Каковы варианты использования кластерных вычислений?
Ниже мы расскажем о типичных применениях технологий кластерных вычислений.
Аналитика больших данных
Кластерные вычисления позволяют ускорить анализ данных за счет параллельного распределения аналитических задач между несколькими компьютерами. Например, вы можете выполнять сложные вычисления, такие как Монте-Карло, геномика или анализ настроений, с помощью кластеров облачных вычислений, созданных для поддержки рабочих нагрузок HPC.
Искусственный интеллект и машинное обучение
Приложения искусственного интеллекта (ИИ) и машинного обучения (МО) потребляют огромную вычислительную мощность при обучении и обработке данных. Благодаря специализированной инфраструктуре кластерных вычислений специалисты по обработке данных могут ускорить получение результатов. Например, рабочую нагрузку на ИИ и машинное обучение можно запустить в облачных кластерах искусственного интеллекта на базе AWS Trainium – вычислительного чипа, предназначенного для ускорения исследований искусственного интеллекта.
3D‑рендеринг
Кластерные вычисления обеспечивают кластерный рендеринг – процесс, при котором несколько взаимосвязанных компьютеров синхронизируют изображения или видео на разных экранах. Кластерный рендеринг также можно использовать для поддержки систем автоматизированного проектирования, виртуальной реальности и других приложений, требующих высокой производительности графической обработки.
Моделирование
Организации используют вычислительные кластеры для моделирования возможных результатов на основе данных и принятия бизнес-решений. Несколько компьютеров, подключенных друг к другу, обеспечивают интерактивный рабочий процесс, в котором эксперты-специалисты могут извлекать, анализировать и уточнять результаты базовых моделей. Например, можно провести анализ финансовых рисков, обеспечив базовые рабочие нагрузки машинного обучения ресурсами подключенных компьютеров.
Как работают кластерные вычисления?
Кластерные вычисления объединяют два или более компьютера через сеть, чтобы они работали как единая система. Обычно кластер состоит из вычислительных узлов, ведущего узла, балансировщика нагрузки и механизма контроля состояния. Когда ведущий узел получает запрос, он распределяет задачу между вычислительными узлами. В зависимости от конфигурации кластера каждый узел может выполнять задачу отдельно или параллельно. Ниже мы расскажем о каждом компоненте.
Вычислительные узлы
Это серверы (или облачные инстансы), выполняющие распределенные задачи. Обычно они имеют одинаковые характеристики – процессоры, видеокарты, память, хранилище, операционную систему и другие параметры. Это называется однородной конфигурацией. Иногда используется неоднородная конфигурация, где некоторые узлы отличаются по характеристикам.
Ведущий узел
Это компьютер, который координирует работу всех вычислительных узлов. Он принимает входящие запросы и распределяет задачи между подчиненными узлами. Если ведущий узел выходит из строя, его место занимает другой узел – через процесс выборов, основанный на согласии остальных узлов.
Балансировщик нагрузки
Это сетевое устройство, которое распределяет входящий трафик между вычислительными узлами. Оно отслеживает сетевую активность, использование ресурсов и обмен данными между узлами кластера. Балансировщик предотвращает перегрузку узлов при всплеске запросов. Иногда функции балансировки нагрузки выполняет сам ведущий узел с помощью специализированного программного обеспечения.
Механизм контроля состояния
Он отслеживает работу всех узлов кластера, чтобы убедиться, что они функционируют. Если какой-то узел перестает отвечать, механизм уведомляет ведущий узел, который перераспределяет задачу между рабочими узлами.
Какие существуют виды кластерных вычислений?
Организации могут настраивать вычислительные кластеры под разные промышленные, производственные и операционные цели.
Кластеры балансировки нагрузки
Такие кластеры обеспечивают стабильность, автоматически распределяя ресурсы. При поступлении запроса кластер равномерно распределяет задачи между всеми доступными узлами, предотвращая перегрузку отдельных узлов. Например, интернет-магазины размещают сайты на кластерах балансировки нагрузки, чтобы справляться с сезонными всплесками трафика. Пользователи при этом получают стабильную производительность даже при большом объеме запросов.
Кластеры высокой доступности
Они обеспечивают бесперебойную работу за счет резервных узлов. Если один узел выходит из строя, балансировщик перенаправляет трафик на резервные узлы, сохраняя непрерывность сервиса. Обычно в конфигурацию включают резервный балансировщик, чтобы избежать единой точки отказа. Таким образом, весь кластер может быстро восстановиться в случае сбоя его компонентов.
Кластеры высокой доступности можно настроить двумя способами, представленными ниже.
Конфигурации «active–active»
Все узлы работают независимо от того, поставлена ли перед ними задача или нет. Однако в случае сбоя балансировщик нагрузки перераспределит задачу между исправными узлами.
Конфигурации «active–passive»
Некоторые узлы остаются бездействующими во время нормальной работы. Они активируются только при сбое узла.
Высокопроизводительные кластеры
Такие кластеры объединяют несколько компьютеров или суперкомпьютеров для решения сложных вычислительных задач с высокой скоростью обработки. Они выполняют задачи параллельно, что особенно полезно для ресурсоемких приложений, например анализа больших данных. При этом узлы могут обмениваться данными, работая над общей задачей.
Какова роль кластерных вычислений в работе ИИ?
Задачи ИИ требуют огромных вычислительных ресурсов, значительных объемов хранения данных и сетевых подключений с низкой задержкой. Ранее организации размещали рабочие нагрузки ИИ в локальных центрах обработки данных. Однако по мере усложнения приложений растет потребность в вычислительной мощности и объёме памяти. Кластерные вычисления, адаптированные под задачи ИИ, формируют масштабную сеть суперкомпьютеров, на которых можно запускать такие нагрузки. Вместо обычных процессоров (CPU) используются GPU и TPU, обеспечивающие необходимую вычислительную производительность. Подобные архитектуры, называемые суперкластерами ИИ, позволяют организациям создавать, развертывать и масштабировать системы глубокого обучения, автономные решения, аналитику больших данных и другие приложения искусственного интеллекта.
Как AWS может поддержать ваши требования к кластерным вычислениям?
Сервис параллельных вычислений AWS (AWS PCS) – это управляемый сервис, использующий Slurm для запуска и масштабирования рабочих нагрузок высокопроизводительных вычислений (HPC) на AWS. AWS PCS можно использовать для перечисленных ниже целей.
- Упрощение работы кластера благодаря использованию встроенных возможностей управления и наблюдения.
- Создание вычислительных кластеров, в которых объединяются ресурсы AWS для вычислений, визуализации хранения и передачи данных.
- Выполнение моделирования или создание научных и инженерных моделей.
Интерфейс эластичной матрицы (EFA) – это сетевой интерфейс для вычислительных узлов, работающих на инстансах Amazon EC2. Специализированный интерфейс повышает производительность связи между инстансами, что крайне важно для масштабирования приложений кластерных вычислений.
AWS ParallelCluster – это инструмент управления кластерами с открытым исходным кодом, который упрощает развертывание кластеров Amazon EC2 и управление ими. Для автоматизированного и безопасного моделирования и выделения ресурсов, необходимых для приложений HPC, можно использовать простой графический интерфейс пользователя (GUI) или текстовый файл.
Начните работу с кластерными вычислениями в AWS, создав бесплатную учетную запись уже сегодня.