2.10. gang 스케줄링
gang 스케줄링은 필요한 모든 리소스를 사용할 수 있는 경우에만 관련 작업의 그룹 또는 gang 이 시작되도록 합니다. Red Hat build of Kueue는 OpenShift Container Platform 클러스터가 갱단에서 모든 관련 작업을 시작하고 실행할 수 있는 용량을 보장할 때까지 작업을 일시 중지하여 gang 스케줄링을 활성화합니다. 이는 all-or-nothing 스케줄링이라고도 합니다.
GPU와 같이 비용이 많이 드는 리소스가 제한된 경우 gang 스케줄링이 중요합니다. gang 스케줄링을 사용하면 작업이 GPU 사용률을 개선하고 실행 비용을 줄일 수 있는 GPU를 사용하지 않도록 할 수 있습니다. 또한 gang 스케줄링은 리소스 분할 및 교착 상태와 같은 문제를 방지하는 데 도움이 될 수 있습니다.
2.10.1. gang 스케줄링 구성 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 관리자는 Kueue
CR(사용자 정의 리소스)에서 gangScheduling
사양을 수정하여 gang 스케줄링을 구성할 수 있습니다.
gang 스케줄링 이 구성된 Kue
CR의 예
- 1
정책
값을 설정하여 gang 예약을 활성화하거나 비활성화할 수 있습니다. 가능한 값은ByWorkload
,None
또는 빈 값 (""
)입니다.ByWorkload
-
정책
값이ByWorkload
로 설정되면 각 작업이 처리되고 허용을 단일 단위로 간주합니다. 지정된 시간 내에 작업이 준비되지 않으면 전체 작업이 제거되고 나중에 다시 시도합니다. 없음
-
정책
값을None
으로 설정하면 gang 스케줄링이 비활성화됩니다. - 비어 있음(
""
) -
정책
값이 비어 있거나""
로 설정된 경우 Kue Operator의 Red Hat 빌드에서 gang 스케줄링 설정을 결정합니다. 현재 gang 스케줄링은 기본적으로 비활성화되어 있습니다.
- 2
정책
값이ByWorkload
로 설정된 경우 작업 승인 설정을 구성해야 합니다.허용
사양에 사용 가능한 값은Parallel
,Sequential
또는 비어 있음(""
)입니다.병렬
-
허용 값이
할 수 있습니다. 이로 인해 작업이 클러스터 용량에 대한 경합에 있는 교착 상태가 발생할 수 있습니다. 교착 상태가 발생하면 다른 작업에서 Pod를 성공적으로 예약하면 Pod 예약이 현재 작업에서 발생하지 않을 수 있습니다.Parallel
으로 설정되면 언제든지 작업의 Pod를 승인 순차적
-
승인
값이Sequential
으로 설정되면 현재 처리 작업의 Pod만 허용됩니다. 현재 작업의 모든 Pod가 승인되고 준비되면 Red Hat build of Kueue가 다음 작업을 처리합니다. 클러스터에 여러 작업에 대한 충분한 용량이 있는 경우 순차적 처리 속도가 느려질 수 있지만 작업의 모든 Pod가 성공적으로 예약될 가능성이 높습니다. - 비어 있음(
""
) -
승인
값이 비어 있거나""
로 설정된 경우 Kueue Operator의 Red Hat build에서 작업 승인 설정을 결정합니다. 현재승인
값은 기본적으로병렬
으로 설정됩니다.