기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
HyperPod의 대화형 스페이스에 대한 작업 거버넌스
이 섹션에서는 대화형 스페이스 워크로드를 위해 공유 Amazon SageMaker HyperPod EKS 클러스터를 최적화하는 방법을 다룹니다. 할당량 관리, 우선 순위 예약 및 리소스 공유 정책을 비롯한 Kueue의 태스크 거버넌스 기능을 구성하여 팀의 훈련, 평가 및 배치 처리 활동 전반에 걸쳐 공정한 할당을 유지하면서 개발 워크로드가 중단 없이 실행되도록 하는 방법을 알아봅니다.
대화형 스페이스 관리 작동 방식
공유 HyperPod EKS 클러스터에서 대화형 스페이스를 효과적으로 관리하려면 Kueue의 기존 기능을 사용하여 다음 작업 거버넌스 전략을 구현합니다.
우선순위 클래스 구성
다른 작업 유형보다 먼저 개발 포드가 승인되고 예약되도록 가중치가 높은 대화형 공간(예: 100)에 대한 전용 우선 순위 클래스를 정의합니다. 이 구성을 통해 Interactive Spaces는 클러스터 로드 중에 우선순위가 낮은 작업을 선점할 수 있으며, 이는 중단 없는 개발 워크플로를 유지하는 데 중요합니다.
할당량 크기 조정 및 할당
팀의 ClusterQueue에 충분한 컴퓨팅 리소스를 예약하여 예상 개발 워크로드를 처리합니다. 개발 리소스가 유휴 상태인 기간에는 사용하지 않는 할당량 리소스를 다른 팀의 작업에 일시적으로 할당할 수 있습니다. 개발 수요가 증가하면 이러한 빌린 리소스를 회수하여 보류 중인 대화형 스페이스 포드의 우선순위를 지정할 수 있습니다.
리소스 공유 전략
요구 사항에 따라 두 가지 할당량 공유 접근 방식 중에서 선택합니다.
엄격한 리소스 제어: 대화형 스페이스에서 예약 컴퓨팅 용량을 항상 사용할 수 있도록 할당량 대출 및 차용을 비활성화합니다. 이 접근 방식을 사용하려면 최대 개발 수요를 독립적으로 처리할 수 있을 만큼 큰 크기 할당량이 필요하며 사용량이 적은 기간에는 유휴 노드가 발생할 수 있습니다.
유연한 리소스 공유: 할당량 대출을 활성화하여 다른 팀이 필요할 때 유휴 개발 리소스를 활용할 수 있도록 합니다. 그러나 차용을 비활성화하여 대화형 공간이 예기치 않은 제거로 이어질 수 있는 차용되고 회수 가능한 리소스에서 실행되지 않도록 합니다.
팀 내 선점
동일한 할당량으로 혼합 워크로드(훈련, 평가 및 대화형 공간)를 실행할 때 팀 내 선점 기능을 활성화합니다. 이를 통해 Kueue는 팀 내에서 우선 순위가 낮은 작업을 선점하여 우선 순위가 높은 대화형 스페이스 포드를 수용할 수 있으므로 외부 할당량 차용에 의존하지 않고도 개발 작업을 진행할 수 있습니다.
대화형 스페이스 설정 샘플
다음 예제는 Kueue가 공유 Amazon SageMaker HyperPod 클러스터의 대화형 스페이스에 대한 컴퓨팅 리소스를 관리하는 방법을 보여줍니다.
클러스터 구성 및 정책 설정
클러스터가 다음과 같이 구성되어 있습니다.
-
팀 알파(개발 팀): 대화형 공간에 대한 CPU 할당량 8개
-
팀 베타(ML 팀): 훈련 및 평가를 위한 CPU 할당량 16개
-
팀 감마(연구): 실험을 위한 CPU 할당량 6개
-
정적 프로비저닝: 오토 스케일링 없음
-
총 용량: CPU 30CPUs
공유 CPU 풀은 다음 우선 순위 정책을 사용합니다.
-
대화형 공간: Priority 100
-
훈련: 우선순위 75
-
평가: 우선순위 50
-
배치 처리: 우선 순위 25
Kueue는 개발 팀에 대해 선점 활성화 및 대여 비활성화된 팀 할당량 및 우선 순위 클래스를 적용합니다.
초기 상태: 정상 클러스터 사용률
정상 작업의 경우:
-
팀 알파: CPU 6개, 유휴 CPUs 2개를 사용하여 대화형 공간 6개를 실행합니다CPUs
-
팀 베타: 16개 CPUs 할당량 내에서 훈련 작업(12개 CPU) 및 평가(4CPUs CPU)를 실행합니다.
-
팀 감마: 6CPUs 모두에서 연구 워크로드를 실행합니다.
-
리소스 공유: Team Beta가 추가 훈련을 위해 Team Alpha의 유휴 CPUs 2개를 빌립니다.
개발 스파이크: Team Alpha에 추가 리소스 필요
Team Alpha의 개발자가 개발 작업을 확장해야 하는 경우 추가 대화형 스페이스 포드에는 4CPUs가 더 필요합니다. Kueue는 새 포드가 다음과 같음을 감지합니다.
-
Team Alpha의 네임스페이스 내
-
Priority 100(대화형 공간)
-
할당량 제약으로 인해 허용 보류 중
Kueue의 응답 프로세스
Kueue는 3단계 프로세스를 따라 리소스를 할당합니다.
-
할당량 확인
질문: Team Alpha에 미사용 할당량이 있습니까?
-
현재 사용량: 사용된 CPUs 6개, 사용 가능한 CPUs 2개
-
새로운 요구 사항: CPU 4CPUs 필요
-
결과: 할당량 부족 → 2단계로 진행
-
-
Team Alpha 내 자체 채택
질문: 우선 순위가 낮은 Team Alpha 작업을 선점할 수 있나요?
-
사용 가능한 대상: Team Alpha에서 우선 순위가 낮은 작업 없음
-
결과: 선점 불가 → 3단계로 진행
-
-
빌린 리소스 회수
질문: 다른 팀에서 Team Alpha 리소스를 빌립니까?
-
차용된 리소스: Team Alpha의 CPU 2CPUs 사용하는 Team Beta
-
조치: Kueue는 팀 베타가 빌린 훈련 포드를 제거하여 CPU 2CPUs
-
나머지 요구 사항: 여전히 2CPUs가 더 필요함 → 대화형 스페이스는 리소스를 사용할 수 있을 때까지 NotAdmitted 상태로 유지됨
-
이 접근 방식은 팀 할당량 경계를 유지하고 불안정한 대여 리소스에서 개발 작업이 실행되지 않도록 하면서 대화형 공간의 우선순위를 지정합니다.