

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Políticas de agendamento de compartilhamento justo
<a name="job_scheduling"></a>

O AWS Batch agendador avalia quando, onde e como executar trabalhos que são enviados para uma fila de trabalhos. Se você não especificar uma política de agendamento ao criar uma fila de trabalhos, o AWS Batch agendador de trabalhos usará como padrão uma estratégia FIFO (primeiro a entrar, primeiro a sair). Uma estratégia FIFO (por ordem de chegada) pode fazer com que trabalhos importantes fiquem “presos” atrás de trabalhos que foram enviados anteriormente. Ao especificar uma política de agendamento diferente, você pode alocar recursos de computação de acordo com suas necessidades específicas. 

**nota**  
Se você quiser programar a ordem específica em que os trabalhos são executados, use o `[dependsOn](https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitJob.html#Batch-SubmitJob-request-dependsOn)` parâmetro in [SubmitJob](https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitJob.html)para especificar as dependências de cada trabalho.

Se você criar uma política de agendamento e anexá-la a uma fila de trabalhos, o agendamento de compartilhamento justo será ativado. Se a fila de trabalhos tiver uma política de agendamento, a política de agendamento determinará a ordem em que os trabalhos serão executados. Para obter mais informações, consulte [Usar políticas de agendamento de compartilhamento justo para atribuir identificadores de compartilhamento](scheduling-policies.md).

**Topics**
+ [Usar identificadores de compartilhamento para identificar workloads](share-identifiers.md)
+ [Usar políticas de agendamento de compartilhamento justo para atribuir identificadores de compartilhamento](scheduling-policies.md)
+ [Usar o agendamento de compartilhamento justo para ajudar a agendar trabalhos](fair-share-scheduling.md)
+ [Tutorial: Crie uma política de agendamento de compartilhamento justo](create-scheduling-policy.md)
+ [Referência: Modelo de política de agendamento de compartilhamento justo](scheduling-policy-template.md)

# Usar identificadores de compartilhamento para identificar workloads
<a name="share-identifiers"></a>

Você pode usar identificadores de compartilhamento para marcar trabalhos e diferenciar usuários e workloads. O AWS Batch programador rastreia o uso de cada identificador de compartilhamento usando a `(T * weightFactor)` fórmula, onde *`T`*está o uso da vCPU ao longo do tempo. O agendador seleciona trabalhos com o menor uso do identificador de compartilhamento. Você pode usar um identificador de compartilhamento sem substituí-lo.

**nota**  
Os identificadores de compartilhamento são exclusivos em uma fila de trabalhos e não são agregados nas filas de trabalhos. 

Você pode definir a prioridade do agendamento de compartilhamento justo para configurar a ordem em que os trabalhos são executados em um identificador de compartilhamento. Trabalhos com prioridade de agendamento mais alta são agendados primeiro. Se você não especificar uma política de agendamento de compartilhamento justo, todos os trabalhos enviados à fila de trabalhos serão agendados na ordem FIFO. Ao enviar um trabalho, você não pode especificar um identificador de compartilhamento ou a prioridade de agendamento do compartilhamento justo.

**nota**  
Os recursos de computação anexados são alocados igualmente entre todos os identificadores de compartilhamento, a menos que sejam explicitamente substituídos.

# Usar políticas de agendamento de compartilhamento justo para atribuir identificadores de compartilhamento
<a name="scheduling-policies"></a>

Você pode usar políticas de agendamento de compartilhamento justo para configurar como os recursos computacionais em uma fila de trabalhos são alocados entre usuários ou cargas de trabalho. Usando políticas de agendamento de compartilhamento justo, você pode atribuir diferentes identificadores de compartilhamento a cargas de trabalho ou usuários. AWS Batch atribui a cada identificador de compartilhamento uma porcentagem do total de recursos que estão disponíveis durante um período de tempo. 

A percentagem de compartilhamento justo é calculada usando os valores `shareDecaySeconds` e `shareDistribution`. Você pode adicionar tempo à análise de compartilhamento justo atribuindo um tempo de decaimento à política. Adicionar tempo dá mais peso ao tempo e menos ao peso definido. Você pode reservar recursos de computação para identificadores de compartilhamento que não estejam ativos especificando uma reserva de computação. Para obter mais informações, consulte [SchedulingPolicyDetail](https://docs.aws.amazon.com/batch/latest/APIReference/API_SchedulingPolicyDetail.html).

# Usar o agendamento de compartilhamento justo para ajudar a agendar trabalhos
<a name="fair-share-scheduling"></a>

O agendamento de compartilhamento justo fornece um conjunto de controles para ajudar a agendar trabalhos. Para obter mais informações sobre parâmetros de política de agendamento, consulte [SchedulingPolicyDetail](https://docs.aws.amazon.com/batch/latest/APIReference/API_SchedulingPolicyDetail.html). 
+ **Segundos de diminuição do compartilhamento —** O período de tempo (em segundos) que o AWS Batch programador usa para calcular uma porcentagem de participação justa para cada identificador de compartilhamento. Um valor zero indica que somente o uso atual é medido. Um tempo de degradação mais longo dá mais peso ao tempo.
**nota**  
O período de tempo de degradação é calculado como: *`shareDecaySeconds + OrderMinutes`*, onde *`OrderMinutes `* é o tempo na ordem em minutos.
+ **Reserva de computação:** impede que trabalhos em um único identificador de compartilhamento usem todos os recursos anexados à fila de trabalhos. A proporção reservada é `(computeReservation/100)^ActiveFairShares` onde `ActiveFairShares` é o número de identificadores de compartilhamento ativos.
**nota**  
Se um identificador de compartilhamento tiver trabalhos em um estado `SUBMITTED`, `PENDING`, `RUNNABLE`,`STARTING` ou `RUNNING`, ele será considerado um identificador de compartilhamento ativo. Após o período de degradação expirar, um identificador de compartilhamento é considerado inativo.
+ **Fator de ponderação:** o fator de ponderação para o identificador de compartilhamento justo. O valor padrão é 1. Um valor menor permite que trabalhos do identificador de compartilhamento sejam executados ou forneça runtime adicional ao identificador de compartilhamento. Por exemplo, trabalhos que usam um identificador de compartilhamento com um fator de ponderação de 0,125 (1/8) obtêm oito vezes os recursos de computação dos trabalhos que usam um identificador de compartilhamento com um fator de ponderação 1.
**nota**  
Você só precisa definir esse atributo quando precisar atualizar o fator de peso padrão de 1.

Quando a fila de trabalhos estiver ativa e processando trabalhos, é possível revisar uma lista dos 100 primeiros trabalhos `RUNNABLE` por meio do snapshot da Fila de trabalhos. Para obter mais informações, consulte [Exibir uma fila de trabalhos em AWS Batch](job_queue_viewing_status.md). 

# Tutorial: Crie uma política de agendamento de compartilhamento justo
<a name="create-scheduling-policy"></a>

Antes de criar uma fila de tarefas com uma política de agendamento, você precisa criar uma política de agendamento. Ao criar uma política de agendamento justo, você associa um ou mais identificadores de compartilhamento, ou prefixos de identificadores de compartilhamento, com pesos para a fila e, opcionalmente, atribui um período de decaimento, além de calcular a reserva para a política.

**Para criar uma política de agendamento de compartilhamento justo**

1. Abra o AWS Batch console em [https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/).

1. Na barra de navegação, selecione a Região a ser usada.

1. No painel de navegação, escolha **Políticas de Agendamento**, **Criar**.

1. Em **Nome**, insira um nome exclusivo para a sua política de agendamento. São permitidos até 128 caracteres (caixa alta e baixa), números, hifens e sublinhados.

1. (Opcional) Para **Segundos de decaimento de compartilhamento**, insira um valor inteiro para o tempo de decaimento de compartilhamento da política de programação de compartilhamento justo. Um tempo maior de decaimento de compartilhamentos usará consideravelmente mais recursos de computação por um período maior ao agendar trabalhos. Isso permitirá que trabalhos utilizando um identificador de compartilhamento utilizem mais recursos de computação temporariamente do que o peso do identificador de compartilhamento permitiria, caso não estivesse usando recursos de computação recentes.

1. (Opcional) Em **Reserva de computação**, insira um valor inteiro para reserva de computação da política de programação de compartilhamento justo. A reserva de computação manterá alguns v CPUs em reserva para serem usados para identificadores de compartilhamento que não estão ativos no momento.

   A proporção reservada é `(computeReservation/100)^ActiveFairShares` onde *ActiveFairShares* é o número de identificadores de compartilhamento ativos.

   Por exemplo, um `computeReservation` valor de 50 indica que AWS Batch deve reservar 50% da VCPU máxima disponível se houver apenas um identificador de compartilhamento, 25% se houver dois identificadores de compartilhamento e 12,5% se houver três identificadores de compartilhamento. Um valor `computeReservation` de 25 indica que AWS Batch deve reservar 25% da vCPU máxima disponível caso haja apenas um identificador de compartilhamento, 6,25% em caso de dois identificadores de compartilhamento e 1,56% caso haja três identificadores de compartilhamento.

1. Na seção **Atributos de compartilhamento**, é possível especificar o identificador de compartilhamento e peso de cada identificador de compartilhamento associado à política de agendamento.

   1. Escolha **Adicionar Identificador de Compartilhamento**.

   1. Para **Identificador de compartilhamento**, especifique o identificador de compartilhamento. Se a string terminar com “\$1”, isso torna-se um prefixo de identificador de compartilhamento para equiparar identificadores de compartilhamento para trabalhos. Todos os identificadores de compartilhamento e prefixos de identificador de compartilhamento em uma política de agendamento devem ser exclusivos e não podem se sobrepor. Por exemplo, você não pode ter identificadores de compartilhamento justo com prefixo “UserA\$1” e identificador de compartilhamento “UserA1” na mesma política de programação de compartilhamento justo.

   1. Para o **Fator de peso**, especifique o peso relativo para o identificador de compartilhamento. O valor padrão é 1.0. Um valor mais baixo terá prioridade mais alta para recursos de computação. Se um prefixo de identificador de compartilhamento for usado, trabalhos com identificadores de compartilhamento que começarem com o prefixo compartilharão o fator peso. Isso aumenta efetivamente o fator peso desses trabalhos, enquanto diminui sua prioridade individual e mantém o mesmo fator para o prefixo do identificador de compartilhamento.

1. (Opcional) Na seção **Tags**, você pode especificar a chave e o valor de cada tag associada à política de agendamento. Para mais informações, consulte [Marcar com tag os recursos do AWS Batch](using-tags.md).

1. Escolha **Enviar** para finalizar e criar sua política de agendamento.

# Referência: Modelo de política de agendamento de compartilhamento justo
<a name="scheduling-policy-template"></a>

Um modelo vazio de política de agendamento de compartilhamento justo é mostrado abaixo. Você pode usar esse modelo para criar sua política de agendamento, que pode ser salva em um arquivo e usada com a AWS CLI `--cli-input-json` opção. Para obter mais informações sobre esses parâmetros, consulte [CreateSchedulingPolicy](https://docs.aws.amazon.com/batch/latest/APIReference/API_CreateSchedulingPolicy.html)a *Referência AWS Batch da API*.

**nota**  
Você pode gerar um modelo de fila de trabalhos com o AWS CLI comando a seguir.  

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

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