Что такое пакетная служба Azure?

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

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

За использование пакетной службы дополнительная плата не взимается. Вы платите только за использованные базовые ресурсы, такие как виртуальные машины, хранилище и сетевые ресурсы.

Для сравнения решений пакетной службы с другими решениями HPC в Azure см. статью High Performance Computing (HPC) on Azure (Высокопроизводительные вычисления (HPC) в Microsoft Azure).

Параллельное выполнение рабочих нагрузок

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

Некоторые примеры параллельных рабочих нагрузок, которые можно использовать в пакетной службе:

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

Кроме того, пакетную службу можно использовать для выполнения тесно связанных рабочих нагрузок, в которых приложениям необходимо обмениваться данными между собой, а не работать независимо. Тесно связанные приложения обычно используют API интерфейса передачи сообщений. Вы можете запускать тесно связанные рабочие нагрузки с пакетной службой, используя Microsoft MPI или Intel MPI. Повысьте производительность приложений с использованием специализированных размеров виртуальных машин, оптимизированных для HPC и GPU.

Некоторые примеры тесно связанных рабочих нагрузок:

  • анализ конечного элемента;
  • гидродинамика;
  • обучение искусственного интеллекта с несколькими узлами.

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

Дополнительные возможности пакета

Пакетная служба поддерживает крупномасштабные рабочие нагрузки рендеринга с использованием средств отрисовки, которые включают Autodesk Maya, 3ds Max, Arnold и V-Ray.

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

Принцип работы

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

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

Схема шагов для решения пакетной службы.

Шаг Описание
1. Передайте входные файлы и приложения для обработки этих файлов в учетную запись службы хранилища Azure. Входными файлами могут быть любые данные, которые будет обрабатывать приложение, например данные финансового моделирования или видеофайлы, которые необходимо перекодировать. Файлы приложения могут включать скрипты или приложения, которые обрабатывают данные, такие как транскодер мультимедиа.
2. Создайте пул вычислительных узлов пакетной службы в своей учетной записи пакетной службы, задание для выполнения рабочей нагрузки в пуле и задачи в задании. Вычислительные узлы — это виртуальные машины, выполняющие задачи. Укажите свойства пула, такие как номер и количество узлов, образ виртуальной машины Windows или Linux и приложение для установки, если узлы присоединяются к пулу. Управляйте затратами и размером пула, используя точечные виртуальные машины Azure или автоматическое масштабирование количества узлов при изменении рабочей нагрузки.

При добавлении задач в задание пакетная служба автоматически планирует их выполнение в вычислительных узлах пула. Каждая задача использует приложение, переданное для обработки входных файлов.
3. Скачайте входные файлы и приложения для пакетной службы. Перед выполнением каждой задачи входные данные, которые нужно обработать, могут быть скачаны в назначенный задаче узел. Если приложение еще не установлено в пуле узлов, оно будет скачано на данном этапе. При завершении скачивания из службы хранилища Azure задача выполняется в назначенном узле.
4. Отслеживайте выполнение задач. При выполнении задач можно отправить запрос к пакетной службе, чтобы отслеживать ход выполнения задания и задач. Ваше клиентское приложение или служба взаимодействует с пакетной службой через протокол HTTPS. Если вам нужно отслеживать тысячи задач, которые выполняются на тысячах вычислительных узлов, целесообразно отправлять в пакетную службу эффективные запросы.
5. Отправьте выходные данные задачи. Выполненные задачи отправляют выходные данные в службу хранилища Azure. Вы также можете извлечь файлы непосредственно из файловой системы в вычислительном узле.
6. Скачайте выходные файлы. Если при мониторинге обнаруживается, что задачи в задании выполнены, выходные данные могут быть скачаны для дальнейшей обработки через клиентское приложение или службу.

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

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

Место расположения данных в регионе

Пакетная служба Azure не перемещает и не хранит данные клиентов за пределами региона, в котором она развернута.

Дальнейшие действия

Приступая к работе с пакетной службой Azure, ознакомьтесь с одним из наших кратких руководств: