기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
정책
Amazon SageMaker HyperPod 태스크 거버넌스는 Amazon EKS 클러스터 리소스 할당 방식과 태스크 우선순위 지정 방식을 간소화합니다. 다음은 HyperPod EKS 클러스터 정책에 대한 정보를 제공합니다. 태스크 거버넌스를 설정하는 방법에 대한 자세한 내용은 태스크 거버넌스 설정 섹션을 참조하세요.
정책은 컴퓨팅 우선순위 지정과 컴퓨팅 할당으로 나뉩니다. 아래 정책 개념은 이러한 정책의 맥락에서 구성됩니다.
컴퓨팅 우선순위 지정, 즉 클러스터 정책은 유휴 컴퓨팅을 차입하는 방법과 팀별로 작업의 우선순위를 지정하는 방법을 결정합니다.
-
유휴 컴퓨팅 할당은 유휴 컴퓨팅이 팀에 할당되는 방법을 정의합니다. 즉, 미사용 컴퓨팅을 팀에서 차입할 수 있는 방법입니다. 유휴 컴퓨팅 할당을 선택할 때 다음 중에서 선택할 수 있습니다.
-
선착순: 적용하면 팀에 대해 우선순위가 지정되지 않으며 수신되는 각 작업은 할당량 초과 리소스를 얻을 가능성이 동일합니다. 작업은 제출 순서에 따라 우선순위가 지정됩니다. 즉, 사용자가 먼저 요청하면 유휴 컴퓨팅의 100%를 사용할 수 있습니다.
-
공정 공유: 적용하면 팀은 할당된 공정 공유 가중치를 기반으로 유휴 컴퓨팅을 차입합니다. 이러한 가중치는 컴퓨팅 할당에서 정의됩니다. 사용 방법에 대한 자세한 내용은 유휴 컴퓨팅 리소스 공유 예시 섹션을 참조하세요.
-
-
작업 우선순위 지정은 컴퓨팅을 사용할 수 있을 때 작업이 대기열에 추가되는 방법을 정의합니다. 작업 우선순위를 선택할 때 다음 중에서 선택할 수 있습니다.
-
선착순: 적용하면 요청된 순서대로 작업이 대기열에 추가됩니다.
-
작업 순위: 적용하면 우선순위에 정의된 순서대로 작업이 대기열에 추가됩니다. 이 옵션을 선택한 경우 우선순위 지정 시 사용해야 하는 가중치와 함께 우선순위 클래스를 추가해야 합니다. 동일한 우선순위 클래스의 작업은 선착순으로 실행됩니다. 컴퓨팅 할당에서 활성화하면 팀 내에서 우선순위가 더 높은 작업에 의해 우선순위가 낮은 작업에서 작업이 선점됩니다.
데이터 과학자는 작업을 클러스터에 제출할 때 YAML 파일의 우선순위 클래스 이름을 사용합니다. 우선순위 클래스는
형식입니다. 예제는 SageMaker AI 관리형 대기열 및 네임스페이스에 작업 제출 섹션을 참조하세요.priority-class-name-priority -
우선순위 클래스: 이러한 클래스는 용량을 차입할 때 작업에 대한 상대적 우선순위를 설정합니다. 차입한 할당량을 사용하여 작업을 실행하는 경우 수신 작업에 사용할 수 있는 용량이 더 이상 없는 경우 해당 작업보다 우선순위가 높은 다른 작업이 작업을 선점할 수 있습니다. 컴퓨팅 할당에서 선점이 활성화된 경우 우선순위가 높은 작업이 자체 팀 내에서 작업을 선점할 수도 있습니다.
-
-
할당되지 않은 리소스 공유를 통해 팀은 컴퓨팅 할당량을 통해 팀에 할당되지 않은 컴퓨팅 리소스를 빌릴 수 있습니다. 활성화하면 팀이 할당되지 않은 클러스터 용량을 자동으로 빌릴 수 있습니다. 자세한 내용은 할당되지 않은 리소스 공유의 작동 방식 단원을 참조하십시오.
컴퓨팅 할당 또는 컴퓨팅 할당량은 팀의 컴퓨팅 할당과 공정 공유 유휴 컴퓨팅 할당을 위해 팀에 부여되는 가중치(또는 우선순위 수준)를 정의합니다.
-
팀 이름: 팀 이름입니다.
hyperpod-ns-유형의 해당 네임스페이스가 생성됩니다.team-name -
멤버: 팀 네임스페이스의 멤버입니다. Amazon EKS로 오케스트레이션된 HyperPod 클러스터에서 작업을 실행하려면 이 팀에 포함할 데이터 과학자 사용자를 위해 Kubernetes 역할 기반 액세스 제어(RBAC)를 설정해야 합니다. Kubernetes RBAC를 설정하려면 create team role
의 지침을 사용하세요. -
공정 공유 가중치: 유휴 컴퓨팅 할당에 공정 공유가 적용될 때 팀에 할당되는 우선순위 수준입니다. 가장 높은 우선순위의 가중치는 100이고 가장 낮은 우선순위의 가중치는 0입니다. 가중치가 높을수록 팀이 공유 용량 내에서 사용하지 않는 리소스에 더 빨리 액세스할 수 있습니다. 가중치가 0이면 우선순위가 가장 낮다는 의미입니다. 즉, 이 팀은 다른 팀에 비해 항상 불리하다는 의미입니다.
공정 공유 가중치는 사용 가능한 리소스를 두고 다른 팀과 경쟁할 때 이 팀에 상대적으로 우위를 제공합니다. 허용은 가중치가 가장 높고 차입량이 가장 낮은 팀에서 작업을 예약하는 것을 우선시합니다. 예를 들어, 팀 A의 가중치가 10이고 팀 B의 가중치가 5인 경우, 팀 A는 팀 B보다 일찍 예약된 작업이 있는 것처럼 사용하지 않는 리소스에 액세스하는 데 우선순위를 갖습니다.
-
작업 선점: 컴퓨팅은 우선순위에 따라 작업에서 인계됩니다. 기본적으로 유휴 컴퓨팅을 빌리는 팀은 다른 팀의 작업을 선점합니다.
-
대여 및 차입: 팀이 유휴 컴퓨팅을 대여하는 방식과 팀이 다른 팀에서 차입할 수 있는지를 나타냅니다.
-
백분율 기반 차용 한도: 팀이 차용할 수 있는 유휴 컴퓨팅의 한도로, 보장된 할당량의 백분율로 표시됩니다. 팀은 할당된 컴퓨팅의 최대 10,000%를 빌릴 수 있습니다. 여기에 제공하는 값은 백분율로 해석됩니다. 예를 들어 값 500은 500%로 해석됩니다. 이 백분율은 팀 할당량의 모든 리소스 유형(CPU, GPU, 메모리) 및 인스턴스 유형에 균일하게 적용됩니다.
-
절대 차용 한도: 팀이 차용할 수 있는 유휴 컴퓨팅의 한도로, 인스턴스 유형당 절대 리소스 값으로 정의됩니다. 이를 통해 특정 인스턴스 유형에 대한 차용 동작을 세부적으로 제어할 수 있습니다. 인스턴스 수, 액셀러레이터, vCPU, 메모리 또는 액셀러레이터 파티션을 포함하여 컴퓨팅 할당량과 동일한 스키마를 사용하여 절대 제한을 지정해야 합니다. 팀의 할당량에서 하나 이상의 인스턴스 유형에 대한 절대 제한을 지정할 수 있습니다.
-
우선순위 클래스 및 네임스페이스와 같은 이러한 개념의 사용 방법에 대한 자세한 내용은 HyperPod 태스크 거버넌스 AWS CLI 명령 예제 섹션을 참조하세요.
유휴 컴퓨팅 리소스 공유 예시
적절한 할당량 관리를 보장하기 위해 총 예약 할당량은 해당 리소스에 대한 클러스터의 가용 용량을 초과해서는 안 됩니다. 예를 들어 클러스터가 20개의 ml.c5.2xlarge 인스턴스로 구성된 경우 팀에 할당된 누적 할당량은 20 미만으로 유지되어야 합니다.
팀에 대한 컴퓨팅 할당 정책에서 대여 및 차입 또는 대여를 허용하는 경우 유휴 용량은 이러한 팀 간에 공유됩니다. 예를 들어 팀 A와 팀 B에는 대여 및 차입이 활성화되어 있습니다. A 팀은 할당량이 6개이지만 작업에 2개만 사용하고 B 팀은 할당량이 5개이며 작업에 4개를 사용합니다. 4개의 리소스가 필요한 작업이 팀 B에 제출됩니다. 3개는 팀 A에서 차입합니다.
팀의 컴퓨팅 할당 정책이 대여 금지로 설정된 경우 팀은 자체 할당 이외의 추가 용량을 빌릴 수 없습니다.
할당되지 않은 리소스 공유의 작동 방식
할당되지 않은 리소스 공유는 클러스터의 컴퓨팅 할당량에 할당되지 않은 리소스 풀을 자동으로 관리합니다. 즉, HyperPod는 클러스터 상태를 지속적으로 모니터링하고 시간이 지남에 따라 올바른 구성으로 자동 업데이트됩니다.
초기 설정
-
ClusterSchedulerConfig
Enabled에서를IdleResourceSharing로 설정하면(기본값은Disabled) HyperPod 태스크 거버넌스는 클러스터 모니터링을 시작하고 총 노드 용량에서 팀 할당량을 빼서 사용 가능한 유휴 리소스를 계산합니다. -
할당되지 않은 리소스 공유 ClusterQueues는 대여 가능한 리소스 풀을 나타내기 위해 생성됩니다.
-
할당되지 않은 리소스 공유를 처음 활성화하면 인프라 설정이 몇 분 정도 걸립니다. 정책
Status및 ClusterSchedulerConfig를 통해 진행 상황을 모니터링할 수DetailedStatus있습니다.
지속적 조정
-
HyperPod 태스크 거버넌스는 노드 추가 또는 제거, 클러스터 대기열 할당량 업데이트와 같은 변경 사항을 지속적으로 모니터링합니다.
-
변경 사항이 발생하면 할당되지 않은 리소스 공유가 할당량을 다시 계산하고 ClusterQueues를 업데이트합니다. 조정은 일반적으로 몇 초 내에 완료됩니다.
모니터링
할당되지 않은 리소스 공유 ClusterQueues를 확인하여 할당되지 않은 리소스 공유가 완전히 구성되었는지 확인할 수 있습니다.
kubectl get clusterqueue | grep hyperpod-ns-idle-resource-sharing
이름이와 같은 ClusterQueues가 표시되면 할당hyperpod-ns-idle-resource-sharing-cq-1되지 않은 리소스 공유가 활성 상태입니다. 클러스터의 리소스 종류에 따라 할당되지 않은 여러 리소스 공유 ClusterQueues가 존재할 수 있습니다.
할당되지 않은 리소스 공유에 대한 노드 자격
로케이션되지 않은 리소스 공유에는 다음 요구 사항을 충족하는 노드만 포함됩니다.
-
노드 준비 상태
-
할당되지 않은 리소스 풀에 기여하려면 노드가
Ready상태여야 합니다. -
NotReady또는 기타 준비되지 않은 상태의 노드는 용량 계산에서 제외됩니다. -
노드가가 되면 다음 조정 주기에
Ready자동으로 포함됩니다.
-
-
노드 예약 가능 상태
-
이 있는 노드
spec.unschedulable: true는 할당되지 않은 리소스 공유에서 제외됩니다. -
노드를 다시 예약할 수 있게 되면 다음 조정 주기에 자동으로 포함됩니다.
-
-
MIG 구성(GPU 노드만 해당)
-
MIG(다중 인스턴스 GPU) 파티셔닝이 있는 GPU 노드의 경우 노드가 할당되지 않은 리소스 공유
success에 MIG 프로파일을 제공하려면nvidia.com/mig.config.state레이블에가 표시되어야 합니다. -
MIG 구성이 성공적으로 완료되면 이러한 노드가 자동으로 재시도됩니다.
-
-
지원되는 인스턴스 유형
-
인스턴스는 지원되는 SageMaker HyperPod 인스턴스 유형이어야 합니다.
-
SageMaker HyperPod 클러스터에서 지원되는 인스턴스 유형 목록을 참조하세요.
-