27 октября AWS добавила в Amazon ECS совместное использование GPU через NVIDIA Multi-Process Service (MPS).
Зачем
Многие GPU-нагрузки используют лишь часть ускорителя: инференс небольших моделей, генерация эмбеддингов, сервинг нескольких моделей. Раньше каждая такая задача ECS занимала GPU целиком. Теперь несколько задач работают на одной GPU одновременно, а ECS сама размещает их туда, где есть свободная ёмкость, при масштабировании и деплоях. Менять код приложений не нужно.
Как включить
- Создать capacity provider с инстансами на GPU NVIDIA.
- В определении контейнера в task definition указать стратегию совместного использования GPU и нужный объём GPU-памяти.
- Опционально задать максимальную долю вычислительных ресурсов GPU.
- Создать сервис на этом capacity provider.
Поддерживаются ECS Managed Instances и ECS на EC2; Fargate в анонсе не упоминается. На Managed Instances ECS следит за демоном MPS и, если он падает, заменяет инстанс и переносит задачи. Доступно во всех коммерческих регионах и GovCloud (US); настройка — через консоль, CLI, SDK и CloudFormation.
Учтите, что MPS не даёт такой же изоляции, как отдельные GPU или MIG: задачи разных команд или арендаторов на одной карте лучше не смешивать.
Aurora Serverless: 384 ACU
В тот же день AWS подняла максимальную ёмкость Aurora PostgreSQL Serverless с 256 до 384 ACU — при сохранении масштабирования до нуля в простое. Это позволяет держать на serverless более крупные нагрузки, не переходя на provisioned-инстансы.
On October 27 AWS added GPU sharing to Amazon ECS via NVIDIA Multi-Process Service (MPS).
Why
Many GPU workloads use only part of an accelerator: small-model inference, embedding generation, multi-model serving. Until now each such ECS task took a whole GPU. Now several tasks run on one GPU at once, and ECS places them where capacity is available as services scale and deploy. No application code changes are required.
How to enable it
- Create a capacity provider with NVIDIA GPU instances.
- In the container definition of your task definition, set the GPU sharing strategy and the GPU memory the container needs.
- Optionally set a maximum share of GPU compute.
- Create a service on that capacity provider.
Supported launch options are ECS Managed Instances and ECS on EC2; Fargate is not mentioned. On Managed Instances, ECS monitors the MPS daemon and, if it fails, replaces the instance and moves the tasks. It is available in all commercial Regions and GovCloud (US), configurable through the console, CLI, SDKs and CloudFormation.
Keep in mind that MPS does not give the same isolation as dedicated GPUs or MIG, so avoid mixing tasks from different teams or tenants on one card.
Aurora Serverless: 384 ACUs
The same day AWS raised the maximum capacity of Aurora PostgreSQL Serverless from 256 to 384 ACUs, while keeping scale-to-zero when idle. That lets larger workloads stay on serverless without moving to provisioned instances.