Amazon ECS Managed Instances용 GPU 자동 복구
Amazon ECS Managed Instances용 GPU 자동 복구
Amazon ECS는 GPU 하드웨어를 사용하는 Amazon ECS Managed Instances에서 NVIDIA GPU 상태를 모니터링해요. GPU 하드웨어 장애를 감지하면 손상된 인스턴스를 자동으로 교체할 수 있어요. GPU 자동 복구는 Amazon ECS Managed Instances에서 기본적으로 활성화되어 있어요.
출처: 문서
본문
Amazon ECS는 GPU 하드웨어가 있는 관리형 인스턴스에서 NVIDIA Data Center GPU Manager(DCGM)를 사용해 NVIDIA GPU 상태를 모니터링해요. DCGM이 중대한 GPU 장애를 보고하면 Amazon ECS는 인스턴스를 손상(impaired) 상태로 표시해요.
GPU 자동 복구가 활성화되면 Amazon ECS는 start-before-stop 워크플로우로 손상된 인스턴스를 교체해요:
- Amazon ECS는 손상된 인스턴스를
DRAINING상태로 설정해요. 새 태스크는 인스턴스에 배치되지 않아요. - Amazon ECS는 교체 인스턴스를 프로비저닝해요.
- Amazon ECS는 기존 태스크가 정상적으로 중지되도록 허용해요. Amazon ECS는 인스턴스의 태스크에 대한 태스크 중지 타임아웃(task stop timeout)을 존중해요.
- 드레인 기간이 끝나면 Amazon ECS는 손상된 인스턴스를 종료해요.
Amazon ECS는 연쇄 교체를 방지하기 위해 복구 작업을 속도 제한(rate-limit)해요. 용량 공급자에 속한 인스턴스의 20% 이하만 한 번에 드레인될 수 있어요. 용량 공급자에 인스턴스가 9개 미만이면 한 번에 최대 한 개의 인스턴스만 드레인돼요.
GPU 상태 모니터링
DescribeContainerInstances API를 사용해 GPU 상태를 확인할 수 있어요. 자세한 내용은 "Monitor Amazon ECS container instance health"를 참조하세요. 또한 Amazon ECS 컨테이너 인스턴스 상태 변경 이벤트(container instance health change events)를 통해 GPU 상태 변경을 모니터링할 수도 있어요.
모니터링하는 Xid 오류 코드
Amazon ECS는 다음 NVIDIA Xid 오류 코드를 모니터링해요. Amazon ECS가 이러한 오류 중 하나를 감지하면 인스턴스를 손상 상태로 표시하고 인스턴스를 교체해요.
| Xid | 설명 |
|---|---|
| 46 | GPU stopped processing (GPU 처리가 중지됨) |
| 48 | Double Bit ECC Error |
| 54 | Auxiliary power connector not connected (보조 전원 커넥터 미연결) |
| 62 | Internal micro-controller halt (내부 마이크로컨트롤러 정지) |
| 64 | GPU memory remapping failure (GPU 메모리 리매핑 실패) |
| 74 | NVLink Error |
| 79 | GPU has fallen off the bus (GPU가 버스에서 이탈) |
| 95 | Uncontained memory error (제어되지 않은 메모리 오류) |
| 109 | Context switch timeout (컨텍스트 스위치 타임아웃) |
| 110 | GPU disappeared from the bus (GPU가 버스에서 사라짐) |
| 136 | GPU memory page retirement limit exceeded (GPU 메모리 페이지 퇴역 한도 초과) |
| 140 | Unrecoverable ECC Error (복구 불가능한 ECC 오류) |
| 142 | GPU memory page retired due to uncorrectable error (수정 불가능한 오류로 GPU 메모리 페이지 퇴역) |
| 143 | GPU memory page retired due to correctable error threshold (수정 가능한 오류 임계값으로 GPU 메모리 페이지 퇴역) |
| 151 | GPU to CPU interconnect error (GPU-CPU 인터커넥트 오류) |
| 155 | GPU NVLink flit CRC error |
| 156 | GPU NVLink lane error |
| 158 | GPU InfoROM corrupted (GPU InfoROM 손상) |
Xid 오류에 대한 자세한 내용은 NVIDIA GPU 배포 및 관리 문서의 "Xid Errors"를 참조하세요. 개별 Xid 메시지에 대한 자세한 내용은 NVIDIA GPU 배포 및 관리 문서의 "Understanding Xid Messages"를 참조하세요.
자동 복구 비활성화
GPU 자동 복구는 Amazon ECS Managed Instances에서 기본적으로 활성화되어 있어요. GPU 자동 복구를 비활성화하려면 용량 공급자를 만들거나 업데이트할 때 autoRepairConfiguration에서 actionsStatus를 DISABLED로 설정하세요. Amazon ECS 콘솔에서 용량 공급자를 만들거나 업데이트할 때 GPU 자동 복구를 비활성화할 수도 있어요.
GPU 자동 복구가 비활성화되면 Amazon ECS는 GPU 상태를 계속 모니터링하지만 손상된 인스턴스를 자동으로 교체하지는 않아요.
참고: GPU 자동 복구를 비활성화하면 Amazon ECS Managed Daemons 자동 복구도 비활성화돼요. 자세한 내용은 "Amazon ECS Managed Daemons auto repair"를 참조하세요.
GPU 자동 복구를 비활성화하려면
aws ecs update-capacity-provider \
--name my-gpu-capacity-provider \
--managed-instances-provider '{
"infrastructureRoleArn": "arn:aws:iam::111122223333:role/ecsInfrastructureRole",
"instanceLaunchTemplate": {
"ec2InstanceProfileArn": "arn:aws:iam::111122223333:instance-profile/ecsInstanceRole",
"networkConfiguration": {
"subnets": ["subnet-0123456789abcdef0"],
"securityGroups": ["sg-0123456789abcdef0"]
}
},
"autoRepairConfiguration": {
"actionsStatus": "DISABLED"
}
}'
GPU 자동 복구를 활성화하려면
aws ecs update-capacity-provider \
--name my-gpu-capacity-provider \
--managed-instances-provider '{
"infrastructureRoleArn": "arn:aws:iam::111122223333:role/ecsInfrastructureRole",
"instanceLaunchTemplate": {
"ec2InstanceProfileArn": "arn:aws:iam::111122223333:instance-profile/ecsInstanceRole",
"networkConfiguration": {
"subnets": ["subnet-0123456789abcdef0"],
"securityGroups": ["sg-0123456789abcdef0"]
}
},
"autoRepairConfiguration": {
"actionsStatus": "ENABLED"
}
}'
구성을 확인하려면
aws ecs describe-capacity-providers \
--capacity-providers my-gpu-capacity-provider