GKE 동적 슬라이싱 정보

이 문서에서는 Google Kubernetes Engine (GKE)의 동적 슬라이싱 에 대해 설명합니다. 동적 슬라이싱 을 사용하면 프로비저닝된 TPU 하위 블록 을 다양한 토폴로지로 구성할 수 있습니다. 이 기능을 사용하면 노드 풀을 다시 만들 필요가 줄어들고, 오류가 발생할 때 자동 복구를 허용하여 내결함성이 향상되며, 리소스 사용률이 최적화됩니다.

동적 슬라이싱은 TPU 사용률을 최적화하고, 프로비저닝 시간을 줄이고, 대규모 학습 및 추론 워크로드의 내결함성을 개선하려는 AI/ML 엔지니어와 플랫폼 관리자를 대상으로 합니다.

이 문서를 읽기 전에 다음 사항을 숙지해야 합니다.

동적 슬라이싱이란 무엇인가요?

동적 슬라이싱은 TPU 프로비저닝을 분리하여 Cloud TPU 용량 관리에 유연성을 제공합니다. 동적 슬라이싱에는 다음 프로세스가 포함됩니다.

  1. 리소스를 더 작은 단위로 프로비저닝: 리소스를 하위 블록이라는 단위로 프로비저닝합니다. 하위 블록은 Ironwood (TPU7x) 용량의 기본 논리적 빌드 단위입니다. Ironwood (TPU7x)의 경우 하위 블록은 상호 연결된 TPU 칩의 4x4x4 토폴로지를 사용하는 TPU VM의 16개 노드 그룹을 나타냅니다. TPU 모든 용량 모드 및 동적 슬라이싱의 컨텍스트에서 노드 풀은 하위 블록에 직접 매핑됩니다.
  2. 하위 블록 연결: 동적 슬라이싱은 이러한 하위 블록을 더 큰 슬라이스로 연결합니다.

동적 슬라이싱의 이점

동적 슬라이싱을 사용하면 다음을 달성할 수 있습니다.

  • 프로비저닝 시간 단축: 하위 블록을 개별적으로 프로비저닝하면 단일 오류의 영향을 최소화하므로 전체 프로비저닝이 더 빨라집니다.
  • 복구 시간 단축: TPU 칩 오류가 발생하면 오류의 가장 작은 단위 는 하위 블록입니다. 동적 슬라이싱은 결함이 있는 하위 블록을 격리하므로 전체 대형 슬라이스를 다시 프로비저닝하는 것보다 워크로드를 정상 하위 블록에 더 빠르게 다시 예약할 수 있습니다.
  • 용량 재구성: 다양한 워크로드 요구사항이 있는 경우 토폴로지 변경을 위해 노드 풀을 삭제하고 다시 만들 필요가 없습니다. 대신 프로비저닝된 노드 풀을 지정된 모양에 맞게 동적으로 재구성할 수 있습니다.

동적 슬라이싱의 주요 요소

동적 슬라이싱은 다음과 같은 주요 개념을 도입합니다.

  • 노드 풀의 증분 프로비저닝: 동적 슬라이싱은 노드 풀의 내결함성 프로비저닝 모델인 증분 프로비저닝을 사용합니다. 이 모델은 모든 TPU 용량을 TPU VM의 16개 노드 그룹의 노드 풀로 변환합니다.
  • 슬라이스 컨트롤러: 동적 슬라이싱을 관리하는 GKE 제어 영역 내에서 실행되는 Kubernetes 커스텀 리소스 컨트롤러입니다. 슬라이스 컨트롤러는 슬라이스 커스텀 리소스의 수명 주기를 관리합니다. 이는 동적 슬라이스를 나타냅니다. 슬라이스 컨트롤러는 슬라이스 생성, 지속적 모니터링, 삭제를 처리합니다. 스케줄러를 사용하는 경우 스케줄러는 슬라이스 커스텀 리소스의 생성 및 삭제를 안내합니다.
  • 슬라이스 커스텀 리소스: 요청된 TPU 토폴로지를 기반으로 하위 블록을 동적으로 연결합니다. 이 프로세스는 OCS 네트워크의 동적 재구성을 통해 TPU 노드 풀을 연결하여 최적화된 성능을 보장합니다. 슬라이스 커스텀 리소스의 상태 필드를 검사하여 동적 슬라이스 형성의 진행 상황 또는 상태를 검사할 수 있습니다.

동적 슬라이싱을 위한 스케줄러

Kueue토폴로지 인식 스케줄링 (TAS)을 구성하여 슬라이스 커스텀 리소스를 자동으로 만들 수 있습니다. 자체 스케줄러를 사용하여 슬라이스 커스텀 리소스를 관리할 수도 있습니다.

다음 단계