Облачная платформаEvolution

Подключить и использовать Shared-cluster очередь


Подсказка

Функциональность очереди Shared-cluster находится в стадии разработки и предоставляется в ограниченном режиме.

Очередь Shared-cluster предназначена для повышения утилизации и имеет наименьший приоритет среди всех очередей. В Shared-cluster можно запускать только задачи обучения, запуск Jupyter Server недоступен.

Shared-cluster не является очередью конкретной аллокации — задачи, запущенные в очереди, могут использовать свободные ресурсы одновременно из нескольких аллокаций, подключенных к ней. При этом ресурсы из разных аллокаций могут использоваться одной задачей только при совместимой конфигурации и в рамках одного региона.

Подключить аллокацию к очереди Shared-cluster

Примечание

Для подключения аллокации к очереди Shared-cluster владельцу аллокации необходимо обратиться в техническую поддержку.

По умолчанию доступ воркспейсов аллокации к очереди закрыт. После подключения аллокации к Shared-cluster администратору воркспейса необходимо привязать воркспейс к очереди Shared-cluster.

Привязать воркспейс к очереди Shared-cluster

Если воркспейс привязан к очереди Shared-cluster:

  • он может запускать задачи обучения, используя ресурсы очереди Shared-cluster;

  • все неутилизированные ресурсы аллокаций, подключенных к Shared-cluster, могут использоваться задачами других воркспейсов, привязанных к этой очереди.

Примечание

Привязать воркспейс к очереди Shared-cluster может только администратор воркспейса.

Используйте метод POST /public/v2/shared-cluster-queues/assign для привязки воркспейса к очереди Shared-cluster.

Пример запроса:

curl -X POST "https://api.ai.cloud.ru/public/v2/shared-cluster-queues/assign" \
-H "authorization: <access_token>" \
-H "X-Api-Key: <api_key>" \
-H "X-Workspace-Id: <workspace_id>" \
-H "Content-Type: application/json" \
-d '{
"region_key": "SR008",
"org_structure": {
"id": "43ca5087-f15d-4a59-ba80-e5de7ff3d31d",
"type": "workspace"
}
}'

Где:

Запустить задачу обучения в очереди Shared-cluster

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

Для запуска задачи используйте метод POST /public/v2/jobs с указанием параметра queue_name: shared-cluster, без указания allocation_name.

Пример запроса:

curl -X POST "https://api.ai.cloud.ru/public/v2/jobs" \
-H "authorization: <access_token>" \
-H "X-Api-Key: <api_key>" \
-H "X-Workspace-Id: <workspace_id>" \
-H "Content-Type: application/json" \
-d '{
"base_image": "cr.ai.cloud.ru/aicloud-base-images/py3.11-torch2.4.0:0.0.40",
"script": "/home/jovyan/training/model_train.py",
"region": "SR008",
"instance_type": "a100.1gpu.8C.243G",
"queue_name": "shared-cluster",
"type": "pytorch2",
"n_workers": 1,
"job_desc": "Training job with queue"
}'

Пример запуска задачи

Например, в регионе SR008 есть две аллокации:

  • alloc-1: свободно 2 GPU.

  • alloc-2: свободно 2 GPU.

Обе аллокации подключены к очереди Shared-cluster. Пользователь запускает задачу обучения на 4 GPU с параметрами:

  • queue_name: shared-cluster

  • instance_type: a100.2gpu.32C.976G

  • n_workers: 2

В этом случае задача может использовать свободные ресурсы обеих аллокаций — по 2 GPU из каждой, так как Shared-cluster объединяет неиспользуемые ресурсы всех подключенных к ней аллокаций.

Отвязать воркспейс от очереди Shared-cluster

После отключения воркспейса от очереди Shared-cluster воркспейсу будут не доступны ресурсы очереди для запуска задач обучения.

Примечание

Отвязать воркспейс от очереди Shared-cluster может только администратор воркспейса.

Используйте метод DELETE /public/v2/shared-cluster-queues/assign для отвязки воркспейса от очереди Shared-cluster.

Пример запроса:

curl -X DELETE "https://api.ai.cloud.ru/public/v2/shared-cluster-queues/assign" \
-H "authorization: <access_token>" \
-H "X-Api-Key: <api_key>" \
-H "X-Workspace-Id: <workspace_id>" \
-H "Content-Type: application/json" \
-d '{
"region_key": "SR008",
"org_structure": {
"id": "43ca5087-f15d-4a59-ba80-e5de7ff3d31d",
"type": "workspace"
}
}'

Где: