

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Files d’attente de tâches
<a name="job_queues"></a>

Les tâches sont soumises à une file d'attente où elles résident jusqu'à ce qu'elles puissent être planifiées pour être exécutées dans un environnement informatique. Un AWS compte peut comporter plusieurs files d'attente de travail. Par exemple, vous pouvez créer une file d'attente qui utilise des instances Amazon EC2 On-Demand pour les tâches hautement prioritaires et une autre file d'attente qui utilise des instances ponctuelles Amazon EC2 pour les tâches peu prioritaires. Les files d'attente de tâches ont une priorité qui est utilisée par le planificateur pour déterminer quels travaux dans quelle file d'attente doivent être évalués pour être exécutés en premier.

**Topics**
+ [Création d'une file d'attente de tâches](create-job-queue.md)
+ [Afficher une file d'attente de tâches dans AWS Batch](job_queue_viewing_status.md)
+ [Supprimer une file d'attente de tâches dans AWS Batch](delete-job-queue.md)
+ [Politiques de planification équitables](job_scheduling.md)
+ [Planification axée sur les ressources](resource-aware-scheduling.md)
+ [Gestion des quotas](quota-management.md)

# Création d'une file d'attente de tâches
<a name="create-job-queue"></a>

Avant de pouvoir soumettre des tâches AWS Batch, vous devez créer une file d'attente de tâches. Lorsque vous créez une file d'attente de tâches, vous y associez un ou plusieurs environnements informatiques et vous attribuez un ordre de préférence.

Vous définissez également la priorité de la file d'attente des tâches qui détermine l'ordre dans lequel le planificateur AWS Batch place les tâches. Cela signifie que, si un environnement informatique est associé à plusieurs files d'attente de tâches, la priorité est donnée à la file d'attente de tâches la plus prioritaire.

**Topics**
+ [Création d'une file d'attente de EC2 tâches Amazon](create-job-queue-ec2.md)
+ [Création d'une file d'attente de tâches Fargate](create-job-queue-fargate.md)
+ [Création d'une file d'attente de tâches Amazon EKS](create-job-queue-eks.md)
+ [Créez une file d'attente SageMaker de tâches de formation dans AWS Batch](create-sagemaker-job-queue.md)
+ [Modèle de file d'attente de tâches](job-queue-template.md)

# Création d'une file d'attente de EC2 tâches Amazon
<a name="create-job-queue-ec2"></a>

Procédez comme suit pour créer une file d'attente de tâches pour Amazon Elastic Compute Cloud (Amazon EC2).

**Pour créer une file d'attente de EC2 tâches Amazon**

1. Ouvrez la AWS Batch console à l'adresse [https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/).

1. Dans la barre de navigation, sélectionnez le Région AWS à utiliser.

1. Dans le volet de navigation, choisissez **Job queues**.

1. Choisissez **Créer**.

1. Pour le **type d'orchestration**, choisissez **Amazon Elastic Compute Cloud (Amazon EC2).**

1. Dans **Nom**, entrez un nom unique pour votre file d'attente de tâches. Le nom peut comporter jusqu'à 128 caractères et peut contenir des lettres majuscules et minuscules, des chiffres et des traits de soulignement (\$1).

1. Pour **Priorité**, entrez un nombre entier pour la priorité de la file d'attente des tâches. Les files d'attente de tâches ayant une priorité plus élevée sont exécutées avant les files d'attente de tâches de moindre priorité associées au même environnement informatique. La priorité est déterminée par ordre décroissant. Par exemple, une file d’attente de tâches avec une valeur de priorité 10 se voit accorder la préférence en termes de planification par rapport à une file d’attente de tâches avec une valeur de priorité 1.

1. (Facultatif) Pour **la politique de planification Amazon Resource Name (ARN)**, choisissez une politique de planification existante.

1. Pour les **environnements informatiques connectés**, sélectionnez un ou plusieurs environnements informatiques dans la liste à associer à la file d'attente des tâches. Sélectionnez les environnements informatiques dans l'ordre dans lequel vous souhaitez que la file d'attente tente de placer la file d'attente des tâches. Le planificateur de tâches utilise l'ordre dans lequel vous sélectionnez les environnements de calcul pour déterminer quel environnement de calcul démarre une tâche donnée. Avant de pouvoir les associer à une file d'attente de tâches, les environnements informatiques doivent être dans `VALID` cet état. Vous pouvez associer jusqu'à trois environnements de calcul à une file d'attente de tâches. Si vous ne disposez pas d'un environnement informatique existant, choisissez **Créer un environnement de calcul**
**Note**  
Tous les environnements informatiques associés à une file d'attente de tâches doivent partager le même modèle de provisionnement. AWS Batch ne prend pas en charge le mélange de modèles de provisionnement dans une seule file d'attente de tâches.

1. Pour **l'ordre de l'environnement de calcul**, choisissez les flèches haut et bas pour configurer l'ordre souhaité.

1. Choisissez **Créer une file d'attente de tâches** pour terminer et créer votre file d'attente de tâches.

# Création d'une file d'attente de tâches Fargate
<a name="create-job-queue-fargate"></a>

Procédez comme suit pour créer une file d'attente de tâches pour AWS Fargate.

**Pour créer une file d'attente de tâches Fargate**

1. Ouvrez la AWS Batch console à l'adresse [https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/).

1. Dans la barre de navigation, sélectionnez le Région AWS à utiliser.

1. Dans le volet de navigation, choisissez **Job queues**.

1. Choisissez **Créer**.

1. Pour le **type d'orchestration**, choisissez **Fargate**.

1. Dans **Nom**, entrez un nom unique pour votre file d'attente de tâches. Le nom peut comporter jusqu'à 128 caractères et peut contenir des lettres majuscules et minuscules, des chiffres et des traits de soulignement (\$1).

1. Pour **Priorité**, entrez un nombre entier pour la priorité de la file d'attente des tâches. Les files d'attente de tâches ayant une priorité plus élevée sont exécutées avant les files d'attente de tâches de moindre priorité associées au même environnement informatique. La priorité est déterminée par ordre décroissant. Par exemple, une file d’attente de tâches avec une valeur de priorité 10 se voit accorder la préférence en termes de planification par rapport à une file d’attente de tâches avec une valeur de priorité 1.

1. (Facultatif) Pour **la politique de planification Amazon Resource Name (ARN)**, choisissez une politique de planification existante.

1. Pour les **environnements informatiques connectés**, sélectionnez un ou plusieurs environnements informatiques dans la liste à associer à la file d'attente des tâches. Sélectionnez les environnements informatiques dans l'ordre dans lequel vous souhaitez que la file d'attente tente de placer la file d'attente des tâches. Le planificateur de tâches utilise l'ordre dans lequel vous sélectionnez les environnements de calcul pour déterminer quel environnement de calcul démarre une tâche donnée. Avant de pouvoir les associer à une file d'attente de tâches, les environnements informatiques doivent être dans `VALID` cet état. Vous pouvez associer jusqu'à trois environnements de calcul à une file d'attente de tâches.
**Note**  
Tous les environnements informatiques associés à une file d'attente de tâches doivent partager le même modèle de provisionnement. AWS Batch ne prend pas en charge le mélange de modèles de provisionnement dans une seule file d'attente de tâches.

1. Pour **l'ordre de l'environnement de calcul**, choisissez les flèches vers le haut et vers le bas pour configurer l'ordre souhaité.

1. Choisissez **Créer une file d'attente de tâches** pour terminer et créer votre file d'attente de tâches.

# Création d'une file d'attente de tâches Amazon EKS
<a name="create-job-queue-eks"></a>

Procédez comme suit pour créer une file d'attente de tâches pour Amazon Elastic Kubernetes Service (Amazon EKS).

**Pour créer une file d'attente de tâches Amazon EKS**

1. Ouvrez la AWS Batch console à l'adresse [https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/).

1. Dans la barre de navigation, sélectionnez le Région AWS à utiliser.

1. Dans le volet de navigation, choisissez **Job queues**.

1. Choisissez **Créer**.

1. Pour le **type d'orchestration**, choisissez **Amazon Elastic Kubernetes Service (Amazon** EKS).

1. Dans **Nom**, entrez un nom unique pour votre file d'attente de tâches. Le nom peut comporter jusqu'à 128 caractères et peut contenir des lettres majuscules et minuscules, des chiffres et des traits de soulignement (\$1).

1. Dans **Priorité**, saisissez une valeur d'entier pour la priorité de la file d'attente de tâches. Les files d'attente de tâches ayant une priorité plus élevée sont exécutées avant les files d'attente de tâches de moindre priorité associées au même environnement informatique. La priorité est déterminée par ordre décroissant. Par exemple, une file d’attente de tâches avec une valeur de priorité 10 se voit accorder la préférence en termes de planification par rapport à une file d’attente de tâches avec une valeur de priorité 1.

1. (Facultatif) Pour **la politique de planification Amazon Resource Name (ARN)**, choisissez une politique de planification existante.

1. Pour les **environnements informatiques connectés**, sélectionnez un ou plusieurs environnements informatiques dans la liste à associer à la file d'attente des tâches. Sélectionnez les environnements informatiques dans l'ordre dans lequel vous souhaitez que la file d'attente tente de placer la file d'attente des tâches. Le planificateur de tâches utilise l'ordre dans lequel vous sélectionnez les environnements de calcul pour déterminer quel environnement de calcul démarre une tâche donnée. Avant de pouvoir les associer à une file d'attente de tâches, les environnements informatiques doivent être dans `VALID` cet état. Vous pouvez associer jusqu'à trois environnements de calcul à une file d'attente de tâches.
**Note**  
Tous les environnements informatiques associés à une file d'attente de tâches doivent partager le même modèle de provisionnement. AWS Batch ne prend pas en charge le mélange de modèles de provisionnement dans une seule file d'attente de tâches.
**Note**  
Tous les environnements informatiques associés à une file d'attente de tâches doivent partager la même architecture. AWS Batch ne prend pas en charge le mélange de types d'architecture d'environnement de calcul dans une seule file d'attente de tâches.

1. Pour **l'ordre de l'environnement de calcul**, choisissez les flèches vers le haut et vers le bas pour configurer l'ordre souhaité.

1. Choisissez **Créer une file d'attente de tâches** pour terminer et créer votre file d'attente de tâches.

# Créez une file d'attente SageMaker de tâches de formation dans AWS Batch
<a name="create-sagemaker-job-queue"></a>

SageMaker Les files d'attente pour les tâches de formation s'intègrent directement au service d' SageMaker intelligence artificielle pour permettre une planification des tâches sans serveur sans que vous ayez à gérer l'infrastructure informatique sous-jacente.

## Prérequis
<a name="sagemaker-job-queue-prerequisites"></a>

Avant de créer une file d'attente de tâches de SageMaker formation, assurez-vous d'avoir :
+ **Environnement de service : environnement** de service qui définit les limites de capacité. Pour de plus amples informations, veuillez consulter [Créez un environnement de service dans AWS Batch](create-service-environments.md).
+ Autorisations **IAM : autorisations** permettant de créer et de gérer des files AWS Batch d'attente de travail et des environnements de service. Pour de plus amples informations, veuillez consulter [AWS Batch Politiques, rôles et autorisations IAM](IAM_policies.md).

------
#### [ Create a SageMaker Training job queue (AWS Batch console) ]

1. Ouvrez la AWS Batch console à l'adresse [https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/).

1. Dans le volet de navigation, choisissez **Job queues** puis **Create**.

1. Pour le **type d'orchestration**, choisissez **SageMaker Entraînement**.

1. Pour la **configuration de la file d'attente des Job** :

   1. Dans **Nom**, entrez le nom de la file d'attente de Job.

   1. pour **Priorité**, entrez une valeur comprise entre 0 et 1000. Une file d'attente de Job avec une priorité plus élevée est privilégiée pour les environnements de service.

   1. (Facultatif) Pour **la politique de planification Amazon Resource Name (ARN)**, choisissez une politique de planification existante.

   1. Pour les **environnements de service connectés**, sélectionnez un environnement de service dans la liste à associer à la file d'attente des tâches. 

1. (Facultatif) Pour les **limites d'état des Job** :

   1. Pour **Mauvaise configuration**, choisissez `SERVICE_ENVIRONMENT_MAX_RESOURCE` et entrez la **durée maximale d'exécution (secondes**).

   1. Pour **Capacité**, choisissez `INSUFFICIENT_INSTANCE_CAPACITY` et entrez la **durée maximale d'exécution (secondes).**

1. Choisissez **Créer une file d'attente de tâches**

------
#### [ Create a SageMaker Training job queue (AWS CLI) ]

Utilisez la `create-job-queue` commande pour créer une file d'attente SageMaker de tâches de formation.

L'exemple suivant crée une file d'attente de tâches de SageMaker formation de base qui utilise un environnement de service :

```
aws batch create-job-queue \
  --job-queue-name my-sm-training-fifo-jq \
  --job-queue-type SAGEMAKER_TRAINING \
  --priority 1 \
  --service-environment-order order=1,serviceEnvironment=ExampleServiceEnvironment
```

*ExampleServiceEnvironment*Remplacez-le par le nom de votre environnement de service.

La commande renvoie un résultat semblable à ce qui suit :

```
{
  "jobQueueName": "my-sm-training-fifo-jq",
  "jobQueueArn": "arn:aws:batch:region:account:job-queue/my-sm-training-fifo-jq"
}
```

Après avoir créé votre file d'attente de tâches, vérifiez qu'elle a été créée avec succès et qu'elle est dans un état valide.

Utilisez la `describe-job-queues` commande pour afficher les détails de votre file d'attente de tâches :

```
aws batch describe-job-queues --job-queues my-sm-training-fifo-jq
```

La commande renvoie un résultat semblable à ce qui suit :

```
{
  "jobQueues": [
    {
      "jobQueueName": "my-sm-training-fifo-jq",
      "jobQueueArn": "arn:aws:batch:region:account:job-queue/my-sm-training-fifo-jq",
      "state": "ENABLED",
      "status": "VALID",
      "statusReason": "JobQueue Healthy",
      "priority": 1,
      "computeEnvironmentOrder": [],
      "serviceEnvironmentOrder": [
        {
          "order": 1,
          "serviceEnvironment": "arn:aws:batch:region:account:service-environment/ExampleServiceEnvironment"
        }
      ],
      "jobQueueType": "SAGEMAKER_TRAINING",
      "tags": {},
      "jobStateTimeLimitActions": []
    }
  ]
}
```

Assurez-vous que :
+ Le `state` est `ENABLED`
+ Le `status` est `VALID`
+ Le `statusReason` est `JobQueue Healthy`
+ Le `jobQueueType` est `SAGEMAKER_TRAINING`
+ Les `serviceEnvironmentOrder` références de votre environnement de service

------

# Modèle de file d'attente de tâches
<a name="job-queue-template"></a>

Ce qui suit est un modèle de file d'attente de tâches vide. Vous pouvez utiliser ce modèle pour créer votre file d'attente de tâches. Vous pouvez ensuite enregistrer cette file d'attente de tâches dans un fichier et l'utiliser avec l' AWS CLI `--cli-input-json`option. Pour plus d'informations sur ces paramètres, consultez [CreateJobQueue](https://docs.aws.amazon.com/batch/latest/APIReference/API_CreateJobQueue.html)la *référence de l'AWS Batch API*.

**Note**  
Vous pouvez générer un modèle de file d'attente de tâches à l'aide de la AWS CLI commande suivante.  

```
$ aws batch create-job-queue --generate-cli-skeleton
```

```
{
   "computeEnvironmentOrder": [ 
      { 
         "computeEnvironment": "",
         "order": 0
      }
   ],
   "jobQueueName": "",
   "jobStateTimeLimitActions": [ 
      { 
         "state": "RUNNABLE",
         "action": "CANCEL",
		 "maxTimeSeconds": 0,
         "reason": ""

      }
   ],
   "priority": 0,
   "schedulingPolicyArn": "",
   "state": "ENABLED",
   "tags": { 
      "KeyName": ""
   }
}
```

# Afficher une file d'attente de tâches dans AWS Batch
<a name="job_queue_viewing_status"></a>

Une fois que vous avez créé une file d'attente de tâches et que vous avez soumis les tâches, il est important de pouvoir suivre sa progression. Vous pouvez utiliser la page **Détails des tâches** pour consulter, gérer et surveiller votre file d'attente de tâches.

## Afficher les informations relatives à la file d'attente
<a name="view-job-queue-info"></a>

Dans la AWS Batch console, sélectionnez **Queues de tâches** dans le volet de navigation et choisissez la file d'attente de tâches de votre choix pour en afficher les détails. Sur cette page, vous pouvez consulter et gérer votre file d'attente de tâches et consulter des informations supplémentaires sur les opérations de la file d'attente, telles que l'instantané de la file d'attente de tâches, les limites d'état des tâches, l'ordre de l'environnement, les balises et le code JSON de la file d'attente de tâches.

### Détails de la file d'attente de tâches
<a name="job-queue-info-details"></a>

Cette section fournit une vue d'ensemble et des options de maintenance pour la file d'attente des tâches. Il est important de noter que vous trouverez le nom de ressource Amazon (ARN) dans cette section.

Pour trouver ces informations via le AWS Command Line Interface, utilisez l'[https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeJobQueues.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeJobQueues.html)opération associée au nom de la file d'attente des tâches ou à l'ARN correspondant.

### Actions actives
<a name="top-active-shares"></a>

Pour les files d'attente de travail utilisant la planification du partage équitable, AWS Batch fournit une visibilité sur la manière dont les différents identifiants de partage consomment de la capacité. Ces informations vous aident à comprendre la distribution des ressources et à identifier les parts susceptibles de nécessiter un ajustement.

**Note**  
L'onglet **Active shares** n'est présent que lorsque l'**algorithme de planification de la file d'attente de tâches** est Fair-share.

La section des 20 principaux partages actifs indique les identifiants de partage dont les tâches sont planifiées, de début et en cours d'exécution. Cette vue inclut :
+ **Nom de l'identifiant du partage** : identifiant unique du partage.

  Les identifiants de partage sont des libellés qui regroupent les tâches pour une planification équitable. Lorsque vous soumettez des tâches avec le même identifiant de partage, AWS Batch traitez-les comme faisant partie de la même charge de travail à des fins d'allocation de ressources. Les identifiants de partage permettent de garantir une répartition équitable de la capacité de calcul entre les différentes équipes, les différents projets ou les différents types de charge de travail. Pour de plus amples informations, veuillez consulter [Utiliser des identifiants de partage pour identifier les charges de travail](share-identifiers.md).
+ **Utilisation de la capacité** : quantité de ressources que la tâche est configurée pour utiliser. Ceci est mesuré dans `instances` ou `cpu` en `vCPU` fonction de l'environnement.
+ **Action Afficher les offres d'emploi** : lien permettant de voir toutes les offres d'emploi associées à ce partage.

Vous pouvez consulter ces informations sous forme de liste ou de graphique :
+ **Affichage en liste** - Affichage tabulaire avec chiffres de capacité exacts
+ **Affichage graphique** : graphique à barres visuel illustrant l'utilisation relative

### Aperçu de la file d'attente de tâches
<a name="job-queue-info-snapshot"></a>

Cette section fournit une liste statique des 100 premières `RUNNABLE` tâches en file d'attente. Vous pouvez utiliser le champ de recherche pour affiner la liste en recherchant des informations dans n'importe quelle colonne de la section des résultats. Les tâches figurant dans la zone des résultats instantanés sont triées en fonction de la stratégie d'exécution de la file d'attente des tâches. Pour les files d'attente de tâches first-in-first-out (FIFO), l'ordre des tâches est basé sur l'heure de soumission. Pour les files d'attente de [tâches planifiées équitablement, l'ordre des tâches est basé sur la priorité des tâches et l'utilisation du partage](fair-share-scheduling.md). Le champ **Capacité requise** indique la quantité de ressources que la tâche est configurée pour utiliser.

Les résultats étant un instantané de la file d'attente des tâches, la liste des résultats n'est pas automatiquement mise à jour. Pour mettre à jour la liste, choisissez l'actualisation en haut de la section. Cliquez sur le lien hypertexte du nom de la tâche pour accéder aux **détails de la tâche** et consulter le statut de la tâche ainsi que d'autres informations connexes.

Pour trouver ces informations via le AWS CLI, utilisez l'[https://docs.aws.amazon.com/batch/latest/APIReference/API_GetJobQueueSnapshot.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_GetJobQueueSnapshot.html)opération associée au nom de la file d'attente des tâches ou à l'ARN correspondant.

```
aws batch get-job-queue-snapshot --job-queue my-sm-training-fifo-jq
```

### Limites relatives à l'état des tâches
<a name="job-queue-info-state-limits"></a>

Utilisez cet onglet pour consulter les informations de configuration relatives à la durée pendant laquelle une tâche peut rester dans un `RUNNABLE` état avant son annulation.

Pour trouver ces informations via le AWS CLI, utilisez l'[https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeJobQueues.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeJobQueues.html)opération associée au nom de la file d'attente des tâches ou à l'ARN correspondant.

### Ordre environnemental
<a name="job-queue-info-env-order"></a>

Si votre file d'attente de tâches s'exécute dans plusieurs environnements, cet onglet fournit leur ordre et une vue d'ensemble. 

Pour trouver ces informations via le AWS CLI, utilisez l'[https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeJobQueues.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeJobQueues.html)opération associée au nom de la file d'attente des tâches ou à l'ARN correspondant.

### Étiquettes
<a name="job-queue-info-tags"></a>

Utilisez cet onglet pour consulter et gérer les balises associées à cette file d'attente de tâches.

### JSON
<a name="job-queue-info-json"></a>

Utilisez cet onglet pour copier le code JSON associé à cette file d'attente de tâches. Vous pouvez ensuite réutiliser le JSON pour les AWS CloudFormation modèles et les AWS CLI scripts.

# Supprimer une file d'attente de tâches dans AWS Batch
<a name="delete-job-queue"></a>

Lorsque vous n'avez plus besoin de votre file d'attente de tâches, vous pouvez la désactiver et la supprimer.

------
#### [ Delete a job queue (AWS Batch console) ]

1. Ouvrez la AWS Batch console à l'adresse [https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/).

1. Dans le volet de navigation, choisissez **Job queues**, puis choisissez une file d'attente de jobs.

1. Choisissez **Actions**, puis **Désactiver**.

1. Une fois que l'état de la file d'attente de tâches est **désactivé**, choisissez **Actions**, puis **Supprimer**.

1. Dans la fenêtre modale, choisissez **Supprimer la file d'attente des tâches**.

------
#### [ Delete a job queue (AWS CLI) ]

1. Désactivez la file d'attente des tâches pour empêcher la soumission de nouvelles tâches :

   ```
   aws batch update-job-queue \
     --job-queue my-sm-training-fifo-jq \
     --state DISABLED
   ```

1. Attendez que les tâches en cours soient terminées, puis supprimez la file d'attente des tâches :

   ```
   aws batch delete-job-queue \
     --job-queue my-sm-training-fifo-jq
   ```

------

# Politiques de planification équitables
<a name="job_scheduling"></a>

Le AWS Batch planificateur évalue quand, où et comment exécuter les tâches soumises à une file d'attente de tâches. Si vous ne spécifiez pas de politique de planification lorsque vous créez une file d'attente de tâches, le planificateur de AWS Batch tâches utilise par défaut une stratégie « premier entré, premier sorti » (FIFO). Une stratégie FIFO peut entraîner le « blocage » d'emplois importants par rapport à des emplois soumis plus tôt. En spécifiant une politique de planification différente, vous pouvez allouer des ressources de calcul en fonction de vos besoins spécifiques. 

**Note**  
Si vous souhaitez planifier l'ordre spécifique dans lequel les tâches sont exécutées, utilisez le `[dependsOn](https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitJob.html#Batch-SubmitJob-request-dependsOn)` paramètre in [SubmitJob](https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitJob.html)pour spécifier les dépendances de chaque tâche.

Si vous créez une politique de planification et que vous l'associez à une file d'attente de tâches, la planification équitable est activée. Si la file d'attente des tâches dispose d'une politique de planification, celle-ci détermine l'ordre dans lequel les tâches sont exécutées. Pour de plus amples informations, veuillez consulter [Utilisez des politiques de planification de partage équitable pour attribuer des identifiants de partage](scheduling-policies.md).

**Topics**
+ [Utiliser des identifiants de partage pour identifier les charges de travail](share-identifiers.md)
+ [Utilisez des politiques de planification de partage équitable pour attribuer des identifiants de partage](scheduling-policies.md)
+ [Utilisez la planification équitable pour faciliter la planification des tâches](fair-share-scheduling.md)
+ [Tutoriel : Création d'une politique de planification équitable](create-scheduling-policy.md)
+ [Référence : Modèle de politique de planification équitable](scheduling-policy-template.md)

# Utiliser des identifiants de partage pour identifier les charges de travail
<a name="share-identifiers"></a>

Vous pouvez utiliser des identifiants de partage pour étiqueter les tâches et différencier les utilisateurs des charges de travail. Le AWS Batch planificateur suit l'utilisation de chaque identifiant de partage à l'aide de la `(T * weightFactor)` formule, où *`T`*est l'utilisation du vCPU au fil du temps. Le planificateur sélectionne les tâches les moins utilisées à partir de l'identifiant de partage. Vous pouvez utiliser un identifiant de partage sans le remplacer.

**Note**  
Les identifiants de partage sont uniques au sein d'une file d'attente de tâches et ne sont pas agrégés entre les files d'attente de tâches. 

Vous pouvez définir une priorité de planification équitable pour configurer l'ordre dans lequel les tâches sont exécutées sur un identifiant de partage. Les tâches dont la priorité de planification est plus élevée sont planifiées en premier. Si vous ne spécifiez pas de politique de planification équitable, toutes les tâches soumises à la file d'attente des tâches sont planifiées dans l'ordre FIFO. Lorsque vous soumettez une tâche, vous ne pouvez pas spécifier d'identifiant de partage ni de priorité de planification équitable.

**Note**  
Les ressources de calcul associées sont réparties de manière égale entre tous les identifiants de partage, sauf dérogation explicite.

# Utilisez des politiques de planification de partage équitable pour attribuer des identifiants de partage
<a name="scheduling-policies"></a>

Vous pouvez utiliser des politiques de planification équitables pour configurer la manière dont les ressources de calcul d'une file d'attente de tâches sont allouées entre les utilisateurs ou les charges de travail. À l'aide de politiques de planification de partage équitable, vous pouvez attribuer différents identifiants de partage aux charges de travail ou aux utilisateurs. AWS Batch attribue à chaque identifiant de partage un pourcentage du total des ressources disponibles pendant une période donnée. 

Le pourcentage de juste part est calculé à l'aide des valeurs `shareDecaySeconds` et`shareDistribution`. Vous pouvez ajouter du temps à l'analyse du partage équitable en attribuant un temps de déclin des parts à la politique. L'ajout de temps donne plus de poids au temps et moins au poids défini. Vous pouvez réserver des ressources de calcul pour les identifiants de partage qui ne sont pas actifs en spécifiant une réservation de calcul. Pour de plus amples informations, veuillez consulter [SchedulingPolicyDetail](https://docs.aws.amazon.com/batch/latest/APIReference/API_SchedulingPolicyDetail.html).

# Utilisez la planification équitable pour faciliter la planification des tâches
<a name="fair-share-scheduling"></a>

La planification équitable fournit un ensemble de contrôles pour faciliter la planification des tâches. Pour plus d'informations sur les paramètres des politiques de planification, consultez [SchedulingPolicyDetail](https://docs.aws.amazon.com/batch/latest/APIReference/API_SchedulingPolicyDetail.html). 
+ **Secondes de déclin des parts :** période (en secondes) utilisée par le AWS Batch planificateur pour calculer un pourcentage de partage équitable pour chaque identifiant de partage. Une valeur de zéro indique que seule l'utilisation actuelle est mesurée. Un temps de décomposition plus long donne plus de poids au temps.
**Note**  
La période de décroissance est calculée comme suit : *`shareDecaySeconds + OrderMinutes`*où *`OrderMinutes `*est le temps dans l'ordre en minutes.
+ **Calculer la réservation :** empêche les tâches associées à un identifiant de partage unique d'utiliser toutes les ressources associées à la file d'attente des tâches. Le ratio réservé `ActiveFairShares` correspond `(computeReservation/100)^ActiveFairShares` au nombre d'identifiants de partage actifs.
**Note**  
Si un identifiant de partage comporte des tâches dans un `RUNNING` état,,, ou`SUBMITTED`,,,,`PENDING`,,`RUNNABLE`,,`STARTING`,,,,,,,,,,,,,,,,,,,,,,,, Une fois la période de désintégration expirée, un identifiant de partage est considéré comme inactif.
+ Facteur de **pondération : facteur** de pondération pour l'identifiant de l'action. La valeur par défaut est 1. Une valeur inférieure permet d'exécuter les tâches issues de l'identifiant de partage ou donne une durée d'exécution supplémentaire à l'identifiant de partage. Par exemple, les tâches qui utilisent un identifiant de partage avec un facteur de pondération de 0,125 (1/8) se voient attribuer huit fois les ressources de calcul des tâches qui utilisent un identifiant de partage avec un facteur de pondération de 1.
**Note**  
Vous devez uniquement définir cet attribut lorsque vous devez mettre à jour le facteur de pondération par défaut de 1.

Lorsque la file d'attente des tâches est active et que des tâches sont en cours de traitement, vous pouvez consulter la liste des 100 premières `RUNNABLE` tâches via l'instantané de la file d'attente des tâches. Pour de plus amples informations, veuillez consulter [Afficher une file d'attente de tâches dans AWS Batch](job_queue_viewing_status.md). 

# Tutoriel : Création d'une politique de planification équitable
<a name="create-scheduling-policy"></a>

Avant de créer une file d'attente de tâches avec une politique de planification, vous devez créer une politique de planification. Lorsque vous créez une politique de planification équitable, vous associez un ou plusieurs identifiants de partage ou partagez des préfixes d'identifiant à des pondérations pour la file d'attente et vous attribuez éventuellement une période de décroissance et calculez la réservation à la politique.

**Pour créer une politique de planification équitable**

1. Ouvrez la AWS Batch console à l'adresse [https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/).

1. Dans la barre de navigation, sélectionnez la région à utiliser.

1. Dans le volet de navigation, choisissez **Politiques de planification**, puis **Créer**.

1. Dans **Nom**, entrez un nom unique pour votre politique de planification. Il peut comporter jusqu'à 128 lettres (majuscules et minuscules), des chiffres, des tirets ou des traits de soulignement.

1. (Facultatif) Pour les **secondes de décroissance du partage**, entrez une valeur entière pour le temps de déclin des actions prévu par la politique de planification du partage équitable. Un temps de dégradation des parts plus long utilisera considérablement plus de ressources informatiques sur une plus longue période lors de la planification des tâches. Cela peut permettre aux tâches utilisant un identifiant de partage d'utiliser temporairement plus de ressources de calcul que le poids de cet identifiant de partage ne le permettrait si cet identifiant de partage n'avait pas utilisé de ressources de calcul récemment.

1. (Facultatif) Pour **Calculer la réservation**, entrez une valeur entière pour la réservation de calcul de la politique de planification de partage équitable. La réservation de calcul contiendra une partie de v CPUs en réserve à utiliser pour les identifiants de partage qui ne sont pas actifs actuellement.

   Le ratio réservé *ActiveFairShares*correspond `(computeReservation/100)^ActiveFairShares` au nombre d'identifiants de partage actifs.

   Par exemple, une `computeReservation` valeur de 50 indique qu'il AWS Batch faut réserver 50 % du maximum de processeurs virtuels disponibles s'il n'y a qu'un seul identifiant de partage, 25 % s'il existe deux identifiants de partage et 12,5 % s'il y a trois identifiants de partage. Une `computeReservation` valeur de 25 indique que 25 % du processeur virtuel maximum disponible AWS Batch devrait être réservé s'il n'y a qu'un seul identifiant de partage, 6,25 % s'il existe deux identifiants de partage et 1,56 % s'il existe trois identifiants de partage.

1. Dans la section **Attributs de partage**, vous pouvez spécifier l'identifiant de partage et le poids de chaque identifiant de partage à associer à la politique de planification du partage équitable.

   1. Choisissez **Ajouter un identifiant de partage**.

   1. Pour **Identifiant de partage**, spécifiez l'identifiant de partage. Si la chaîne se termine par « \$1 », cela devient un préfixe d'identifiant de partage utilisé pour faire correspondre les identifiants de partage pour les tâches. Tous les identifiants de partage et les préfixes d'identifiant de partage d'une politique de planification doivent être uniques et ne peuvent pas se chevaucher. Par exemple, vous ne pouvez pas avoir le préfixe d'identifiant de partage « UserA\$1 » et l'identifiant de partage « UserA1 » dans la même politique de planification de partage équitable.

   1. Dans le **champ Facteur** de pondération, spécifiez le poids relatif de l'identifiant d'action. La valeur par défaut est 1.0. Une valeur inférieure a une priorité plus élevée pour les ressources de calcul. Si un préfixe d'identifiant de partage est utilisé, les tâches dont les identifiants de partage commencent par le préfixe partageront le facteur de pondération. Cela augmente efficacement le facteur de pondération pour ces tâches, en abaissant leur priorité individuelle tout en maintenant le même facteur de pondération pour le préfixe d'identification des actions.

1. (Facultatif) Dans la section **Balises**, vous pouvez spécifier la clé et la valeur de chaque balise à associer à la politique de planification. Pour de plus amples informations, veuillez consulter [Marquez vos AWS Batch ressources](using-tags.md).

1. Choisissez **Soumettre** pour terminer et créer votre politique de planification.

# Référence : Modèle de politique de planification équitable
<a name="scheduling-policy-template"></a>

Un modèle de politique de planification équitable vide est présenté ci-dessous. Vous pouvez utiliser ce modèle pour créer votre politique de planification qui peut ensuite être enregistrée dans un fichier et utilisée avec l' AWS CLI `--cli-input-json`option. Pour plus d'informations sur ces paramètres, consultez [CreateSchedulingPolicy](https://docs.aws.amazon.com/batch/latest/APIReference/API_CreateSchedulingPolicy.html)la *référence de l'AWS Batch API*.

**Note**  
Vous pouvez générer un modèle de file d'attente de tâches à l'aide de la AWS CLI commande suivante.  

```
$ aws batch create-scheduling-policy --generate-cli-skeleton
```

```
{
    "name": "",
    "fairsharePolicy": {
        "shareDecaySeconds": 0,
        "computeReservation": 0,
        "shareDistribution": [
            {
                "shareIdentifier": "",
                "weightFactor": 0.0
            }
        ]
    },
    "tags": {
        "KeyName": ""
    }
}
```

# Planification axée sur les ressources
<a name="resource-aware-scheduling"></a>

AWS Batch planifie les tâches en fonction du vCPU, du GPU et de la disponibilité de la mémoire dans l'environnement informatique (CE) associé à la file d'attente de tâches (JQ). Mais parfois, la simple disponibilité de ces ressources CE ne garantit pas le succès de la tâche, car elle peut dépendre d'autres ressources requises. Ces tâches sont donc annulées ou résiliées. Cela se traduit par une utilisation inefficace des ressources informatiques. Pour résoudre ce problème, la planification axée sur les ressources peut vérifier la disponibilité des ressources dépendantes autres que le CE avant de planifier l'exécution de la tâche sur un CE.

AWS Batch La planification axée sur les ressources vous permet de planifier les tâches en fonction des ressources consommables nécessaires à leur exécution : jetons de licence tiers, bande passante d'accès à la base de données, nécessité de limiter les appels vers une API tierce, etc. Vous spécifiez les ressources consommables nécessaires à l'exécution d'une tâche, et Batch prend en compte ces dépendances de ressources lorsqu'il planifie une tâche. Vous pouvez éviter les interventions manuelles afin d'éliminer les échecs de travail et les longues attentes causés par une pénurie de ressources consommables. Vous pouvez réduire la sous-utilisation des ressources de calcul en n'allouant que les tâches disposant de toutes les ressources nécessaires.

La planification basée sur les ressources est disponible pour les politiques de planification FIFO et Fair-share et peut être utilisée avec toutes les plateformes de calcul prises en charge par Batch, notamment EKS, ECS et Fargate. Il peut être utilisé avec des tâches Array, des tâches MNP (Multi-Node parallel) et avec des tâches Batch classiques.

Pour configurer une planification adaptée aux ressources, vous devez d'abord spécifier toutes les ressources consommables nécessaires à l'exécution de vos tâches, ainsi que le nombre total disponible pour chaque ressource. Ensuite, pour chaque tâche nécessitant une ressource consommable, vous spécifiez le nom et les quantités requises de chaque ressource requise. Batch enregistre le nombre de ressources consommables disponibles pour les tâches de vos files d'attente et garantit qu'une tâche est planifiée pour s'exécuter uniquement lorsque toutes les ressources consommables nécessaires sont disponibles pour que la tâche s'exécute correctement. 

**Topics**
+ [Créez des ressources consommables](resource-aware-scheduling-how-to-create.md)
+ [Spécifiez les ressources nécessaires pour exécuter une tâche](resource-aware-scheduling-how-to-for-jobs.md)
+ [Vérifiez le nombre de ressources utilisées et disponibles](resource-aware-scheduling-how-to-check-resources-check-resources.md)
+ [Mettre à jour la quantité d'une ressource lorsqu'elle est utilisée par des tâches](resource-aware-scheduling-how-to-update-quantity.md)
+ [Trouvez les tâches qui nécessitent une ressource consommable spécifique](resource-aware-scheduling-how-to-find-jobs.md)
+ [Supprimer une ressource consommable](resource-aware-scheduling-how-to-delete.md)

# Créez des ressources consommables
<a name="resource-aware-scheduling-how-to-create"></a>

Vous devez d'abord créer les ressources consommables qui représentent les ressources non CE consommées lors de l'exécution d'une tâche et qui ne sont disponibles qu'en quantité limitée. Chaque ressource consommable possède : 
+ nom de ressource (`consumableResourceName`) qui doit être unique au niveau du compte.
+ (facultatif) type de ressource (`resourceType`) qui indique si la ressource est disponible pour être réutilisée une fois la tâche terminée. Cela peut être l'un des suivants :
  + `REPLENISHABLE` (par défaut)
  + `NON_REPLENISHABLE`
+ quantité totale (`totalQuantity`) qui indique le montant total de la ressource consommable disponible.

Le nombre maximum de ressources consommables par compte est de 50 000.

**Console :**

1. Dans le panneau de navigation de gauche de la [AWS Batch console](https://console.aws.amazon.com/batch), sélectionnez **Ressources consommables**.

1. Choisissez **Créer une ressource consommable**.

1. Entrez un **nom de ressource** unique, la **quantité totale de ressources** et indiquez si le **type de ressource** est **réapprovisionnable ou **non** réapprovisionnable**.

1. Choisissez **Créer une ressource consommable**.

**API :**

Utilisez l'[`CreateConsumableResource`API](https://docs.aws.amazon.com/batch/latest/APIReference/API_CreateConsumableResource.html) pour définir les ressources souhaitées.

# Spécifiez les ressources nécessaires pour exécuter une tâche
<a name="resource-aware-scheduling-how-to-for-jobs"></a>

Lorsque vous enregistrez une tâche, vous pouvez spécifier le nom d'une ou de plusieurs ressources que vous avez créées (`consumableResource`) et la quantité de cette ressource requise par chaque instance de la tâche (`quantity`).

Batch garde une trace des unités disponibles de chaque ressource à tout moment. Pour chaque tâche de la file d'attente, le planificateur Batch garantit que votre tâche ne s'exécute que lorsque les dépendances de ressources spécifiées sont disponibles.

Si aucune ressource consommable pour la tâche n'est disponible lorsque la tâche atteint la tête de la file d'attente, la tâche attendra jusqu'à ce que toutes les ressources requises soient disponibles ou que la limite de temps de l'état de la tâche soit atteinte (voir[Afficher une file d'attente de tâches dans AWS Batch](job_queue_viewing_status.md)). `RUNNABLE` Une fois que Batch a confirmé que toutes les ressources sont disponibles, le job passe à l'`STARTING`état puis à`RUNNING`. Les ressources sont verrouillées une fois que la tâche est `STARTING` déplacée vers ou sont déverrouillées lorsque la tâche est déplacée vers `SUCCEEDED` ou`FAILED`.

Vous pouvez également mettre à jour la quantité de ressource nécessaire pour une tâche spécifique lorsque vous soumettez la tâche.

**Console :**

**Pour spécifier les ressources et les quantités nécessaires lorsque vous définissez une tâche, procédez comme suit :**

1. Définissez une tâche à l'aide de l'assistant de définition de tâche depuis la [AWS Batch console](https://console.aws.amazon.com/batch) (**Définitions de tâches** -> **Créer**).

1. Dans l'étape 4 de l'assistant : **Configuration des conteneurs**, sous **Ressource consommable**, sélectionnez le **nom** d'une ressource requise dans la liste. Dans le champ **Valeur demandée**, entrez la quantité de cette ressource requise par une instance de cette tâche, puis choisissez **Ajouter une ressource consommable**.

1. Répétez l'étape précédente pour toutes les ressources consommables requises par la tâche. Vous pouvez spécifier jusqu'à 5 ressources pour chaque tâche que vous définissez.

1. Vous verrez la liste des ressources consommables que vous avez créées une fois que vous aurez terminé l'assistant de définition de tâche, mais avant de choisir **Créer une définition de tâche**.

**Pour mettre à jour les quantités de ressources nécessaires lorsque vous soumettez une offre d'emploi :**

1. Dans le volet de navigation gauche de la [AWS Batch console](https://console.aws.amazon.com/batch), choisissez **Tâches**, puis **Soumettre une nouvelle tâche**.

1. À l'étape 2 de l'assistant : **Configuration des remplacements**, sous **Dérogations de ressources consommables**, entrez une nouvelle **valeur demandée** pour toute ressource consommable dont vous souhaitez annuler la quantité nécessaire pour la tâche.

1. Une fois que vous avez effectué toutes les modifications que vous souhaitez effectuer pour cette tâche, cliquez sur **Suivant pour passer** à **Réviser et soumettre**.

**API :**

Lorsque vous enregistrez une tâche auprès de l'[`RegisterJobDefinition`API](https://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html), utilisez la `consumableResourceList` `consumableResourceProperties` partie de la demande pour spécifier les ressources consommables requises pour exécuter une instance de la tâche, ainsi que la quantité de chacune d'elles.

Lorsque vous soumettez une tâche avec l'[`SubmitJob`API](https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitJob.html), vous pouvez remplacer la liste des ressources consommables et la quantité de chacune d'elles en utilisant la `consumableResourcePropertiesOverride` partie de la demande. Notez que cela remplace uniquement la quantité de ressource requise par chaque instance de la tâche, et non la quantité totale disponible.

# Vérifiez le nombre de ressources utilisées et disponibles
<a name="resource-aware-scheduling-how-to-check-resources-check-resources"></a>

Batch vous permet de demander le nombre de ressources disponibles (`availableQuantity`), le nombre de ressources utilisées (`inUseQuantity`) et le total des ressources (`totalQuantity`) à un moment donné.

Une fois qu'une tâche passe à `STARTING` cet état, les ressources consommées sont soustraites de la quantité disponible de cette ressource. Si c'est le cas`REPLENISHABLE`, le nombre de ressources consommées sera ajouté à la quantité disponible dès que la tâche sera passée à l'état SUCCEDED ou FAILED, et la quantité totale restera la même. Si c'est le cas`NON_REPLENISHABLE`, le nombre de ressources consommées est soustrait à la fois du total et des quantités disponibles et ne sera pas additionné, que la tâche passe à l'`FAILED`état `SUCCEEDED` ou.

**Note**  
Ces informations peuvent être décalées de 30 secondes au maximum.

**Console :**

1. Dans le panneau de navigation de gauche de la [AWS Batch console](https://console.aws.amazon.com/batch), sélectionnez **Ressources consommables**.

1. Sélectionnez l'onglet **Réapprovisionnable** ou **Non réapprovisionnable** pour afficher les ressources de ce type que vous avez créées.

1. Pour chaque ressource **réapprovisionnable**, la console affiche le **nom**, la quantité **totale** de la ressource, le nombre **actuellement utilisé** et le nombre encore **disponible**, ainsi qu'un calcul de l'**utilisation** (le nombre de ressources utilisées divisé par la quantité totale de cette ressource).

   **Pour chaque ressource **non réapprovisionnable**, la console affiche le **nom**, le numéro actuellement **utilisé et le** nombre de ressources encore disponibles.**

Vous pouvez également consulter les informations actuelles sur les ressources consommables à partir d'une page détaillée de la tâche dans la console.

1. Dans le panneau de navigation de gauche de la [AWS Batch console](https://console.aws.amazon.com/batch), choisissez **Tâches**, puis sélectionnez le nom d'une tâche pour ouvrir la page de détails de cette tâche.

1. Les informations relatives aux ressources **réapprovisionnables et aux ressources** **non réapprovisionnables** peuvent être consultées si le travail l'exige. Pour les deux types, la console affiche le **nom** de la ressource, la quantité **demandée** pour le travail, le nombre encore **disponible**, le nombre actuellement **utilisé**, la quantité **totale** de la ressource, ainsi qu'un calcul de l'**utilisation actuelle** (le nombre de ressources utilisées par le travail divisé par la quantité totale de cette ressource).

**API :**

Utilisez l'[`DescribeConsumableResource`API](https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeConsumableResource.html) qui renvoie les informations suivantes :

```
{
   "availableQuantity": number,
   "consumableResourceArn": "string",
   "consumableResourceName": "string",
   "createdAt": number,
   "inUseQuantity": number,
   "resourceType": "string",
   "tags": { 
      "string" : "string" 
   },
   "totalQuantity": number
}
```

L'[`ListConsumableResources`API](https://docs.aws.amazon.com/batch/latest/APIReference/API_ListConsumableResources.html) indique également le nombre de ressources utilisées (`inUseQuantity`) et le nombre total de ressources actuellement disponibles (`totalQuantity`) dans le cadre de la liste de toutes les ressources consommables que vous avez créées dans votre compte. Cette API vous permet également de filtrer la requête de liste des ressources consommables en fonction du nom de la ressource consommable.

# Mettre à jour la quantité d'une ressource lorsqu'elle est utilisée par des tâches
<a name="resource-aware-scheduling-how-to-update-quantity"></a>

Vous pouvez rétablir la quantité totale d'une ressource à une nouvelle valeur, l'ajouter à la quantité totale ou la soustraire.

Si la nouvelle quantité totale que vous spécifiez est supérieure à la quantité précédente, Batch planifie davantage de tâches en conséquence. Si la nouvelle quantité totale est inférieure à la précédente et qu'aucune unité de cette ressource n'est utilisée, Batch réduit simplement la quantité totale (ou disponible). Si des unités sont utilisées, Batch réduit immédiatement la quantité disponible et, une fois les tâches terminées, Batch réduit la quantité totale (disponible) afin qu'elle atteigne finalement le nouveau numéro. 

**Console :**

1. Dans le panneau de navigation de gauche de la [AWS Batch console](https://console.aws.amazon.com/batch), sélectionnez **Ressources consommables**.

1. Sélectionnez l'onglet **Réapprovisionnable** ou **Non réapprovisionnable** pour afficher les ressources de ce type que vous avez créées.

1. Pour les **ressources réapprovisionnables** :

   1. Choisissez la ressource que vous souhaitez mettre à jour, puis sélectionnez **Actions** et choisissez **Définir les ressources**, **Ajouter des ressources** ou **Supprimer des ressources**.

   1. Une fenêtre contextuelle apparaît dans laquelle vous pouvez **définir la valeur totale**, **ajouter des ressources** ou **supprimer des ressources** en fonction de l'action que vous avez choisie à l'étape précédente. Entrez la quantité que vous souhaitez définir comme nouvelle valeur totale, que vous souhaitez ajouter à la quantité totale ou que vous souhaitez soustraire de la quantité totale, puis sélectionnez **OK**.

   Pour les **ressources non réapprovisionnables** :

   1. Choisissez la ressource que vous souhaitez mettre à jour, puis sélectionnez **Actions** et choisissez **Définir les ressources**, **Ajouter des ressources** ou **Supprimer des ressources**.

   1. Une fenêtre contextuelle apparaît dans laquelle vous pouvez **définir la valeur disponible**, **ajouter des ressources** ou **supprimer des ressources** en fonction de l'action que vous avez choisie à l'étape précédente. Entrez la quantité que vous souhaitez définir comme nouvelle valeur disponible, que vous souhaitez ajouter à la quantité disponible ou que vous souhaitez soustraire de la quantité disponible, puis sélectionnez **OK**.

**API :**

Utilisez l'[`UpdateConsumableResource`API](https://docs.aws.amazon.com/batch/latest/APIReference/API_UpdateConsumableResource.html) pour définir une nouvelle quantité totale pour la ressource, ou pour augmenter ou réduire la quantité totale.

# Trouvez les tâches qui nécessitent une ressource consommable spécifique
<a name="resource-aware-scheduling-how-to-find-jobs"></a>

Batch vous permet de récupérer une liste de tâches qui nécessitent une ressource consommable spécifique.

**Console :**

1. Dans le panneau de navigation de gauche de la [AWS Batch console](https://console.aws.amazon.com/batch), sélectionnez **Ressources consommables**.

1. Dans la liste, sélectionnez le nom de la ressource consommable. La page de détails de cette ressource s'ouvre.

1. Sous **Rechercher des emplois**, entrez les filtres que vous souhaitez appliquer à la liste des emplois. Vous pouvez filtrer en fonction du **nom de la tâche** (« égal à », « commence par »), de la **plage de dates (date** de création de la tâche) et de **critères supplémentaires** (« file d'attente des tâches », « définition de la tâche », « identifiant de tâche partagé »). Pour chaque type de filtre que vous souhaitez appliquer, sélectionnez l'une des options disponibles dans la liste déroulante et entrez les informations supplémentaires demandées.

   Choisissez **Rechercher**.

1. Une liste (filtrée) des tâches nécessitant la ressource consommable s'affiche, y compris le nom de la tâche, le statut, le nombre d'unités demandées de la ressource consommable, les autres ressources consommables nécessaires, etc. À l'aide de cette liste, vous pouvez sélectionner une ou plusieurs tâches à **annuler** ou à **terminer**. Vous pouvez également sélectionner le nom d'une tâche pour ouvrir la page détaillée de cette tâche.

1. Sous **Rechercher des tâches**, vous pouvez désormais **actualiser les résultats** ou **effacer la recherche** et recommencer à zéro.

**API :**

Vous pouvez obtenir une liste des tâches qui utilisent une ressource consommable spécifique grâce à l'[`ListJobsByConsumableResource`API](https://docs.aws.amazon.com/batch/latest/APIReference/API_ListJobsByConsumableResource.html). Cette API vous permet également de filtrer la requête de liste des tâches en utilisant le statut ou le nom de la tâche.

# Supprimer une ressource consommable
<a name="resource-aware-scheduling-how-to-delete"></a>

Vous pouvez supprimer une ressource consommable à tout moment, même lorsque les tâches nécessitant cette ressource sont toujours en cours d'exécution. Une fois qu'une ressource consommable est supprimée, il peut y avoir un intervalle entre le moment où la commande de suppression est reçue et le moment où le planificateur de tâches honore la suppression. Il est donc possible que les tâches consommant la ressource soient planifiées juste après l'appel de suppression. Si la ressource consommable supprimée possède le type de ressource (`resourceType`)`REPLENISHABLE`, cela sera ignoré une fois les tâches terminées. Si vous supprimez une ressource consommable et que vous la recréez sous le même nom, elle est considérée comme la même ressource et elle peut être utilisée par `RUNNABLE` des tâches.

**Console :**

1. Dans le panneau de navigation de gauche de la [AWS Batch console](https://console.aws.amazon.com/batch), sélectionnez **Ressources consommables**.

1. Sélectionnez l'onglet **Réapprovisionnable** ou **Non réapprovisionnable** pour afficher les ressources de ce type que vous avez créées.

1. Sélectionnez chaque ressource que vous souhaitez supprimer, puis choisissez **Supprimer**. Une fenêtre contextuelle **Supprimer la ressource consommable** apparaît. Pour confirmer la suppression, choisissez **Supprimer**.

Vous pouvez également supprimer une ressource consommable de sa page détaillée dans la console.

1. Dans le panneau de navigation de gauche de la [AWS Batch console](https://console.aws.amazon.com/batch), sélectionnez **Ressources consommables**.

1. Sélectionnez l'onglet **Réapprovisionnable** ou **Non réapprovisionnable** pour afficher les ressources de ce type que vous avez créées.

1. Choisissez le nom de la ressource que vous souhaitez supprimer. La page de détails de la ressource consommable s'affiche. Sélectionnez **Delete (Supprimer)**. Une fenêtre contextuelle **Supprimer la ressource consommable** apparaît. Pour confirmer la suppression, choisissez **Supprimer**.

**API :**

Utilisez l'[`DeleteConsumableResource`API](https://docs.aws.amazon.com/batch/latest/APIReference/API_DeleteConsumableResource.html) pour supprimer une ressource consommable.

# Gestion des quotas
<a name="quota-management"></a>

AWS Batch planifie les tâches en fonction des ressources requises et de la capacité disponible dans l'environnement de service connecté (SE), ce qui permet une utilisation élevée des ressources de calcul. Grâce à la gestion des quotas, les administrateurs peuvent également contrôler le nombre de ressources qu'une équipe ou un projet peut consommer grâce à des allocations de ressources plus précises.

La gestion des quotas permet aux administrateurs d'allouer efficacement les ressources informatiques partagées entre les équipes et les projets en définissant des **parts de quotas** associées, c'est-à-dire AWS Batch des ressources qui incluent des quotas de calcul (**limites de capacité**) et des stratégies de partage des ressources pour les calculs inactifs. Chaque partage de quotas fonctionne comme une file d'attente virtuelle imbriquée dans une file de tâches associée. Lorsque vous planifiez des tâches pour une file d'attente de tâches, toutes les parts de quota associées AWS Batch seront itérées.

Les administrateurs peuvent activer le partage des ressources entre les quotas en toute confiance, car la **préemption** permettra à tout partage de quotas de récupérer les ressources qu'il a prêtées à d'autres en cas de besoin. Dans le cadre d'un partage de quotas, vous pouvez choisir si les tâches en cours doivent être préemptées pour les tâches plus prioritaires ou si vous souhaitez laisser les tâches en cours d'exécution se terminer. Les priorités des tâches peuvent être définies lors de la soumission et mises à jour ultérieurement ; les priorités mises à jour sont prises en compte lorsque les décisions de préemption sont prises. L'utilisation des capacités peut être surveillée au niveau de la file d'attente, du partage des quotas et de la granularité au niveau des tâches.

La gestion des quotas n'est prise en charge que pour les files d'attente de tâches connectées à un environnement `SAGEMAKER_TRAINING` de service.

**Topics**
+ [Partage des quotas](quota-shares.md)
+ [Préemption](preemption.md)
+ [Création de ressources de gestion des quotas](create-quota-management-resources.md)
+ [Création de parts de quotas](create-quota-shares.md)
+ [Soumission d'offres d'emploi à un quota](submit-job-quota-share.md)

# Partage des quotas
<a name="quota-shares"></a>

Les **partages de quotas** sont des files d'attente virtuelles imbriquées sous une file de tâches. Un maximum de 20 peuvent être attachés à une file d'attente de tâches. Les partages de quotas permettent d'attribuer un quota de calcul à une équipe ou à un projet, via l'utilisation de **limites de capacité** ; un partage de quotas nécessite qu'au moins une limite de capacité soit fournie et prend en charge un maximum de 5 limites de capacité. Chaque limite de capacité doit être exprimée sous forme de limites d'instance pour les types d'instances de tâches de SageMaker formation pris en charge.

## Stratégie de partage des ressources par quotas
<a name="quota-share-resource-sharing"></a>

Les partages de quotas ont également une configuration de partage de ressources explicite.
+ Si le calcul inactif d'un partage de quotas doit être réservé uniquement à ses tâches, sélectionnez`RESERVE`.
+ Si le calcul inactif d'un partage de quotas peut être prêté à d'autres parts de quotas, sélectionnez`LEND`.
+ Si le calcul inactif d'un partage de quotas peut être prêté à d'autres parts de quotas et que les tâches associées au partage de quotas doivent être autorisées à emprunter du calcul inactif, sélectionnez `LEND_AND_BORROW` avec une limite d'emprunt configurée.

## Restauration des capacités par préemption
<a name="capacity-limit-restoration"></a>

AWS Batch procédera à une **préemption d'actions croisées** afin de rétablir la capacité empruntée à un quota lorsque des emplois arriveront. Lorsque vous choisissez les tâches à préempter, prenez AWS Batch en compte le nombre et le type d'instances empruntées par une tâche, les priorités relatives des tâches et la durée de la tâche, et appliquez une heuristique personnalisée.

Les administrateurs qui abaissent les limites de capacité d'un partage de quotas peuvent également rendre `SCHEDULED` les `RUNNING` tâches correspondant à ce quota éligibles à la préemption`STARTING`, même si `LEND` ou ont `RESERVE` été sélectionnées comme stratégie de partage des ressources, si la capacité déjà consommée par ce partage de quota est supérieure à ses limites de capacité réduites.

# Préemption
<a name="preemption"></a>

La gestion des quotas est le seul algorithme de AWS Batch planification qui intègre la **préemption**, où AWS Batch s'arrête une `SCHEDULED` `RUNNING` tâche ou une tâche afin de créer de la capacité pour une `RUNNABLE` tâche. `STARTING`

## Préemption d'actions croisées
<a name="cross-share-preemption"></a>

La gestion des quotas utilise la **préemption des partages croisés** pour rétablir la capacité empruntée à un quota lorsque des emplois arrivent.

Les administrateurs qui abaissent les limites de capacité d'un partage de quotas peuvent également rendre `SCHEDULED` éligibles à la préemption les `RUNNING` tâches relevant de ce quota si la capacité consommée par ce partage de quota est désormais supérieure aux limites de capacité configurées. `STARTING`

## Préemption intégrée aux actions
<a name="in-share-preemption"></a>

Les parts de quotas peuvent être configurées pour activer la **préemption intégrée**, ce qui permet aux `RUNNABLE` tâches les plus prioritaires de déclencher la préemption de tâches moins prioritaires dans le cadre du même partage de quota que celui saisi, ou. `SCHEDULED` `STARTING` `RUNNING`

## Algorithme de sélection par préemption
<a name="preemption-selection-algorithm"></a>

Lorsque vous choisissez les tâches à préempter, AWS Batch prenez en compte le nombre et le type d'instances empruntées par une tâche, les priorités relatives des tâches et leur durée, et appliquez une heuristique personnalisée. Vous pouvez utiliser l'appel [UpdateServiceJob](https://docs.aws.amazon.com/batch/latest/APIReference/API_UpdateServiceJob.html)d'API pour mettre à `schedulingPriority` jour une tâche après sa soumission. Cela peut être utile pour réduire la priorité d'une `RUNNING` tâche (augmentation du risque de préemption) ou pour augmenter la priorité d'une `RUNNABLE` tâche dans un quota avec la préemption intégrée activée, ce qui permet à la tâche de préempter une tâche déjà en cours d'exécution.

## Tentatives de préemption
<a name="preemption-retries"></a>

Par défaut, les tâches préemptées sont replacées en file d'attente sans limite. `RUNNABLE` Pour limiter le nombre de préemptions accordées à un poste, sélectionnez « Soumettre `preemptionRetriesBeforeTermination` une offre d'emploi ». Lorsque `preemptionRetriesBeforeTermination` cette valeur est définie `FAILED` sur 0, les jobs passent à leur première préemption.

Une fenêtre coulissante répertoriant les récentes tentatives de préemption est enregistrée sur la tâche et visible via. [DescribeServiceJob](https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeServiceJob.html)

# Création de ressources de gestion des quotas
<a name="create-quota-management-resources"></a>

La gestion des quotas nécessite des paramètres spécifiques lors de la création d'une politique de planification, d'un environnement de service et d'une file d'attente de tâches associés.

## Conditions préalables
<a name="quota-management-resources-prerequisites"></a>

Avant de créer des ressources de gestion des quotas, assurez-vous de disposer des éléments suivants :
+ Autorisations **IAM : autorisations** permettant de créer et de gérer des files AWS Batch d'attente de travail, des politiques de planification et des environnements de service. Pour de plus amples informations, veuillez consulter [AWS Batch Politiques, rôles et autorisations IAM](IAM_policies.md).

------
#### [ Configure quota management resources (AWS Batch console) ]

La AWS Batch console fournit un flux de travail intégré permettant de créer toutes les ressources nécessaires à la gestion des quotas. Le flux de travail de création de files d'attente de tâches de gestion des quotas crée également des politiques de planification et des environnements de service compatibles avec la gestion des quotas.

1. Ouvrez la AWS Batch console à l'adresse [https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/).

1. Dans le volet de navigation, choisissez **Job queues**, puis **Create**.

1. Pour le **type d'orchestration**, choisissez **SageMakerEntraînement**.

1. Pour la **configuration de la file d'attente des Job** :

   1. Dans **Nom**, entrez le nom de la file d'attente de tâches.

   1. Pour **Priorité**, entrez une valeur comprise entre 0 et 1 000. Une file d'attente de tâches avec une priorité plus élevée est privilégiée pour les environnements de service.

1. Pour **la planification** :

   1. Pour **Algorithme de planification**, choisissez **Gestion des quotas**.

   1. Pour l'**ARN de la politique de planification** :
      + S'il existe déjà une politique de planification qui spécifie la gestion des quotas, sélectionnez-la dans le menu déroulant.
      + Sinon, choisissez **Créer une politique de planification**.

        1. Une barre latérale s'ouvre pour configurer la politique de planification de la gestion des quotas.

        1. Entrez un **nom** pour la politique de planification.

        1. Choisissez **Créer**. Le champ **ARN de la politique de planification** est désormais renseigné.

1. Pour la configuration **de l'environnement** de service, sous **Environnement de service connecté** :
**Note**  
Les environnements de service compatibles avec la gestion des quotas ne peuvent être connectés qu'à une seule file d'attente de tâches compatible avec la gestion des quotas.

   1. Si un environnement de service compatible avec la gestion des quotas a déjà été créé et qu'il n'est pas encore connecté à une file d'attente de tâches compatible avec la gestion des quotas, sélectionnez-le dans le menu déroulant.

   1. Sinon, choisissez **Créer un environnement de service**. Une barre latérale s'ouvre pour configurer l'environnement de service.

      1. Entrez un **nom** pour l'environnement de service.

      1. Indiquez au moins une limite de capacité (et au plus 5). Pour chaque limite de capacité, choisissez un **type d'instance** dans la liste déroulante et un **nombre maximum d'instances**.

1. (Facultatif) Pour les **limites d'état des Job** :

   1. Pour **Mauvaise configuration**, choisissez l'une `SERVICE_ENVIRONMENT_MAX_RESOURCE` des options et entrez la **durée maximale d'exécution (secondes)**.

   1. Pour **Capacité**, choisissez `INSUFFICIENT_INSTANCE_CAPACITY` et entrez la **durée maximale d'exécution (secondes).**

1. Choisissez **Créer une file d'attente de tâches**.

------
#### [ Configure quota management resources (AWS CLI) ]

Pour configurer la gestion des quotas via la AWS CLI, créez une politique de planification, un environnement de service et une file d'attente de tâches. La politique de planification et l'environnement de service doivent être compatibles avec la gestion des quotas et créés avant de créer la file d'attente des tâches.

**Création d'une politique de planification**

Utilisez la `create-scheduling-policy` commande pour créer une politique de planification compatible avec la gestion des quotas. Fournissez une politique de partage des quotas lors de la création :

```
aws batch create-scheduling-policy \
  --name my-qm-sagemaker-scheduling-policy \
  --quota-share-policy idleResourceAssignmentStrategy="FIFO"
```

Vérifiez que la politique de planification a été créée avec succès :

```
aws batch describe-scheduling-policies \
  --arns arn-for-my-qm-sagemaker-scheduling-policy
```

**Création d'un environnement de service**

Utilisez la `create-service-environment` commande pour créer un environnement de service compatible avec la gestion des quotas. Assurez-vous que les limites de capacité utilisent des types d'instances acceptés par les tâches de SageMaker formation, tels que `ml.g6.xlarge` ou`ml.p4d.24xlarge`.

```
aws batch create-service-environment \
  --service-environment-name my-qm-sagemaker-service-env \
  --service-environment-type SAGEMAKER_TRAINING \
  --capacity-limits capacityUnit=instance_type,maxCapacity=instance_count
```

Vérifiez que l'environnement de service a été créé avec succès :

```
aws batch describe-service-environments \
  --service-environments my-qm-sagemaker-service-env
```

**Création d'une file d'attente de tâches**

Utilisez la `create-job-queue` commande pour créer une file d'attente de tâches compatible avec la gestion des quotas. Les critères suivants doivent être satisfaits :
+ Un environnement `SAGEMAKER_TRAINING` de service unique doit être fourni qui n'est actuellement pas connecté à une autre file d'attente de tâches.
+ L'environnement de service doit exprimer les limites de capacité en termes de types d'instances, tels que`ml.m6i.xlarge`, plutôt que`NUM_INSTANCES`.
+ Une politique de planification doit être connectée qui contient un`quotaSharePolicy`.
+ Le `jobQueueType` doit être `SAGEMAKER_TRAINING`.

```
aws batch create-job-queue \
  --job-queue-name my-qm-sagemaker-jq \
  --job-queue-type SAGEMAKER_TRAINING \
  --priority 1 \
  --service-environment-order order=1,serviceEnvironment=my-qm-sagemaker-service-env \
  --scheduling-policy-arn arn-for-my-qm-sagemaker-scheduling-policy
```

Vérifiez que la file d'attente des tâches a été créée avec succès :

```
aws batch describe-job-queues \
  --job-queues my-qm-sagemaker-jq
```

Assurez-vous que :
+ Le `state` est `ENABLED`
+ Le `status` est `VALID`
+ Le `statusReason` est `JobQueue Healthy`

------

# Création de parts de quotas
<a name="create-quota-shares"></a>

Les partages de quotas fonctionnent comme des files d'attente virtuelles au sein de la file de tâches associée entre lesquelles le AWS Batch planificateur itère lors de la planification. Ils permettent aux administrateurs d'allouer un quota de calcul à une équipe ou à un projet via` capacity limits `, avec une configuration explicite pour la stratégie de partage des ressources. 

## Conditions préalables
<a name="create-quota-shares-prerequisites"></a>

Avant de créer des parts de quotas, assurez-vous de disposer des éléments suivants :
+ **Politique de planification de gestion des quotas, environnement de service et file d'attente des tâches** : politique de planification de gestion des quotas, environnement de service et file d'attente des tâches avec la gestion des quotas activée. Pour de plus amples informations, veuillez consulter [Création de ressources de gestion des quotas](create-quota-management-resources.md).
+ Autorisations **IAM : autorisations** permettant de créer et de gérer des partages de AWS Batch quotas. Pour de plus amples informations, veuillez consulter [AWS Batch Politiques, rôles et autorisations IAM](IAM_policies.md).

------
#### [ Configure quota shares (AWS Batch console) ]

1. Ouvrez la AWS Batch console à l'adresse [https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/).

1. Dans le volet de navigation, choisissez **Queues de tâches** et sélectionnez une file d'attente de tâches compatible avec la gestion des quotas dans la liste. Choisissez le lien du nom de la file d'attente de tâches.

1. Dans la section **Partage de quotas**, choisissez **Créer un partage de quotas**.

1. Entrez un **nom** pour le partage de quotas.

1. Pour les **limites de capacité**, choisissez **Ajouter des limites de capacité**. Au moins une limite de capacité doit être spécifiée.

   1. Sélectionnez un **type d'instance** dans la liste déroulante et définissez le **nombre maximum d'instances** que ce partage de quota lui a allouées.

   1. (Facultatif) Choisissez **Ajouter des limites de capacité** et répétez l'opération pour fixer au maximum cinq limites de capacité.

1. Pour le **partage de capacité**, choisissez comment ce partage de quota partage sa capacité avec les autres partages de quotas de la même file d'attente de tâches :
   + Sélectionnez **Réserver** si la part de quota ne doit pas prêter ou emprunter du calcul inactif.
   + Sélectionnez **Prêter** si le partage de quotas peut prêter du calcul inactif à d'autres parts de quotas.
   + Sélectionnez **Prêter et emprunter** si la part du quota permet à la fois de prêter et d'emprunter du calcul inactif, le calcul prêté étant récupéré via la préemption des partages croisés lorsque le travail arrive.

1. (Facultatif) Pour la **préemption en partage**, choisissez d'activer ou de désactiver la préemption en partage. L'activation de la préemption partagée permet aux tâches les plus prioritaires de préempter les tâches moins prioritaires qui sont déjà en cours ou qui sont déjà inscrites. `SCHEDULED` `STARTING` `RUNNING` La désactivation de la préemption en partage signifie que les emplois les plus prioritaires attendront que la capacité soit disponible.

1. Choisissez **Créer un partage de quotas**.

------
#### [ Configure quota shares (AWS CLI) ]

Utilisez la `create-quota-share` commande pour créer un partage de quotas. Vous devez choisir une stratégie de partage des ressources et activer ou non la préemption intégrée au partage.

**Exemple de prêt et d'emprunt**

L'exemple suivant crée un partage de quotas qui permet de prêter et d'emprunter de la capacité inutilisée, avec une limite d'emprunt de 100 % des limites de capacité configurées. Il permet également la préemption intégrée, de sorte que les tâches les plus prioritaires n'attendent pas la fin des tâches moins prioritaires planifiées dans SageMaker AI.

```
aws batch create-quota-share \
  --quota-share-name lend_and_borrow_qs \
  --job-queue my-qm-sagemaker-jq \
  --capacity-limits maxCapacity=5,capacityUnit=ml.m6i.large \
  --resource-sharing-configuration strategy=LEND_AND_BORROW,borrowLimit=100 \
  --preemption-configuration inSharePreemption=ENABLED
```

**Prêter uniquement un exemple**

Les parts de quotas peuvent être configurées pour prêter uniquement de la capacité inutilisée, mais pas pour l'emprunter elles-mêmes. L'exemple suivant correspond à la désactivation `LEND` de la préemption intégrée au partage.

```
aws batch create-quota-share \
  --quota-share-name lend_qs \
  --job-queue my-qm-sagemaker-jq \
  --capacity-limits maxCapacity=8,capacityUnit=ml.m6i.large \
  --resource-sharing-configuration strategy=LEND \
  --preemption-configuration inSharePreemption=DISABLED
```

**Exemple de réserve**

Les parts de quotas peuvent également être configurées pour réserver de la capacité inutilisée. Les tâches récemment soumises pour lesquelles un partage de quotas a une capacité inutilisée peuvent démarrer plus tôt, mais l'utilisation globale de la file d'attente sera inférieure si un partage de quotas ne contient aucune tâche.

```
aws batch create-quota-share \
  --quota-share-name reserved_qs \
  --job-queue my-qm-sagemaker-jq \
  --capacity-limits maxCapacity=2,capacityUnit=ml.m6i.large \
  --resource-sharing-configuration strategy=RESERVE \
  --preemption-configuration inSharePreemption=DISABLED
```

------

# Soumission d'offres d'emploi à un quota
<a name="submit-job-quota-share"></a>

Les files d'attente pour les tâches de gestion des quotas nécessitent que toutes les tâches spécifient une part de quota lors de la soumission des tâches. Pour soumettre des tâches à un partage de quotas, spécifiez le `quotaShareName` dans [SubmitServiceJob](https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitServiceJob.html). Un `preemptionConfiguration` peut éventuellement être fourni pour limiter le nombre de tentatives de préemption avant le début d'une tentative de travail. `FAILED` Pour limiter le nombre de préemptions auxquelles un poste peut être soumis, définissez-le `preemptionRetriesBeforeTermination` au moment de [ServiceJobPreemptionConfiguration](https://docs.aws.amazon.com/batch/latest/APIReference/API_ServiceJobPreemptionConfiguration.html)la soumission du poste.

## Soumettez une offre d'emploi à l'aide du AWS CLI
<a name="submit-job-quota-share-cli"></a>

L'exemple suivant utilise la **submit-service-job** commande pour soumettre une tâche à un partage de quotas.

```
aws batch submit-service-job \
    --job-name "my-sagemaker-training-job" \
    --job-queue "my-sagemaker-job-queue" \
    --service-job-type "SAGEMAKER_TRAINING" \
    --quota-share-name "my_quota_share" \
    --timeout-config '{"attemptDurationSeconds":3600}' \
    --scheduling-priority 5 \
    --service-request-payload '{\"TrainingJobName\": \"sagemaker-training-job-example\", \"AlgorithmSpecification\": {\"TrainingImage\": \"123456789012.dkr.ecr.us-east-1.amazonaws.com/pytorch-inference:1.8.0-cpu-py3\", \"TrainingInputMode\": \"File\", \"ContainerEntrypoint\":  [\"sleep\", \"1\"]}, \"RoleArn\":\"arn:aws:iam::123456789012:role/SageMakerExecutionRole\", \"OutputDataConfig\": {\"S3OutputPath\": \"s3://example-bucket/model-output/\"}, \"ResourceConfig\": {\"InstanceType\": \"ml.m5.large\", \"InstanceCount\": 1, \"VolumeSizeInGB\": 1}}'"
```