효과적인 용량 계획은 Azure Batch 워크로드가 필요할 때 필요한 컴퓨팅 리소스를 갖도록 하는 데 도움이 됩니다. 이 문서에서는 Batch 용량의 구조화 방법, 워크로드에 대한 할당량을 계획하는 방법 및 할당 실패 위험을 줄이는 방법을 설명합니다.
할당량은 용량 보장이 아니라 한도입니다. 미리 계획을 수립하면 적절한 할당량을 요청하고, 복원력 있는 구성을 선택하고, 용량이 제한될 때 정상적으로 대응할 수 있습니다. 특정 기본값 및 최대값은 Batch 서비스 할당량 및 제한을 참조하세요.
배치가 업무량에 맞는지 확인하세요
Azure가 스케줄링을 서비스로 제공하고 애플리케이션에서 작업을 풀, 작업(Job), 태스크(Task)로 구성할 수 있는 경우 Batch를 사용하세요. 배치 용량을 계획하기 전에 다음 대안들을 고려해 보세요:
- 특정 HPC 스케줄러를 운영하거나 클러스터 토폴로지와 소프트웨어 스택을 맞춤화하거나 기존 온프레미스 워크플로우와 밀접하게 연계해야 할 때 Azure CycleCloud를 선택하세요.
- 구독에 네트워킹, 스토리지, 접근 구성 요소가 제공된 즉시 배포 가능한 슬럼 환경을 원한다면 Azure CycleCloud Workspace for Slurm을 선택하세요.
배치 운영 모델이 적합하다면, 다음 섹션을 통해 최대 수요를 추정하고, VM 선택하며, 쿼터를 계산하고, 생산 풀을 생성하기 전에 대체 옵션을 정의하세요.
용량 계층 구조
일괄 처리 용량은 여러 계층에서 제어되며, 각 계층은 아래 계층을 제한합니다. 유효 용량은 체인에서 가장 엄격한 제한이 허용하는 용량입니다.
맨 위에서 Azure 지역은 각 VM 제품군에 사용할 수 있는 물리적 데이터 센터 용량을 제공합니다. 지역별 용량은 사용자가 제어하는 고정 값이 아닙니다. 시간이 지남에 따라 VM 시리즈에 따라 달라집니다. 그러면 구독 할당량 이 지역당 VM 제품군당 허용되는 코어 제한을 설정합니다. 사용자 구독 풀 할당 모드에서 이러한 구독 할당량은 Batch 풀에 직접 적용됩니다. Batch 계정 할당량은 Batch 계정당 허용되는 코어, 풀 및 활성 작업을 설정합니다. Batch 서비스 풀 할당 모드에서는 이러한 계정 수준 할당량이 적용됩니다. 마지막으로 풀 제한은 풀 위의 할당량 및 Batch 서비스에서 설정한 풀 크기 제한 에 따라 풀당 노드 수를 제한합니다.
계정에 적용되는 계층 이해는 풀 할당 모드에 따라 달라집니다. 자세한 내용은 Batch 계정 및 풀 할당 모드를 참조하세요.
용량 요구 사항 계획
프로덕션 풀을 만들기 전에 워크로드에 필요한 리소스를 예측합니다. 다음 질문을 통해 워크로드 특성을 할당량 요청으로 변환합니다.
- 워크로드 프로필. 동시 작업 및 작업의 최대 수는 어떻게 됩니까? 평균 작업 기간 및 메모리 요구 사항은 무엇인가요? 작업에 GPU 또는 MPI(다중 노드) 조정이 필요한가요?
- VM 선택. 워크로드와 가장 일치하는 VM 제품군 및 크기 는 무엇인가요? 코어 수와 각 VM이 제공하는 메모리 양
- 풀 크기 조정. 노드당 동시에 실행되는 태스크 수는 몇 개입니까(노드 코어 수의 최대 4배, 노드당 256개의 작업 슬롯으로 제한됨)? 최대 동시 작업 수를 감안할 때 필요한 노드 수는 몇 개입니까? 전용 노드와 스폿 노드 간에 용량을 분할하려면 어떻게 해야 할까요?
- 할당량 요구 사항입니다. 최대 노드 수를 VM당 코어 수에 곱하여 필요한 총 코어를 가져옵니다. 이 합계를 현재 할당량과 비교하여 요청 증가량을 결정합니다.
- 비용 견적. VM 시간당 속도 및 예상 런타임을 사용하여 일일 및 월별 비용을 예측합니다. 자세한 내용은 Azure Batch 비용 관리 계획을 참조하세요.
현재 할당량을 확인하고 증가를 요청하려면 Batch 할당량 보기 및 할당량 증가를 참조하세요. 할당량 요청을 사전에 제출하고 적당한 증분 증가로 시작합니다. 할당량을 크게 늘리려면 수동 검토가 필요할 수 있으며 며칠에서 몇 주가 걸릴 수 있습니다.
용량을 사전에 관리
제약 조건이 되기 전에 용량을 계획합니다.
- 할당량 사용량을 모니터링합니다. 할당량에 대한 핵심 사용량을 추적하고 사용량이 한도에 가까워지면 경고합니다(예: 70-80%). 자세한 내용은 Batch 솔루션 모니터링을 참조하세요.
- 자동 크기 조정을 사용합니다. 고정된 과도하게 프로비전된 노드 수를 보유하는 대신 수요에 따라 풀이 증가하고 축소되도록 자동 크기 조정 을 구성합니다. 일반적인 패턴은 보장된 진행률을 위해 전용 노드의 기준을 유지하고 추가 처리량을 위해 스폿 노드로 버스트합니다.
- 지역 및 계정에 분산됩니다. 여러 지역 또는 Batch 계정에 워크로드를 분산하여 더 많은 집계 용량에 액세스합니다. 활성 작업 및 풀과 같은 서비스 할당량은 각 고유한 Batch 계정에 적용됩니다.
용량 제약 조건 처리
계획이 있더라도 할당 오류가 발생할 수 있습니다. 복원력 있는 워크플로를 디자인합니다.
- 다시 시도하고 다양화합니다. 풀이 대상 크기에 도달할 수 없는 경우 몇 분 후에 다시 시도하거나 다른 VM 크기를 시도하거나 다른 지역을 시도합니다. 리소스 가용성은 시간이 지남에 따라 변경됩니다.
- 대상 변경 작업 단일 정적 풀을 사용하지 않습니다. 풀이 확장될 수 없는 경우 작업을 VM 크기가 다른 풀을 포함한 다른 풀로 다시 대상으로 지정할 수 있도록 합니다. 자세한 내용은 Azure Batch 모범 사례를 참조하세요.
- 스폿 선점용으로 빌드합니다.스폿 노드는 Azure 용량을 다시 필요로 할 때 선점할 수 있습니다. 스폿 노드는 내결함성 작업에만 사용하고, 풀이 자동으로 복구될 수 있도록 전용 노드 및 자동 크기 조정과 함께 사용하세요.
할당 및 할당량 오류의 자세한 증상, 원인 및 해결 방법은 문제 해결 지침을 참조하세요.
생산 전에 용량 검증
대표적인 작업, 예상 데이터 용량, 생산 풀 구성을 포함한 개념 증명을 실행하세요. 모든 기준에 대한 증거를 기록할 수 있을 때까지 설계를 생산용 승인하지 마세요:
| 조건 | 기록할 증거 |
|---|---|
| 작업량 완료 | 작업은 프로덕션 작업 의존성, 애플리케이션 패키지, 입출력 데이터 경로와 함께 올바르게 완료됩니다. |
| 규모와 할당량 | 풀은 배치 계정, 구독, VM 가족 할당량을 초과하지 않고 목표 영역에서 필요한 노드 수를 달성합니다. |
| Performance | 풀 할당, 데이터 전송, 계산, 결과 지속성을 포함한 종단 간 작업 시간은 목표를 충족합니다. |
| Recovery | 노드 손실, 작업 실패, 또는 스팟 선점 사용 후에도 작업은 기록된 최대 복구 시간과 허용된 체크포인트 손실 내에 머물며, 완료 기한을 지키고 계획된 백업 VM 크기 또는 풀을 성공적으로 사용합니다. |
| Cost | 측정된 컴퓨트, 스토리지, 네트워킹, 완료 작업당 라이선스 비용은 예상 실행 빈도에서 목표를 달성합니다. |
| Operations | 알림은 할당량 압박, 할당 실패, 실패한 작업을 식별하며, 소유자는 업무 부하를 재타겟팅하거나 복구할 수 있습니다. |
기준이 실패하면 풀 크기, VM 선택, 저장 경로, 재시도 동작 또는 지역 백업을 수정하고 같은 작업을 반복합니다. 작은 기능 테스트는 생산 능력을 입증하지 못합니다. 왜냐하면 최대 규모, 할당량, 데이터 이동을 달성하지 못하기 때문입니다.
모범 사례
| 연습 | 설명 |
|---|---|
| 할당량 조기 요청 | 할당량 요청을 사전에 제출합니다. 큰 증가는 몇 주까지 며칠이 걸릴 수 있습니다. |
| 여유 용량을 고려해 계획하세요 | 증가를 허용하기 위해 현재 피크보다 약간 더 많은 할당량을 요청합니다. |
| 여러 지역 사용 | 여러 지역에 워크로드를 분산하여 더 많은 집계 용량에 액세스합니다. |
| 사용량 모니터링 | 코어 사용량이 할당량의 70~80% 도달하면 경고합니다. |
| 적절한 크기의 VM | 과도하게 프로비저닝하는 대신 VM 제품군 및 크기를 워크로드에 일치합니다. |
| Spot을 현명하게 사용 | 내결함성 워크로드에 대한 스폿 노드를 예약하고 전용 노드와 페어링합니다. |
| 자원을 정리하세요 | 사용하지 않는 풀을 삭제하여 계정 할당량을 해제합니다. |