이 문서에서는 Cloud TPU용 Google Kubernetes Engine (GKE)의 동적 슬라이싱 을 설명합니다. 동적 슬라이싱은 워크로드 TPU 슬라이스 요구사항에서 TPU 프로비저닝을 분리하여 TPU 효율성과 유연성을 향상시킵니다. 동적 슬라이싱은 워크로드 시작 시간을 최대 5배, 복구 시간을 최대 4.5배 단축하여 TPU 리소스 사용률을 개선하는 데 도움이 됩니다.
동적 슬라이싱은 대규모 학습 및 추론 워크로드의 TPU 사용률을 최적화하고 프로비저닝 시간을 단축하며 내결함성을 개선하려는 머신러닝 (ML) 엔지니어와 플랫폼 엔지니어를 대상으로 합니다.
이 문서를 읽기 전에 다음 사항을 숙지해야 합니다.
- GKE의 TPU.
- TPU 모든 용량 모드 개요. 동적 슬라이싱 기능은 모든 용량 모드를 사용하는 TPU에서만 사용할 수 있습니다.
동적 슬라이싱이란 무엇인가요?
동적 슬라이싱은 워크로드가 예약될 때 물리적 및 정적 TPU 하드웨어 프로비저닝을 런타임 시 TPU 슬라이스 할당에서 분리하는 GKE TPU 최적화 기능입니다.
정적 TPU 토폴로지를 사용하면 GKE 노드 풀이 생성 중에 구성한 특정 토폴로지에 바인딩됩니다. 이 제한으로 인해 정적 풀의 노드가 실패하면 전체 노드 풀이 영향을 받습니다. 워크로드 토폴로지는 예약되려면 노드 풀 TPU 토폴로지와 정확히 일치해야 하므로 다양한 워크로드에 대해 TPU 인프라를 자주 다시 프로비저닝해야 할 수 있습니다.
동적 슬라이싱을 사용하면 워크로드가 예약될 때 GKE가 런타임 시 TPU 슬라이스를 구성할 수 있습니다. 모든 새 워크로드에 필요한 정확한 TPU 토폴로지로 노드 풀을 수동으로 만드는 대신 전체 TPU 용량을 세분화된 고정 크기 노드 풀로 미리 프로비저닝합니다. Ironwood (TPU7x)의 경우
각 노드 풀은 4x4x4 토폴로지로 구성되며, 이는
하위 블록이라고도 합니다. 하위 블록은 활성 칩 간 상호 연결 (ICI) 토폴로지 메시가 없는 16노드 그룹의 TPU VM을 나타냅니다. 런타임 시 워크로드가 예약되면 GKE 동적 슬라이싱은 TPU 네트워크 상호 연결을 재구성하여 여러 노드 풀을 필요한 대규모 TPU 슬라이스로 스티칭하거나 노드 풀을 세분화하여 더 작은 TPU 슬라이스를 형성합니다. 이 재구성을 통해 워크로드에서 요청한 정확한 다차원 토폴로지를 몇 초 만에 만들 수 있습니다.
동적 슬라이싱의 이점
GKE에서 동적 TPU 아키텍처를 구현하면 다음과 같은 이점이 있습니다.
- 워크로드 복구 속도 향상: 물리적 하드웨어 오류가 발생하면 GKE가 문제를 단일 파티션으로 격리합니다. GKE 슬라이스 컨트롤러는 활성 슬라이스의 모양을 자동으로 변경하고 네트워크를 재구성하여 결함이 있는 파티션을 정상적인 예비 파티션으로 교체합니다. 이 프로세스는 전체 노드 풀을 다시 만드는 것과 비교하여 복원력 또는 복구 시간 (MTTR)을 최대 4.5배 개선합니다.
- 작업 시작 속도 향상: 워크로드 슬라이스를 동적으로 형성할 수 있으므로 정적 노드 풀을 만드는 것과 비교하여 작업 시작 지연 시간이 최대 5배 개선됩니다.
- 오류 격리: 하드웨어 오류는 오류가 발생하는 특정 파티션으로 격리됩니다. 이 격리는 클러스터의 다른 동시 작업이 연쇄 오류로부터 보호하는 데 도움이 됩니다.
- 최적화된 리소스 사용률: 동적 슬라이싱은 유휴 상태이거나 활용도가 낮은 용량을 제거하는 데 도움이 됩니다. 슬라이스는 워크로드 요구사항에 맞게 구성되므로 동적 슬라이싱은 플릿 사용률을 극대화하고 유휴 하드웨어를 최소화하는 데 도움이 됩니다.
- 선언적 조정: 동적 슬라이싱은 Kubernetes 기본 커스텀
리소스 및 주석(예:
JobSet및 Kueue)을 사용합니다. 이 접근 방식은 하위 수준 네트워킹 및 하드웨어 조정을 자동으로 관리합니다.
동적 슬라이싱 구성
동적 슬라이싱은 다음과 같은 구성을 제공합니다.
동적 슈퍼 슬라이싱: 워크로드 예약 시 여러 개의 물리적으로 분리된 미리 프로비저닝된 TPU 노드 풀을 결합하여 단일 가상 슬라이스를 형성합니다. 예를 들어 두 개의
4x4x4노드 풀을 결합하여4x4x8토폴로지를 형성할 수 있습니다. 이 기능을 사용하면4x4x4토폴로지와 같거나 더 큰 슬라이스를 만들 수 있습니다. 이 구성에는 버전 1.35.2-gke.1842000 이상이 필요합니다. 동적 슈퍼 슬라이싱을 사용하여 단일 물리적 하드웨어 블록의 용량을 초과하는 대규모 파운데이션 모델을 학습시킬 수 있습니다.슬라이스 컨트롤러는 광 회로 스위치 (OCS) 네트워크 패브릭 내에서 물리적 재구성을 조정합니다. OCS를 동적으로 재구성함으로써 GKE는 독립적인 하드웨어 랙 전반에 걸쳐 칩 간 상호 연결 (ICI) 네트워크를 확장합니다. 워크로드의 관점에서 결합된 하위 블록은 단일 토로이드 메시로 작동합니다. 토로이드 메시에서 연결은 래핑됩니다. 오른쪽 가장자리의 칩은 왼쪽 가장자리의 칩에 직접 다시 연결되고 상단은 하단에 연결됩니다. 이 배열을 시각화하면 토러스 (링 모양) 모양이 됩니다.
동적 하위 슬라이싱: 워크로드 수준에서 단일의 미리 프로비저닝된 TPU 노드 풀을 여러 개의 더 작고 독립적인 단위로 분할 합니다. 동적 하위 슬라이싱을 사용하면 단일 하위 블록 내에서 더 작은 토폴로지, 특히
2x2x1,2x2x2,2x2x4,2x4x4를 만들 수 있습니다. 예를 들어4x4x4하위 블록을 하나의2x2x4하위 슬라이스와 두 개의2x2x2하위 슬라이스로 분할할 수 있습니다. 이 구성에는 신속 채널의 버전 1.36.0-gke.3712000 이상이 필요합니다.동적 하위 슬라이싱을 사용하면 단일 물리적 노드 풀에서 여러 워크로드를 실행할 수 있습니다. 예를 들어 동시 미세 조정, 실험, 온라인 추론을 실행할 수 있습니다. 하위 슬라이싱은 이러한 하위 슬라이스 간에 전기적 및 네트워크 격리를 제공하므로 워크로드 간의 오류 또는 성능 영향을 격리하는 데 도움이 됩니다.
동적 슬라이싱 구성의 주요 특성
동적 슬라이싱 구성에는 다음과 같은 특성이 있습니다.
- 노드 풀의 증분 프로비저닝: 동적 슬라이싱은 증분 프로비저닝을 사용합니다. 이는 노드 풀의 내결함성 프로비저닝 모델입니다. 이 모델은 모든 TPU 용량을 Ironwood (TPU7x) VM의 16노드 그룹으로 구성된 노드 풀로 변환하므로 부분적으로 비정상적인 큐브도 계속 프로비저닝하고 활용할 수 있습니다.
- 슬라이스 컨트롤러: 동적 슬라이싱을 관리하는 GKE 컨트롤 플레인 내에서 실행되는 Kubernetes 커스텀 리소스 컨트롤러입니다. 슬라이스 컨트롤러는 동적 슬라이스를 나타내는 슬라이스 커스텀 리소스의 수명 주기를 관리합니다 (생성, 지속적 모니터링, 삭제 처리). 또한 인프라 상태 데이터 (호스트, ICI, OCS)를 노드 라벨에 전파하여 정상적인 후보 노드를 식별하는 데 도움이 됩니다.
- 슬라이스 커스텀 리소스: 논리적 슬라이스를 나타내고 노드 간 링크 (ICI 및 OCS)의 동적 구성을 시작하여 요청된 TPU 토폴로지를 형성합니다. 이 프로세스는 여러 하위 블록을 함께 스티칭하거나 (슈퍼 슬라이싱) 단일 하위 블록 내에서 더 작은 토폴로지를 격리합니다 (하위 슬라이싱). 슬라이스 커스텀 리소스의 상태 필드를 검사하여 동적 슬라이스 형성의 진행률 또는 상태를 검사할 수 있습니다.
요구사항
GKE에서 동적 슬라이싱을 사용하려면 다음 요구사항을 충족해야 합니다.
- 다음 버전 중 하나의 빠른 채널에서 표준 클러스터를 사용합니다.
- 동적 슈퍼 슬라이싱 구성 (
4x4x4이상의 토폴로지)의 경우 버전 1.35.2-gke.1842000 이상을 사용합니다. - 동적 하위 슬라이싱 구성 (
4x4x4미만의 토폴로지)의 경우 버전 1.36.0-gke.3712000 이상을 사용합니다.
- 동적 슈퍼 슬라이싱 구성 (
- Ironwood (TPU7x) 버전을 사용합니다.
- 노드에 Container-Optimized OS 이미지를 사용합니다.
- 증분 프로비저닝을 사용하려면 모든 용량 모드 예약을 사용합니다. 모든 용량 모드는 TPU Cluster Director에서 사용 설정하는 기능입니다.
- 동적 하위 슬라이싱의 경우 노드에 대기 중인 유지보수 이벤트가 있는지 확인합니다. 대기 중인 유지보수 이벤트가 있는지 인스턴스를 모니터링합니다. 노드에 2026년 9월 18일과 2026년 9월 30일 사이에 종료 시간이 있는 대기 중인 유지보수 이벤트가 있는 경우 하위 슬라이싱을 사용하기 전에 해당 노드에서 호스트 유지보수 이벤트를 수동으로 트리거해야 합니다.
동적 슬라이싱에 스케줄러 사용
동적 슬라이싱을 사용하려면 다음 옵션 중 하나를 사용하면 됩니다.
- 자체 스케줄러를 사용하여 슬라이스 커스텀 리소스를 관리합니다. 이 옵션은 복잡한 예약 요구사항이 있거나 동적 슬라이싱을 기존 예약 인프라와 통합하려는 경우에 유용합니다. 시작하려면 커스텀 스케줄러로 동적 슬라이싱 사용을 참고하세요.
- 스케줄러를 사용하여 슬라이스 커스텀 리소스를 자동으로 만듭니다. Kueue 및 토폴로지 인식 예약(TAS)을 구성하여 슬라이스 커스텀 리소스를 자동으로 만들 수 있습니다. 시작하려면 Kueue 및 TAS로 동적 슬라이스 예약을 참고하세요.
다음 단계
- 모든 용량 모드에서 TPU 용량을 요청합니다.
- Kueue 및 TAS로 동적 슬라이스를 예약합니다.
- 커스텀 스케줄러로 동적 슬라이싱을 사용합니다.