배열 작업 - AWS Batch

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

배열 작업

배열 작업은 작업 정의, 메모리 등의 공통 매개 변수를 공유하는 작업입니다. vCPUs 여러 호스트에 걸쳐 배포될 수 있으며 동시에 실행할 수 있는 관련 개별 기본 작업의 모음으로 실행됩니다. 배열 작업은 Monte Carlo 시뮬레이션, 파라미터 스윕 또는 대규모 렌더링 작업과 같이 고도의 병렬 작업을 처리하는 가장 효율적인 방법입니다.

AWS Batch 어레이 작업은 일반 작업과 마찬가지로 제출됩니다. 하지만 배열 크기(2~10,000)를 지정하여 얼마나 많은 하위 작업이 배열에서 실행되어야 하는지를 정의합니다. 배열 크기가 1,000인 작업을 제출하는 경우 단일 작업은 1,000개의 하위 작업을 실행 및 생성합니다. 배열 작업은 모든 하위 작업을 관리하는 참조 또는 포인터입니다. 이를 통해 단일 쿼리를 포함한 대규모 워크로드를 제출할 수 있습니다. attemptDurationSeconds 파라미터에 지정된 제한 시간은 각 하위 작업에 적용됩니다. 상위 배열 작업에는 제한 시간이 없습니다.

배열 작업을 제출하면 상위 배열 작업에 일반 AWS Batch 작업 ID가 부여됩니다. 각 하위 작업의 기본 ID는 동일합니다. 각 하위 작업은 동일한 기본 ID를 갖지만 하위 작업에 대한 배열 인덱스는 상위 ID의 끝에 추가됩니다(예: 배열의 첫 번째 하위 작업의 경우 example_job_ID:0).

상위 배역 작업은 SUBMITTED, PENDING, FAILED 또는 SUCCEEDED 상태를 입력할 수 있습니다. 하위 작업이 RUNNABLE(으)로 업데이트되면 상위 배열 작업이 PENDING(으)로 업데이트됩니다. 이러한 종속성에 대한 자세한 내용은 작업 종속성 섹션을 참조하세요.

실행 시간 시 AWS_BATCH_JOB_ARRAY_INDEX 환경 변수가 컨테이너의 해당 배열 인덱스 번호에 설정됩니다. 첫 번째 배열 작업 인덱스에는 0(이)가 지정되고 이후 시도는 1, 2, 3 등과 같이 오름차순으로 횟수가 지정됩니다. 이 인덱스 값을 사용하여 차별화된 배열 작업 하위에 따라 관리할 수 있습니다. 자세한 내용은 자습서: 배열 작업 인덱스를 사용한 작업 차별화 관리 단원을 참조하십시오.

배열 작업 종속성의 경우 SEQUENTIAL 또는 N_TO_N(와)과 같이 종속성의 유형을 지정할 수 있습니다. 작업 ID를 입력하지 않고 SEQUENTIAL 유형 종속성을 지정할 수 있습니다. 그러면 각 하위 배열 작업은 인덱스 0부터 순차적으로 완료됩니다. 예를 들어 배열 크기가 100인 배열 작업을 제출하고, 종속성 유형을 SEQUENTIAL(으)로 지정한 경우 100개의 하위 작업이 순차적으로 생성됩니다. 그리고 첫 번째 하위 작업이 성공해야 다음 하위 작업이 시작됩니다. 아래 그림은 배열 크기가 10인 배열 작업, Job A를 보여줍니다. Job A의 하위 인덱스에 있는 각 작업은 이전 하위 작업에 종속적입니다. Job A:0이 완료된 이후에 Job A:1이 시작할 수 있습니다.

Flowchart showing Job-A with sequential child jobs A:0 through A:9, connected by arrows.

배열 작업의 작업 ID로 N_TO_N 유형의 종속성을 지정할 수도 있습니다. 이 방법을 사용하면 이 작업의 각 인덱스 하위는 각 종속성의 해당 인덱스 하위가 완료될 때까지 기다린 후에만 시작할 수 있습니다. 아래 그림은 배열 크기가 각각 10,000인 2개의 배열 작업, Job A와 Job B를 보여줍니다. Job B의 하위 인덱스에 있는 각 작업은 Job A의 해당 인덱스에 종속적입니다. Job B:1은 Job A:1이 완료될 때까지 시작할 수 없습니다.

Two array jobs, Job-A and Job-B, with 10,000 indexed tasks each, showing N_TO_N dependency.

상위 배열 작업을 취소하거나 종료하면 모든 하위 작업도 함께 취소되거나 종료됩니다. 다른 하위 작업에 영향을 주지 않고 개별 하위 작업을 취소하거나 종료할 수 있습니다 (이렇게 하면 해당 작업이 FAILED 상태로 이동). 그러나 하위 배열 작업이 자체적으로 실패하거나 작업을 수동으로 취소하거나 종료하여 실패하면 상위 작업도 실패합니다. 이 시나리오에서는 상위 작업이 모든 하위 작업이 완료되는 시점으로 FAILED 전환됩니다.