

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Políticas de programación de reparto justo
<a name="job_scheduling"></a>

El AWS Batch programador evalúa cuándo, dónde y cómo ejecutar los trabajos que se envían a una cola de trabajos. Si no especifica una política de programación al crear una cola de trabajos, el programador de trabajos utilizará de forma predeterminada la AWS Batch estrategia de «primero en entrar, primero en salir» (FIFO). Una estrategia FIFO puede provocar que los trabajos importantes se queden “atascados” con respecto a los trabajos que se enviaron anteriormente. Al especificar una política de programación diferente, puede asignar los recursos de computación de acuerdo con sus necesidades específicas. 

**nota**  
Si desea programar el orden específico en el que se ejecutan los trabajos, utilice el `[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 las dependencias de cada trabajo.

Si crea una política de programación y la adjunta a una cola de trabajos, se activará la programación de reparto justo. Si la cola de trabajos tiene una política de programación, la política de programación determina el orden en que se ejecutan los trabajos. Para obtener más información, consulte [Uso de políticas de programación de reparto justo para asignar identificadores de participación equitativa](scheduling-policies.md).

**Topics**
+ [Uso de identificadores de reparto para identificar las cargas de trabajo](share-identifiers.md)
+ [Uso de políticas de programación de reparto justo para asignar identificadores de participación equitativa](scheduling-policies.md)
+ [Uso de una programación de reparto justo para ayudar a programar los trabajos](fair-share-scheduling.md)
+ [Tutorial: Cree una política de programación de reparto justo](create-scheduling-policy.md)
+ [Referencia: plantilla de política de programación de reparto equitativo](scheduling-policy-template.md)

# Uso de identificadores de reparto para identificar las cargas de trabajo
<a name="share-identifiers"></a>

Puede usar los identificadores de recursos compartidos para etiquetar los trabajos y diferenciar entre usuarios y cargas de trabajo. El AWS Batch planificador realiza un seguimiento del uso de cada identificador de recurso compartido mediante la `(T * weightFactor)` fórmula, donde *`T`*es el uso de la vCPU a lo largo del tiempo. El programador selecciona los trabajos con el menor uso a partir del identificador de recursos compartidos. Puede usar un identificador de reparto sin anularlo.

**nota**  
Los identificadores de acciones son únicos dentro de una cola de trabajos y no se agregan entre las colas de trabajos. 

Puede establecer la prioridad de programación de reparto justo para configurar el orden en que se ejecutan los trabajos en un identificador de recursos compartidos. Los trabajos con una prioridad de programación más alta se programan primero. Si no especifica una política de programación de reparto justo, todos los trabajos que se envían a la cola de trabajos se programan en orden FIFO. Al enviar trabajos, no puede especificar identificadores de cuota ni prioridades de programación de reparto justo.

**nota**  
Los recursos de computación adjuntos se asignan por igual entre todos los identificadores de recursos compartidos, a menos que se anulen de forma explícita.

# Uso de políticas de programación de reparto justo para asignar identificadores de participación equitativa
<a name="scheduling-policies"></a>

Puede utilizar políticas de programación equitativas para configurar cómo se asignan los recursos informáticos de una cola de trabajos entre los usuarios o las cargas de trabajo. Al utilizar políticas de programación equitativas, puede asignar distintos identificadores de reparto a las cargas de trabajo o a los usuarios. AWS Batch asigna a cada identificador de recurso compartido un porcentaje del total de recursos que están disponibles durante un período de tiempo. 

El porcentaje de reparto justo se calcula utilizando los valores `shareDecaySeconds` y `shareDistribution`. Puede añadir tiempo al análisis del reparto justo asignando un tiempo de caída de participación de las acciones a la política. Agregar tiempo da más peso al tiempo y menos al peso definido. Si especifica una reserva informática, puede reservar los recursos de computación para los identificadores de reparto que no estén activos. Para obtener más información, consulte [SchedulingPolicyDetail](https://docs.aws.amazon.com/batch/latest/APIReference/API_SchedulingPolicyDetail.html).

# Uso de una programación de reparto justo para ayudar a programar los trabajos
<a name="fair-share-scheduling"></a>

La programación de reparto justo proporciona un conjunto de controles para ayudar a programar los trabajos. Para obtener más información acerca de los parámetros de política de programación, consulte [SchedulingPolicyDetail](https://docs.aws.amazon.com/batch/latest/APIReference/API_SchedulingPolicyDetail.html). 
+ **Segundos de disminución de las acciones:** período de tiempo (en segundos) que el AWS Batch programador utiliza para calcular un porcentaje de participación equitativa para cada identificador de acciones. Un valor de cero indica que solo se mide el uso actual. Un tiempo de decaimiento más largo da más peso al tiempo.
**nota**  
El período de tiempo de descomposición se calcula de la siguiente manera: *`shareDecaySeconds + OrderMinutes`* donde *`OrderMinutes `* es el tiempo del pedido en minutos.
+ **Reserva de computación:** evita que los trabajos de un único identificador de recurso compartido consuman todos los recursos adjuntos a la cola de trabajos. La proporción reservada es `(computeReservation/100)^ActiveFairShares`, donde `ActiveFairShares` es el número de identificadores de reparto activos.
**nota**  
Si un identificador de recursos compartidos tiene trabajos en un estado `SUBMITTED`, `PENDING`, `RUNNABLE`, `STARTING`, o `RUNNING` se considera un identificador de recurso compartido activo. Una vez transcurrido el período de inactividad, el identificador de acciones se considera inactivo.
+ **Factor de ponderación**: el factor de ponderación para el identificador de cuota justa. El valor predeterminado es 1. Un valor inferior permite ejecutar los trabajos del identificador de recurso compartido o proporciona tiempo de ejecución adicional al identificador de recurso compartido. Por ejemplo, los trabajos que utilizan un identificador de recurso compartido con un factor de peso de 0,125 (1/8) obtienen ocho veces los recursos de computación de los trabajos que utilizan un identificador de recurso compartido con un factor de ponderación de 1.
**nota**  
Solo necesita definir este atributo cuando necesite actualizar el factor de ponderación predeterminado de 1.

Cuando la cola de trabajos esté activa y procese trabajos, podrá revisar una lista de los primeros 100 trabajos de `RUNNABLE` mediante la instantánea de la cola de trabajos. Para obtener más información, consulte [Ver una lista de trabajos en espera en AWS Batch](job_queue_viewing_status.md). 

# Tutorial: Cree una política de programación de reparto justo
<a name="create-scheduling-policy"></a>

Antes de crear una cola de trabajos con una política de programación, debe crear una política de programación. Al crear una política de programación, se asocian uno o más identificadores de reparto o prefijos de identificador de reparto a las ponderaciones de la cola y, si lo prefiere, se le asigna un período de reducción y se calcula la reserva a la política.

**Para crear una política de programación equitativa**

1. Abre la AWS Batch consola en. [https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/)

1. En la barra de navegación, seleccione la región a utilizar.

1. En el panel de navegación, elija **Políticas de programación**, **Creación de**.

1. Para **Nombre**, escriba un nombre único para la política de programación. Se admiten hasta 128 letras (mayúsculas y minúsculas), números, guiones y caracteres de subrayado.

1. (Opcional) En **Segundos de decaimiento de cuota**, introduzca un valor entero para el tiempo de decaimiento de cuota de la política de programación de reparto justo. Un tiempo de decaimiento de la cuota más largo utilizará muchos más recursos de computación durante un tiempo más largo al programar los trabajos. Esto puede permitir que los trabajos que utilizan un identificador de reparto utilicen temporalmente más recursos de computación de los que permitiría el peso de ese identificador si ese identificador de reparto no hubiera utilizado recursos de computación recientemente.

1. (Opcional) En **Reserva de computación**, introduzca un valor entero para la reserva de cálculo de la política de programación de reparto justo. La reserva de cómputo guardará una v CPUs en reserva para utilizarla como identificadores de acciones que no estén activos actualmente.

   La proporción reservada es `(computeReservation/100)^ActiveFairShares`, donde *ActiveFairShares* es el número de identificadores de reparto activos.

   Por ejemplo, un `computeReservation` valor de 50 indica que se AWS Batch debe reservar el 50% de la CPU virtual máxima disponible si solo hay un identificador de recurso, el 25% si hay dos identificadores de recurso y el 12,5% si hay tres identificadores de recurso. Un valor `computeReservation` de 25 indica que AWS Batch debe reservar el 25 % de la VCPU máxima disponible si solo hay un identificador de reparto, el 6,25 % si hay dos identificadores de reparto y el 1,56 % si hay tres identificadores de reparto.

1. En la sección **Atributos de cuota**, puede especificar el identificador de reparto y el peso de cada identificador de reparto para asociarlos a la política de programación de reparto justo.

   1. Seleccione **Añadir identificador de reparto**.

   1. En **Identificador de reparto**, especifique el identificador de reparto. Si la cadena termina con “\$1”, se convierte en un prefijo identificador de reparto que se utiliza para hacer coincidir los identificadores de reparto de los trabajos. Todos los identificadores de reparto y los prefijos de los identificadores de reparto de una política de programación deben ser únicos y no pueden superponerse. Por ejemplo, los identificadores de reparto no pueden tener el prefijo “UserA\$1” y el identificador de reparto “userA1” en la misma política de programación de reparto justo.

   1. En **Factor de ponderación**, especifique la ponderación relativa para el identificador de reparto. El valor predeterminado es 1.0. Un valor más bajo tiene una mayor prioridad para los recursos de computación. Si se utiliza un prefijo identificador de reparto, los trabajos con identificadores de reparto que comiencen con ese prefijo compartirán el factor de ponderación. De hecho, esto aumenta el factor de ponderación de esos puestos de trabajo, lo que reduce su prioridad individual, a la vez que mantiene el mismo factor de ponderación para el prefijo identificador de reparto.

1. (Opcional) En la sección **Etiquetas**, puede especificar la clave y el valor de cada etiqueta que desea asociar a la política de programación. Para obtener más información, consulte [Etiquetar los recursos de AWS Batch](using-tags.md).

1. Seleccione **Enviar** para terminar y crear su política de programación.

# Referencia: plantilla de política de programación de reparto equitativo
<a name="scheduling-policy-template"></a>

A continuación se muestra una plantilla vacía de política de programación de reparto justo. Puede usar esta plantilla para crear su política de programación, que luego se puede guardar en un archivo y usar con la AWS CLI `--cli-input-json` opción. Para obtener más información sobre estos parámetros, consulte [CreateSchedulingPolicy](https://docs.aws.amazon.com/batch/latest/APIReference/API_CreateSchedulingPolicy.html)la *referencia de la AWS Batch API*.

**nota**  
Puede generar una plantilla de cola de trabajos con el siguiente AWS CLI comando.  

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

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