

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 공정 공유 예약 정책
<a name="job_scheduling"></a>

 AWS Batch 스케줄러는 작업 대기열에 제출된 작업을 실행하는 시기, 위치 및 방법을 평가합니다. 작업 대기열을 생성할 때 예약 정책을 지정하지 않으면 AWS Batch 작업 스케줄러는 기본적으로 선입선출(FIFO) 전략으로 설정됩니다. FIFO 전략을 사용하면 중요한 작업이 이전에 제출된 작업 뒤에 “묶여” 있을 수 있습니다. 다른 스케줄 정책을 지정하여 특정 요구 사항에 따른 컴퓨팅 리소스를 할당할 수 있습니다.

**참고**  
작업이 실행되는 특정 순서를 예약하려면 [SubmitJob](https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitJob.html)의 `[dependsOn](https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitJob.html#Batch-SubmitJob-request-dependsOn)` 파라미터를 사용하여 각 작업의 종속성을 지정합니다.

예약 정책을 생성하여 작업 대기열에 연결하면 공정 공유 예약이 활성화됩니다. 작업 대기열에 예약 정책이 있으면 예약 정책이 작업 실행 순서를 결정합니다. 자세한 내용은 [공정 공유 예약 정책을 사용하여 공유 식별자 할당](scheduling-policies.md) 단원을 참조하십시오.

**Topics**
+ [공유 식별자를 사용하여 워크로드 식별](share-identifiers.md)
+ [공정 공유 예약 정책을 사용하여 공유 식별자 할당](scheduling-policies.md)
+ [공정 공유 일정을 사용하여 작업 예약 지원](fair-share-scheduling.md)
+ [자습서: 공정 공유 예약 정책 생성](create-scheduling-policy.md)
+ [참조: 공정 공유 예약 정책 템플릿](scheduling-policy-template.md)

# 공유 식별자를 사용하여 워크로드 식별
<a name="share-identifiers"></a>

공유 식별자를 사용하여 작업에 태그를 지정하고 사용자와 워크로드를 구분할 수 있습니다. AWS Batch 스케줄러는 `(T * weightFactor)` 공식을 사용하여 각 공유 식별자의 사용량을 추적합니다. 여기서 *`T`*는 시간 경과에 따른 vCPU 사용량입니다. 스케줄러는 공유 식별자에서 사용량이 가장 적은 작업을 선택합니다. 공유 식별자는 재정의하지 않고도 사용할 수 있습니다.

**참고**  
공유 식별자는 작업 대기열 내에서만 유효하며 작업 대기열 간에 집계되지 않습니다.

공정 공유 예약 우선 순위를 설정하여 공유 식별자에서 작업이 실행되는 순서를 구성할 수 있습니다. 예약 우선 순위가 높은 작업이 먼저 예약됩니다. 공정 공유 예약 정책을 지정하지 않으면 작업 대기열에 제출된 모든 작업이 FIFO 순서로 예약됩니다. 작업을 제출할 때 공유 식별자나 공정 공유 예약 우선 순위를 지정할 수 없습니다.

**참고**  
연결된 컴퓨팅 리소스는 명시적으로 재정의되지 않는 한 모든 공유 식별자에게 동일하게 할당됩니다.

# 공정 공유 예약 정책을 사용하여 공유 식별자 할당
<a name="scheduling-policies"></a>

공정 공유 예약 정책을 사용하여 작업 대기열의 컴퓨팅 리소스가 사용자 또는 워크로드 간에 할당되는 방식을 구성할 수 있습니다. 공정 공유 예약 정책을 사용하면 워크로드 또는 사용자에게 서로 다른 공유 식별자를 할당할 수 있습니다.는 일정 기간 동안 사용 가능한 총 리소스의 백분율을 각 공유 식별자에 AWS Batch 할당합니다.

공정 공유율은 `shareDecaySeconds` 및 `shareDistribution` 값을 사용하여 계산됩니다. 사용자는 정책에 공유 소멸 시간을 할당하여 공정 공유 분석에 시간을 늘릴 수 있습니다. 시간을 추가하면 시간에 더 많은 가중치가 부여되고 지정된 가중치는 줄어듭니다. 사용자는 컴퓨팅 예약을 지정하여 활성 상태가 아닌 공유 식별자를 위해 컴퓨팅 리소스를 유보해 둘 수 있습니다. 자세한 내용은 [SchedulingPolicyDetail](https://docs.aws.amazon.com/batch/latest/APIReference/API_SchedulingPolicyDetail.html)을 참조하세요.

# 공정 공유 일정을 사용하여 작업 예약 지원
<a name="fair-share-scheduling"></a>

공정 공유 예약은 작업 예약에 도움이 되는 일련의 제어 기능을 제공합니다. 예약 정책 파라미터에 대한 자세한 내용은 [SchedulingPolicyDetail](https://docs.aws.amazon.com/batch/latest/APIReference/API_SchedulingPolicyDetail.html)을 참조하세요.
+ **감소 초 공유 **- AWS Batch 스케줄러가 각 공유 식별자에 대한 공정 공유 백분율을 계산하는 데 사용하는 기간(초)입니다. 값이 0이면 현재 사용량만 측정됨을 나타냅니다. 성능 저하 시간이 길수록 시간에 더 많은 가중치를 부여합니다.
**참고**  
성능 저하 시간은 다음과 같이 계산됩니다. *`shareDecaySeconds + OrderMinutes`* 여기서 *`OrderMinutes `* 시간은 분 단위로 정렬됩니다.
+ **컴퓨팅 예약 —** 단일 공유 식별자의 작업이 작업 대기열에 연결된 모든 리소스를 사용하는 것을 방지합니다. 예약 비율은 `(computeReservation/100)^ActiveFairShares`입니다. 여기서 `ActiveFairShares`는 활성 공유 식별자 수입니다.
**참고**  
공유 식별자에 작업이 `SUBMITTED`, `PENDING`, `RUNNABLE`, `STARTING` 또는 `RUNNING` 상태이면 활성 공유 식별자로 간주됩니다. 성능 저하 기간이 만료되면 공유 식별자는 비활성 상태로 간주됩니다.
+ **가중치 계수 –** 공유 식별자의 가중치 계수입니다. 기본값은 1입니다. 값이 낮을수록 공유 식별자의 작업이 실행되도록 허용하거나 공유 식별자에 추가 런타임이 제공됩니다. 예를 들어, 가중치 0.125(1/8)로 공유 식별자를 사용하는 작업은 가중치 1로 공유 식별자를 사용하는 작업 보다 8배의 1 컴퓨팅 리소스를 할당 받습니다.
**참고**  
기본 가중치 계수인 1을 업데이트해야 하는 경우에만 이 속성을 정의하면 됩니다.

작업 대기열이 활성 상태이고 작업을 처리 중인 경우 작업 대기열 스냅샷을 통해 처음 100개의 `RUNNABLE` 작업 목록을 검토할 수 있습니다. 자세한 내용은 [에서 작업 대기열 보기 AWS Batch](job_queue_viewing_status.md) 단원을 참조하십시오.

# 자습서: 공정 공유 예약 정책 생성
<a name="create-scheduling-policy"></a>

예약 정책을 사용하여 작업 대기열을 생성하려면 먼저 예약 정책을 생성해야 합니다. 공정 공유 예약 정책을 생성할 때는 하나 이상의 공유 식별자 또는 공유 식별자 접두사를 대기열의 가중치와 연결하고 선택적으로 정책에 저하 기간 및 컴퓨팅 예약을 할당합니다.

**공정 공유 예약 정책을 생성하려면**

1. [https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/) AWS Batch 콘솔을 엽니다.

1. 탐색 모음에서 사용할 리전을 선택합니다.

1. 탐색 창에서 **예약 정책**, **생성**을 선택합니다.

1. **이름**에 정책의 고유 이름을 입력합니다. 최대 128개의 문자(대문자 및 소문자), 숫자, 하이픈 및 밑줄이 허용됩니다.

1. (선택 사항) **성능 저하 초 공유**에는 공정 공유 예약 정책의 공유 저하 시간을 정수 값으로 입력합니다. 공유 저하 시간이 길수록 작업을 예약할 때 상당히 더 많은 컴퓨팅 리소스가 사용됩니다. 이렇게 하면 해당 공유 식별자가 최근에 컴퓨팅 리소스를 사용한 적이 없다는 가정하에 공유 식별자를 사용하는 작업이 공유 식별자에 대한 가중치가 허용하는 것보다 더 많은 컴퓨팅 리소스를 일시적으로 사용할 수 있습니다.

1. (선택 사항) **컴퓨팅 예약**에는 공정 공유 예약 정책의 컴퓨팅 예약에 대한 정수 값을 입력합니다. 컴퓨팅 예약은 현재 활성화되지 않은 공유 식별자에 사용할 수 있도록 일부 vCPU를 예비 보관합니다.

   예약 비율은 `(computeReservation/100)^ActiveFairShares`이며 *ActiveFairShares*는 활성화된 공유 식별자 수입니다.

   예를 들어 값이 `computeReservation` 50이면가 공유 식별자가 하나뿐인 경우 사용 가능한 최대 VCPU의 50%, 공유 식별자가 두 개 있는 경우 25%, 공유 식별자가 세 개 있는 경우 12.5%를 예약 AWS Batch 해야 함을 나타냅니다. `computeReservation` 값이 25인 경우 AWS Batch 는 공정 공유 식별자가 1개뿐이면 사용 가능한 최대 VCPU의 25%, 공유 식별자가 2개이면 6.25%, 공유 식별자가 3개이면 1.56%를 예약해야 함을 나타냅니다.

1. **속성 공유** 섹션에서 각 공유 식별자의 공유 식별자 및 가중치를 지정하여 공정 공유 예약 정책과 연결할 수 있습니다.

   1. **공유 식별자 추가**를 선택합니다.

   1. **공유 식별자**에는 공유 식별자를 지정합니다. 문자열이 '\$1'로 끝나는 경우 이는 작업의 공유 식별자를 일치시키는 데 사용되는 공유 식별자 접두사가 됩니다. 예약 정책의 모든 공유 식별자와 공유 식별자 접두사는 고유해야 하며 중복되지 않아야 합니다. 예를 들어 동일한 공정 공유 일정 정책에 공유 식별자 접두사 'UserA\$1'와 공유 식별자 'UserA1'을 사용할 수 없습니다.

   1. **가중치 계수**에는 공유 식별자의 상대적 가중치를 지정합니다. 기본값은 1.0입니다. 값이 낮을수록 컴퓨팅 리소스에 대한 우선순위가 높아집니다. 공유 식별자 접두사를 사용하는 경우 해당 접두사로 시작하는 공유 식별자가 있는 작업도 가중치 계수를 공유합니다. 이렇게 하면 해당 작업에 대한 가중치 계수가 효과적으로 증가하여 개별 우선 순위는 낮아지지만 공유 식별자 접두사의 가중치 계수는 동일하게 유지됩니다.

1. (선택 사항) **태그** 섹션에 각 태그에 대한 키와 값을 지정하여 예약 정책과 연결합니다. 자세한 내용은 [AWS Batch 리소스 태깅](using-tags.md) 단원을 참조하십시오.

1. **제출**을 선택하여 작업을 완료하고 예약 정책을 생성합니다.

# 참조: 공정 공유 예약 정책 템플릿
<a name="scheduling-policy-template"></a>

빈 공정 공유 예약 정책 템플릿은 다음과 같습니다. 이 템플릿을 사용하여 예약 정책을 생성한 다음 파일에 저장하고 옵션과 함께 사용할 수 있습니다 AWS CLI `--cli-input-json`. 이 파라미터에 대한 자세한 내용을 알아보려면 *AWS Batch API 참조*의 [CreateSchedulingPolicy](https://docs.aws.amazon.com/batch/latest/APIReference/API_CreateSchedulingPolicy.html) 작업을 참조하세요.

**참고**  
다음 AWS CLI 명령을 사용하여 작업 대기열 템플릿을 생성할 수 있습니다.  

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

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