큐에 추가된 리소스 관리

큐에 추가된 리소스를 사용하면 큐에 추가된 방식으로 Cloud TPU 리소스를 요청할 수 있습니다. 큐에 추가된 리소스를 요청하면 요청이 Cloud TPU 서비스에서 유지보수하는 큐에 추가됩니다. 요청된 리소스를 사용할 수 있게 되면 즉시 독점으로 사용 가능하도록 Google Cloud 프로젝트에 할당됩니다. 삭제 또는 선점되지 않는 한 프로젝트에 할당된 상태로 유지됩니다. TPU 스팟 VM 및 선점형 TPU만 선점할 수 있습니다.

큐에 추가된 리소스 요청에서 선택적 시작 및 종료 시간을 지정할 수 있습니다. 시작 시간은 요청을 채울 가장 이른 시간을 지정합니다. 지정된 종료 시간까지 요청이 작성되지 않으면 요청이 만료됩니다. 요청이 만료된 후에도 큐에 남아 있습니다.

큐에 추가된 리소스 요청은 다음 상태 중 하나일 수 있습니다.

WAITING_FOR_RESOURCES
요청이 초기 검증을 통과하여 큐에 추가되었습니다. 요청을 프로비저닝하거나 할당 간격을 경과하기에 충분한 무료 리소스가 확보될 때까지 이 상태가 유지됩니다. 수요가 많은 경우 모든 요청을 즉시 프로비저닝할 수 없습니다. TPU에 대한 더욱 안정적인 확보 가능성이 필요한 경우 예약을 구매하는 것이 좋습니다.
PROVISIONING
큐에서 요청이 선택되었으며 현재 리소스가 할당되고 있습니다.
ACTIVE
요청이 할당되었습니다. 큐에 추가된 리소스 요청이 ACTIVE 상태라면 TPU 관리에 설명된 대로 TPU VM을 관리할 수 있습니다.
FAILED
요청에 문제가 있거나 요청한 리소스를 할당 간격 내에서 사용할 수 없으므로 요청을 완료할 수 없습니다. 이 요청은 명시적으로 삭제될 때까지 큐에 남아 있습니다.
SUSPENDING
요청과 연결된 리소스를 삭제하는 중입니다.
SUSPENDED
요청에 지정된 리소스가 삭제되었습니다. 요청이 SUSPENDED 상태이면 더 이상 할당할 수 없습니다.

기본 요건

이 가이드의 명령어를 실행하기 전에 Google Cloud CLI를 설치하고, Google Cloud 프로젝트를 만들고, Cloud TPU API를 사용 설정해야 합니다. 자세한 내용은 Cloud TPU 환경 설정을 참고하세요.

주문형 큐에 추가된 리소스 요청

주문형 리소스는 선점되지 않지만 주문형 할당량은 요청을 이행하는 데 충분한 Cloud TPU 리소스를 제공한다고 보장하지 않습니다. 주문형 리소스에 관한 자세한 내용은 할당량 유형을 참고하세요.

gcloud

gcloud compute tpus queued-resources create your-queued-resource-id \
    --node-id your-node-id \
    --project your-project \
    --zone us-central2-b \
    --accelerator-type v4-8 \
    --runtime-version tpu-vm-tf-2.18.0-pjrt

명령어 매개변수 설명

queued-resource-id
큐에 추가된 리소스 요청의 사용자 할당 ID입니다.
node-id
큐에 추가된 리소스 요청이 할당될 때 생성되는 TPU의 사용자 할당 ID입니다.
project
Google Cloud 프로젝트.
zone
Cloud TPU를 생성하려는 영역입니다.
accelerator-type
가속기 유형은 만들려는 Cloud TPU의 버전과 크기를 지정합니다. 각 TPU 버전에서 지원되는 가속기 유형에 대한 자세한 내용은 TPU 버전을 참조하세요.
runtime-version
Cloud TPU 소프트웨어 버전입니다.

curl

curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d "{
    'tpu': {
    'node_spec': {
        'parent': 'projects/your-project-number/locations/us-central2-b',
        'node_id': 'your-node-id',
        'node': {
        'accelerator_type': 'v4-8',
        'runtime_version': 'tpu-vm-tf-2.18.0-pjrt',
        }
    }
    }
}" \
https://tpu.googleapis.com/v2alpha1/projects/your-project-id/locations/us-central2-b/queuedResources?queued_resource_id=your-queued-resource-id

명령어 매개변수 설명

queued-resource-id
큐에 추가된 리소스 요청의 사용자 할당 ID입니다.
node-id
큐에 추가된 리소스 요청이 할당될 때 생성되는 TPU의 사용자 할당 ID입니다.
project
Google Cloud 프로젝트.
zone
Cloud TPU를 생성하려는 영역입니다.
accelerator-type
가속기 유형은 만들려는 Cloud TPU의 버전과 크기를 지정합니다. 각 TPU 버전에서 지원되는 가속기 유형에 대한 자세한 내용은 TPU 버전을 참조하세요.
runtime-version
Cloud TPU 소프트웨어 버전입니다.

콘솔

  1. Google Cloud 콘솔에서 TPU 페이지로 이동합니다.

    TPU로 이동

  2. TPU 만들기를 클릭합니다.

  3. 이름 필드에 TPU의 이름을 입력합니다.

  4. 영역 상자에서 TPU를 만들 영역을 선택합니다.

  5. TPU 유형 상자에서 가속기 유형을 선택합니다. 가속기 유형은 만들려는 Cloud TPU의 버전과 크기를 지정합니다. 각 TPU 버전에서 지원되는 가속기 유형에 대한 자세한 내용은 TPU 버전을 참고하세요.

  6. TPU 소프트웨어 버전 상자에서 소프트웨어 버전을 선택합니다. Cloud TPU VM을 만들 때 TPU 소프트웨어 버전은 설치할 TPU 런타임 버전을 지정합니다. 자세한 내용은 TPU VM 이미지를 참고하세요.

  7. 대기열 사용 설정 전환 버튼을 클릭합니다.

  8. 대기열에 추가된 리소스 이름 필드에 대기열에 추가된 리소스 요청의 이름을 입력합니다.

  9. 만들기를 클릭하여 대기열에 추가된 리소스 요청을 만듭니다.

주문형 큐에 추가된 리소스의 기본 슬라이스 크기

주문형 할당량을 사용하는 경우 슬라이스 크기를 사용 중인 가속기 유형의 기본 한도보다 적게 요청해야 합니다. 기본 한도를 초과하는 요청은 시스템에서 거부합니다.

다음 표에는 TPU 유형과 관련 기본 제한이 나와 있습니다.

가속기 유형 기본 한도(TensorCore 수)
v2 128
v3 128
v4 384
v5 32

더 큰 슬라이스 크기가 필요한 경우 Cloud TPU 지원팀에 문의하여 추가 정보를 확인하세요.

예약을 사용하여 큐에 추가된 리소스 요청

예약을 사용하여 큐에 추가된 리소스를 요청할 수 있습니다. 예약을 구매하려면 Google Cloud 계정팀에 문의하세요.

gcloud

gcloud compute tpus queued-resources create your-queued-resource-id \
    --node-id your-node-id \
    --project your-project \
    --zone us-central2-b \
    --accelerator-type v4-8 \
    --runtime-version tpu-vm-tf-2.18.0-pjrt \
    --reserved

명령어 매개변수 설명

queued-resource-id
큐에 추가된 리소스 요청의 사용자 할당 ID입니다.
node-id
큐에 추가된 리소스 요청이 할당될 때 생성되는 TPU의 사용자 할당 ID입니다.
project
Google Cloud 프로젝트.
zone
Cloud TPU를 생성하려는 영역입니다.
accelerator-type
가속기 유형은 만들려는 Cloud TPU의 버전과 크기를 지정합니다. 각 TPU 버전에서 지원되는 가속기 유형에 대한 자세한 내용은 TPU 버전을 참조하세요.
runtime-version
Cloud TPU 소프트웨어 버전입니다.
reserved
Cloud TPU 예약의 일부로 큐에 추가된 리소스를 요청할 때 이 플래그를 사용합니다.

curl

curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d "{
    'tpu': {
    'node_spec': {
        'parent': 'projects/your-project-number/locations/us-central2-b',
        'node_id': 'your-node-id',
        'node': {
        'accelerator_type': 'v4-8',
        'runtime_version': 'tpu-vm-tf-2.18.0-pjrt',
        }
    }
    },
    'guaranteed': {
    'reserved': true,
    }
}" \
https://tpu.googleapis.com/v2alpha1/projects/your-project-id/locations/us-central2-b/queuedResources?queued_resource_id=your-queued-resource-id

명령어 매개변수 설명

queued-resource-id
큐에 추가된 리소스 요청의 사용자 할당 ID입니다.
node-id
큐에 추가된 리소스 요청이 할당될 때 생성되는 TPU의 사용자 할당 ID입니다.
project
Google Cloud 프로젝트.
zone
Cloud TPU를 생성하려는 영역입니다.
accelerator-type
가속기 유형은 만들려는 Cloud TPU의 버전과 크기를 지정합니다. 각 TPU 버전에서 지원되는 가속기 유형에 대한 자세한 내용은 TPU 버전을 참조하세요.
runtime-version
Cloud TPU 소프트웨어 버전입니다.
reserved
Cloud TPU 예약의 일부로 큐에 추가된 리소스를 요청할 때 이 플래그를 사용합니다.

콘솔

  1. Google Cloud 콘솔에서 TPU 페이지로 이동합니다.

    TPU로 이동

  2. TPU 만들기를 클릭합니다.

  3. 이름 필드에 TPU의 이름을 입력합니다.

  4. 영역 상자에서 TPU를 만들 영역을 선택합니다.

  5. TPU 유형 상자에서 가속기 유형을 선택합니다. 가속기 유형은 만들려는 Cloud TPU의 버전과 크기를 지정합니다. 각 TPU 버전에서 지원되는 가속기 유형에 대한 자세한 내용은 TPU 버전을 참고하세요.

  6. TPU 소프트웨어 버전 상자에서 소프트웨어 버전을 선택합니다. Cloud TPU VM을 만들 때 TPU 소프트웨어 버전은 설치할 TPU 런타임 버전을 지정합니다. 자세한 내용은 TPU VM 이미지를 참고하세요.

  7. 대기열 사용 설정 전환 버튼을 클릭합니다.

  8. 대기열에 추가된 리소스 이름 필드에 대기열에 추가된 리소스 요청의 이름을 입력합니다.

  9. 관리 섹션을 펼칩니다.

  10. 기존 예약 사용 체크박스를 선택합니다.

  11. 만들기를 클릭하여 대기열에 추가된 리소스 요청을 만듭니다.

TPU 스팟 VM 큐에 추가된 리소스 요청

스팟 VM은 언제든지 선점하고 다른 워크로드에 할당할 수 있는 리소스입니다. 스팟 VM 리소스는 비용이 낮으며, 스팟 이외의 VM 요청에 비해 더 빠르게 리소스에 액세스할 수 있습니다. TPU 스팟 VM에 대한 자세한 내용은 TPU 스팟 VM 관리를 참조하세요.

gcloud

gcloud compute tpus queued-resources create your-queued-resource-id \
  --node-id your-node-id \
  --project your-project-id \
  --zone us-central2-b \
  --accelerator-type v4-8 \
  --runtime-version tpu-vm-tf-2.18.0-pjrt \
  --spot

curl

curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d "{
'tpu': {
  'node_spec': {
    'parent': 'projects/your-project-number/locations/us-central2-b',
    'node_id': 'your-node-id',
    'node': {
      'accelerator_type': 'v4-8',
      'runtime_version': 'tpu-vm-tf-2.18.0-pjrt'
    }
  }
},
'spot': {}
}" \
https://tpu.googleapis.com/v2alpha1/projects/your-project-id/locations/us-central2-b/queuedResources?queued_resource_id=your-queued-resource-id

명령어 매개변수 설명

queued-resource-request-id
큐에 추가된 리소스 요청의 사용자 할당 ID입니다.
node-id
요청에 응답해 생성된 TPU의 사용자 정의 ID입니다.
project
큐에 추가된 리소스가 할당된 프로젝트의 ID입니다.
zone
Cloud TPU를 생성하려는 영역입니다.
accelerator-type
가속기 유형은 만들려는 Cloud TPU의 버전과 크기를 지정합니다. 각 TPU 버전에서 지원되는 가속기 유형에 대한 자세한 내용은 TPU 버전을 참조하세요.
runtime-version
Cloud TPU 소프트웨어 버전입니다.
spot
큐에 추가된 리소스가 스팟 VM임을 지정하는 불리언 플래그입니다.

큐에 추가된 리소스가 지정된 시간 이전 또는 이후에 할당되도록 요청

큐에 추가된 리소스 요청에서 선택적으로 시작 시간 또는 종료 시간을 지정할 수 있습니다. 시작 시간 또는 시작 기간은 요청을 채울 가장 이른 시간을 지정합니다. 종료 시간 또는 종료 기간은 요청이 유효한 기간을 지정합니다. 지정된 종료 시간까지 또는 지정된 기간 내에 요청이 작성되지 않으면 요청이 만료됩니다. 요청이 만료된 후에도 큐에 남아 있지만 더 이상 할당할 수 없습니다.

시작 시간 또는 기간과 종료 시간 또는 기간을 지정하여 할당 간격을 지정할 수도 있습니다.

지원되는 타임스탬프 및 기간 형식 목록은 날짜/시간을 참고하세요.

지정된 시간 후에 큐에 추가된 리소스가 처리되도록 요청

큐에 추가된 리소스 요청에서 리소스를 할당해야 하는 시간 또는 기간을 지정할 수 있습니다.

gcloud

다음 명령어는 2022년 12월 14일 오전 9시 이후에 v4-4096 TPU를 할당하도록 요청합니다.

gcloud compute tpus queued-resources create your-queued-resource-id \
    --node-id your-node-id \
    --project your-project-id \
    --zone us-central2-b \
    --accelerator-type v4-4096 \
    --runtime-version tpu-vm-tf-2.18.0-pod-pjrt \
    --valid-after-time 2022-12-14T09:00:00Z

명령어 매개변수 설명

queued-resource-request-id
큐에 추가된 리소스 요청의 사용자 할당 ID입니다.
node-id
요청에 응답해 생성된 TPU의 사용자 정의 ID입니다.
project
큐에 추가된 리소스가 할당된 Google Cloud 프로젝트입니다.
zone
Cloud TPU를 생성하려는 영역입니다.
accelerator-type
가속기 유형은 만들려는 Cloud TPU의 버전과 크기를 지정합니다. 각 TPU 버전에서 지원되는 가속기 유형에 대한 자세한 내용은 TPU 버전을 참조하세요.
runtime-version
Cloud TPU 소프트웨어 버전입니다.
valid-after-time
이후에는 리소스를 할당해야 합니다. 기간 형식에 대한 자세한 내용은 Google Cloud CLI topic datetime을 참조하세요.

curl

다음 명령어는 2022년 12월 14일 오전 9시 이후에 v4-4096 TPU를 할당하도록 요청합니다.

curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d "{
    'tpu': {
    'node_spec': {
        'parent': 'projects/your-project-number/locations/us-central2-b',
        'node_id': 'your-node-id',
        'node': {
        'accelerator_type': 'v4-4096',
        'runtime_version': 'tpu-vm-tf-2.18.0-pod-pjrt',
        }
    }
    },
    'queueing_policy': {
    'valid_after_time': {
        'seconds': 2022-12-14T09:00:00Z
    }
    }
}" \
https://tpu.googleapis.com/v2alpha1/projects/your-project-id/locations/us-central2-b/queuedResources?queued_resource_id=your-queued-resource-id

명령어 매개변수 설명

queued-resource-request-id
큐에 추가된 리소스 요청의 사용자 할당 ID입니다.
node-id
요청에 응답해 생성된 TPU의 사용자 정의 ID입니다.
project
큐에 추가된 리소스가 할당된 Google Cloud 프로젝트입니다.
zone
Cloud TPU를 생성하려는 영역입니다.
accelerator-type
가속기 유형은 만들려는 Cloud TPU의 버전과 크기를 지정합니다. 각 TPU 버전에서 지원되는 가속기 유형에 대한 자세한 내용은 TPU 버전을 참조하세요.
runtime-version
Cloud TPU 소프트웨어 버전입니다.
valid-after-time
이후에는 리소스를 할당해야 합니다. 기간 형식에 대한 자세한 내용은 Google Cloud CLI topic datetime을 참조하세요.

콘솔

  1. Google Cloud 콘솔에서 TPU 페이지로 이동합니다.

    TPU로 이동

  2. TPU 만들기를 클릭합니다.

  3. 이름 필드에 TPU의 이름을 입력합니다.

  4. 영역 상자에서 TPU를 만들 영역을 선택합니다.

  5. TPU 유형 상자에서 가속기 유형을 선택합니다. 가속기 유형은 만들려는 Cloud TPU의 버전과 크기를 지정합니다. 각 TPU 버전에서 지원되는 가속기 유형에 대한 자세한 내용은 TPU 버전을 참고하세요.

  6. TPU 소프트웨어 버전 상자에서 소프트웨어 버전을 선택합니다. Cloud TPU VM을 만들 때 TPU 소프트웨어 버전은 설치할 TPU 런타임 버전을 지정합니다. 자세한 내용은 TPU VM 이미지를 참고하세요.

  7. 대기열 사용 설정 전환 버튼을 클릭합니다.

  8. 대기열에 추가된 리소스 이름 필드에 대기열에 추가된 리소스 요청의 이름을 입력합니다.

  9. 요청 시작 시간 입력란에 리소스를 할당해야 하는 시간을 입력합니다.

  10. 만들기를 클릭하여 대기열에 추가된 리소스 요청을 만듭니다.

다음 예시에서는 6시간 후에 v4-32를 할당하도록 요청합니다.

gcloud

    gcloud compute tpus queued-resources create your-queued-resource-id \
        --node-id your-node-id \
        --project your-project-id \
        --zone us-central2-b \
        --accelerator-type v4-32 \
        --runtime-version tpu-vm-tf-2.18.0-pod-pjrt \
        --valid-after-duration 6h

curl

curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d "{
    'tpu': {
    'node_spec': {
        'parent': 'projects/your-project-number/locations/us-central2-b',
        'node_id': 'your-node-id',
        'node': {
        'accelerator_type': 'v4-32',
        'runtime_version': 'tpu-vm-tf-2.18.0-pod-pjrt',
        }
    }
    },
'queueing_policy': {
    'valid_after_duration': {
        'seconds': 21600
    }
}" \
https://tpu.googleapis.com/v2alpha1/projects/your-project-id/locations/us-central2-b/queuedResources?queued_resource_id=your-queued-resource-id

명령어 매개변수 설명

queued-resource-request-id
큐에 추가된 리소스 요청의 사용자 할당 ID입니다.
node-id
요청에 응답해 생성된 TPU의 사용자 정의 ID입니다.
project
큐에 추가된 리소스가 할당된 Google Cloud 프로젝트입니다.
zone
Cloud TPU를 생성하려는 영역입니다.
accelerator-type
가속기 유형은 만들려는 Cloud TPU의 버전과 크기를 지정합니다. 각 TPU 버전에서 지원되는 가속기 유형에 대한 자세한 내용은 TPU 버전을 참조하세요.
runtime-version
Cloud TPU 소프트웨어 버전입니다.
valid-after-duration
TPU를 프로비저닝해서는 안 되는 기간입니다. 기간 형식에 대한 자세한 내용은 Google Cloud CLI topic datetime을 참고하세요.

지정된 시간 후에 만료되는 큐에 추가된 리소스 요청

큐에 추가된 리소스 요청에서 큐에 추가된 리소스 요청의 유효 기간을 지정할 수 있습니다. 지정된 시간 또는 기간 내에 요청이 처리되지 않으면 요청이 만료됩니다.

gcloud

다음 명령어는 v4-4096 TPU를 요청합니다. 2022년 12월 14일 오전 9시까지 요청이 처리되지 않으면 요청이 만료됩니다.

gcloud compute tpus queued-resources create your-queued-resource-id \
    --node-id your-node-id \
    --project your-project-id \
    --zone us-central2-b \
    --accelerator-type v4-4096 \
    --runtime-version tpu-vm-tf-2.18.0-pod-pjrt \
    --valid-until-time 2022-12-14T09:00:00Z

명령어 매개변수 설명

queued-resource-request-id
큐에 추가된 리소스 요청의 사용자 할당 ID입니다.
node-id
요청에 응답해 생성된 TPU의 사용자 정의 ID입니다.
project
큐에 추가된 리소스가 할당된 프로젝트의 ID입니다.
zone
Cloud TPU를 생성하려는 영역입니다.
accelerator-type
가속기 유형은 만들려는 Cloud TPU의 버전과 크기를 지정합니다. 각 TPU 버전에서 지원되는 가속기 유형에 대한 자세한 내용은 TPU 버전을 참조하세요.
runtime-version
Cloud TPU 소프트웨어 버전입니다.
valid-until-time
이시간이 지나면 요청이 취소됩니다. 기간 형식에 대한 자세한 내용은 Google Cloud CLI topic datetime을 참조하세요.

curl

다음 명령어는 v4-4096 TPU를 요청합니다. 2022년 12월 14일 오전 9시까지 요청이 처리되지 않으면 요청이 만료됩니다.

curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d "{
    'tpu': {
    'node_spec': {
        'parent': 'projects/your-project-number/locations/us-central2-b',
        'node_id': 'your-node-id',
        'node': {
        'accelerator_type': 'v4-4096',
        'runtime_version': 'tpu-vm-tf-2.18.0-pod-pjrt',
        }
    }
    },
    'queueing_policy': {
    'valid_until_time': {
        'seconds': 1655197200
    }
    }
}" \
https://tpu.googleapis.com/v2alpha1/projects/your-project-id/locations/us-central2-b/queuedResources?queued_resource_id=your-queued-resource-id

명령어 매개변수 설명

queued-resource-request-id
큐에 추가된 리소스 요청의 사용자 할당 ID입니다.
node-id
요청에 응답해 생성된 TPU의 사용자 정의 ID입니다.
project
큐에 추가된 리소스가 할당된 프로젝트의 ID입니다.
zone
Cloud TPU를 생성하려는 영역입니다.
accelerator-type
가속기 유형은 만들려는 Cloud TPU의 버전과 크기를 지정합니다. 각 TPU 버전에서 지원되는 가속기 유형에 대한 자세한 내용은 TPU 버전을 참조하세요.
runtime-version
Cloud TPU 소프트웨어 버전입니다.
valid-until-time
이시간이 지나면 요청이 취소됩니다. 기간 형식에 대한 자세한 내용은 Google Cloud CLI topic datetime을 참조하세요.

콘솔

  1. Google Cloud 콘솔에서 TPU 페이지로 이동합니다.

    TPU로 이동

  2. TPU 만들기를 클릭합니다.

  3. 이름 필드에 TPU의 이름을 입력합니다.

  4. 영역 상자에서 TPU를 만들 영역을 선택합니다.

  5. TPU 유형 상자에서 가속기 유형을 선택합니다. 가속기 유형은 만들려는 Cloud TPU의 버전과 크기를 지정합니다. 각 TPU 버전에서 지원되는 가속기 유형에 관한 자세한 내용은 TPU 버전을 참고하세요.

  6. TPU 소프트웨어 버전 상자에서 소프트웨어 버전을 선택합니다. Cloud TPU VM을 만들 때 TPU 소프트웨어 버전은 설치할 TPU 런타임 버전을 지정합니다. 자세한 내용은 TPU VM 이미지를 참고하세요.

  7. 대기열 사용 설정 전환 버튼을 클릭합니다.

  8. 대기열에 추가된 리소스 이름 필드에 대기열에 추가된 리소스 요청의 이름을 입력합니다.

  9. Cancel request on(요청 취소 시점) 필드에 대기열에 추가된 리소스 요청이 처리되지 않으면 만료되는 시간을 입력합니다.

  10. 만들기를 클릭하여 대기열에 추가된 리소스 요청을 만듭니다.

다음 예에서는 v4-32를 요청합니다. 6시간 이내에 작성되지 않으면 요청이 만료됩니다.

gcloud

    gcloud compute tpus queued-resources create your-queued-resource-id \
    --node-id your-node-id \
    --project your-project-id \
    --zone us-central2-b \
    --accelerator-type v4-32 \
    --runtime-version tpu-vm-tf-2.18.0-pod-pjrt \
    --valid-until-duration 6h

curl

curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d "{
    'tpu': {
    'node_spec': {
        'parent': 'projects/your-project-number/locations/us-central2-b',
        'node_id': 'your-node-id',
        'node': {
        'accelerator_type': 'v4-32',
        'runtime_version': 'tpu-vm-tf-2.18.0-pod-pjrt',
        }
    }
    },
'queueing_policy': {
    'valid_until_duration': {
        'seconds': 21600
    }
}" \
https://tpu.googleapis.com/v2alpha1/projects/your-project-id/locations/us-central2-b/queuedResources?queued_resource_id=your-queued-resource-id

명령어 매개변수 설명

queued-resource-request-id
큐에 추가된 리소스 요청의 사용자 할당 ID입니다.
node-id
요청에 응답해 생성된 TPU의 사용자 정의 ID입니다.
project
큐에 추가된 리소스가 할당된 Google Cloud 프로젝트입니다.
zone
Cloud TPU를 생성하려는 영역입니다.
accelerator-type
가속기 유형은 만들려는 Cloud TPU의 버전과 크기를 지정합니다. 각 TPU 버전에서 지원되는 가속기 유형에 대한 자세한 내용은 TPU 버전을 참조하세요.
runtime-version
Cloud TPU 소프트웨어 버전입니다.
valid-until-duration
요청의 유효 기간입니다. 기간 형식에 대한 자세한 내용은 Google Cloud CLI topic datetime을 참고하세요.

지정된 간격 내에 할당될 큐에 추가된 리소스 요청

시작 시간 또는 기간과 종료 시간 또는 기간을 모두 지정하여 할당 간격을 지정할 수 있습니다.

gcloud

다음 명령어는 현재 시간으로부터 5시간 30분 후에 늦어도 2022년 12월 14일 오전 9시까지는 v4-32를 만들도록 요청합니다.

gcloud compute tpus queued-resources create your-queued-resource-id \
    --node-id your-node-id \
    --project your-project-id \
    --zone us-central2-b \
    --accelerator-type v4-32 \
    --runtime-version tpu-vm-tf-2.18.0-pod-pjrt \
    --valid-after-duration 5h30m \
    --valid-until-time 2022-12-14T09:00:00Z

명령어 플래그 설명

queued-resource-request-id
큐에 추가된 리소스 요청의 사용자 할당 ID입니다.
node-id
요청에 응답해 생성된 TPU의 사용자 정의 ID입니다.
project
큐에 추가된 리소스가 할당된 프로젝트의 ID입니다.
zone
Cloud TPU를 생성하려는 영역입니다.
accelerator-type
가속기 유형은 만들려는 Cloud TPU의 버전과 크기를 지정합니다. 각 TPU 버전에서 지원되는 가속기 유형에 대한 자세한 내용은 TPU 버전을 참조하세요.
runtime-version
Cloud TPU 소프트웨어 버전입니다.
valid-until-timw
이시간이 지나면 요청이 취소됩니다. 기간 형식에 대한 자세한 내용은 Google Cloud CLI topic datetime을 참조하세요.
valid-until-duration
요청의 유효 기간입니다. 기간 형식에 대한 자세한 내용은 Google Cloud CLI topic datetime을 참조하세요.

curl

다음 명령어는 현재 시간으로부터 5시간 30분 후에 늦어도 2022년 12월 14일 오전 9시까지는 v4-32를 만들도록 요청합니다.

curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d "{
    'tpu': {
    'node_spec': {
        'parent': 'projects/your-project-number/locations/us-central2-b',
        'node_id': 'your-node-id',
        'node': {
        'accelerator_type': 'v4-32',
        'runtime_version': 'tpu-vm-tf-2.18.0-pod-pjrt',
        }
    }
    },
'queueing_policy': {
    'validInterval': {
        'startTime': '2022-12-10T14:30:00Z',
        'endTime': '2022-12-14T09:00:00Z'
    }
    },
}" \
https://tpu.googleapis.com/v2alpha1/projects/your-project-id/locations/us-central2-b/queuedResources?queued_resource_id=your-queued-resource-id

명령어 플래그 설명

queued-resource-request-id
큐에 추가된 리소스 요청의 사용자 할당 ID입니다.
node-id
요청에 응답해 생성된 TPU의 사용자 정의 ID입니다.
project
큐에 추가된 리소스가 할당된 프로젝트의 ID입니다.
zone
Cloud TPU를 생성하려는 영역입니다.
accelerator-type
가속기 유형은 만들려는 Cloud TPU의 버전과 크기를 지정합니다. 각 TPU 버전에서 지원되는 가속기 유형에 대한 자세한 내용은 TPU 버전을 참조하세요.
runtime-version
Cloud TPU 소프트웨어 버전입니다.
valid-until-timw
이시간이 지나면 요청이 취소됩니다. 기간 형식에 대한 자세한 내용은 Google Cloud CLI topic datetime을 참조하세요.
valid-until-duration
요청의 유효 기간입니다. 기간 형식에 대한 자세한 내용은 Google Cloud CLI topic datetime을 참조하세요.

콘솔

  1. Google Cloud 콘솔에서 TPU 페이지로 이동합니다.

    TPU로 이동

  2. TPU 만들기를 클릭합니다.

  3. 이름 필드에 TPU의 이름을 입력합니다.

  4. 영역 상자에서 TPU를 만들 영역을 선택합니다.

  5. TPU 유형 상자에서 가속기 유형을 선택합니다. 가속기 유형은 만들려는 Cloud TPU의 버전과 크기를 지정합니다. 각 TPU 버전에서 지원되는 가속기 유형에 대한 자세한 내용은 TPU 버전을 참고하세요.

  6. TPU 소프트웨어 버전 상자에서 소프트웨어 버전을 선택합니다. Cloud TPU VM을 만들 때 TPU 소프트웨어 버전은 설치할 TPU 런타임 버전을 지정합니다. 자세한 내용은 TPU VM 이미지를 참고하세요.

  7. 대기열 사용 설정 전환 버튼을 클릭합니다.

  8. 대기열에 추가된 리소스 이름 필드에 대기열에 추가된 리소스 요청의 이름을 입력합니다.

  9. 요청 시작 시간 입력란에 리소스를 할당해야 하는 시간을 입력합니다.

  10. Cancel request on(요청 취소 시점) 필드에 대기열에 추가된 리소스 요청이 처리되지 않으면 만료되는 시간을 입력합니다.

  11. 만들기를 클릭하여 대기열에 추가된 리소스 요청을 만듭니다.

시작 스크립트로 큐에 추가된 리소스 요청

큐에 추가된 리소스는 프로비저닝 후 실행할 스크립트를 지정할 수 있습니다.

gcloud

gcloud 명령어를 사용할 때는 --metadata 또는 --metadata-from-file 플래그를 사용하여 각각 스크립트 명령어나 스크립트 코드가 포함된 파일을 지정할 수 있습니다. 다음 예시에서는 startup-script.sh 스크립트를 실행할 큐에 추가된 리소스 요청을 만듭니다.

gcloud compute tpus queued-resources create your-queued-resource-id \
    --node-id your-node-id \
    --project your-project \
    --zone us-central2-b \
    --accelerator-type v4-8 \
    --runtime-version tpu-vm-tf-2.12.0 \
    --metadata-from-file='startup-script=startup-script.sh'

명령어 플래그 설명

queued-resource-request-id
큐에 추가된 리소스 요청의 사용자 할당 ID입니다.
node-id
요청에 응답해 생성된 TPU의 사용자 정의 ID입니다.
project
큐에 추가된 리소스가 할당된 프로젝트의 ID입니다.
zone
Cloud TPU를 생성하려는 영역입니다.
accelerator-type
가속기 유형은 만들려는 Cloud TPU의 버전과 크기를 지정합니다. 각 TPU 버전에서 지원되는 가속기 유형에 대한 자세한 내용은 TPU 버전을 참조하세요.
runtime-version
Cloud TPU 소프트웨어 버전입니다.
validInterval
요청이 유효하며 요청이 취소된 후 경과하는 시간입니다. 기간 형식에 대한 자세한 내용은 Google Cloud CLI topic datetime을 참고하세요.
metadata-from-file
메타데이터가 포함된 파일을 지정합니다. 메타데이터 파일에 정규화된 경로를 지정하지 않으면 명령어에서 이 파일이 현재 디렉터리에 있다고 가정합니다. 이 예시의 파일에는 큐에 추가된 리소스가 프로비저닝될 때 실행되는 시작 스크립트가 포함됩니다.
metadata
요청에 대한 메타데이터를 지정합니다. 이 예시에서 메타데이터는 큐에 추가된 리소스가 프로비저닝될 때 실행되는 시작 스크립트 명령어입니다.

curl

curl을 사용하는 경우 JSON 콘텐츠에 스크립트 코드를 포함해야 합니다. 다음 예시에서는 JSON 본문에 인라인 스크립트를 포함합니다.

curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d "{
    tpu: {
        node_spec: {
        parent: 'projects/your-project-number/locations/us-central2-b',
        node_id: 'your-node-id',
        node: {
            accelerator_type: 'v2-8',
            runtime_version: 'tpu-vm-tf-2.18.0-pjrt',
            metadata: {
                "startup-script": "#! /bin/bash\npwd > /tmp/out.txt\nwhoami >> /tmp/out.txt"
            }
        }
        }
    },
'queueing_policy': {
    'validInterval': {
        'startTime': '2022-12-10T14:30:00Z',
        'endTime': '2022-12-14T09:00:00Z'
    }
    },
}" \
https://tpu.googleapis.com/v2alpha1/projects/your-project-id/locations/us-central2-b/queuedResources?queued_resource_id=your-queued-resource-id

명령어 플래그 설명

queued-resource-request-id
큐에 추가된 리소스 요청의 사용자 할당 ID입니다.
node-id
요청에 응답해 생성된 TPU의 사용자 정의 ID입니다.
project
큐에 추가된 리소스가 할당된 프로젝트의 ID입니다.
zone
Cloud TPU를 생성하려는 영역입니다.
accelerator-type
가속기 유형은 만들려는 Cloud TPU의 버전과 크기를 지정합니다. 각 TPU 버전에서 지원되는 가속기 유형에 대한 자세한 내용은 TPU 버전을 참조하세요.
runtime-version
Cloud TPU 소프트웨어 버전입니다.
validInterval
요청이 유효하며 요청이 취소된 후 경과하는 시간입니다. 기간 형식에 대한 자세한 내용은 Google Cloud CLI topic datetime을 참고하세요.
metadata-from-file
메타데이터가 포함된 파일을 지정합니다. 메타데이터 파일에 정규화된 경로를 지정하지 않으면 명령어에서 이 파일이 현재 디렉터리에 있다고 가정합니다. 이 예시의 파일에는 큐에 추가된 리소스가 프로비저닝될 때 실행되는 시작 스크립트가 포함됩니다.
metadata
요청에 대한 메타데이터를 지정합니다. 이 예시에서 메타데이터는 큐에 추가된 리소스가 프로비저닝될 때 실행되는 시작 스크립트 명령어입니다.

지정된 네트워크 및 서브네트워크를 사용한 큐에 추가된 리소스 요청

큐에 추가된 리소스 요청에서 TPU를 연결할 네트워크 및 서브네트워크를 지정할 수 있습니다.

gcloud

gcloud compute tpus queued-resources create your-queued-resource-id \
    --node-id your-node-id \
    --project your-project \
    --zone us-central2-b \
    --accelerator-type v4-8 \
    --runtime-version tpu-vm-tf-2.18.0-pjrt \
    --network network-name \
    --subnetwork subnetwork-name

명령어 매개변수 설명

queued-resource-id
큐에 추가된 리소스 요청의 사용자 할당 ID입니다.
node-id
큐에 추가된 리소스 요청이 할당될 때 생성되는 TPU의 사용자 할당 ID입니다.
project
Google Cloud 프로젝트.
zone
Cloud TPU를 생성하려는 영역입니다.
accelerator-type
가속기 유형은 만들려는 Cloud TPU의 버전과 크기를 지정합니다. 각 TPU 버전에서 지원되는 가속기 유형에 대한 자세한 내용은 TPU 버전을 참조하세요.
runtime-version
Cloud TPU 소프트웨어 버전입니다.
reserved
Cloud TPU 예약의 일부로 큐에 추가된 리소스를 요청할 때 이 플래그를 사용합니다.
network
큐에 추가된 리소스가 포함될 네트워크입니다.
subnetwork
큐에 추가된 리소스가 포함될 서브네트워크입니다.

curl

curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d "{
    'tpu': {
    'node_spec': {
        'parent': 'projects/your-project-number/locations/us-central2-b',
        'node_id': 'your-node-id',
        'node': {
        'accelerator_type': 'v4-8',
        'runtime_version': 'tpu-vm-tf-2.18.0-pjrt',
        'network_config': {
            'network': 'network-name',
            'subnetwork': 'subnetwork-name',
            'enable_external_ips': true
        }
    }
    },
    'guaranteed': {
    'reserved': true,
    }
}" \
https://tpu.googleapis.com/v2alpha1/projects/your-project-id/locations/us-central2-b/queuedResources?queued_resource_id=your-queued-resource-id

명령어 매개변수 설명

queued-resource-id
큐에 추가된 리소스 요청의 사용자 할당 ID입니다.
node-id
큐에 추가된 리소스 요청이 할당될 때 생성되는 TPU의 사용자 할당 ID입니다.
project
Google Cloud 프로젝트.
zone
Cloud TPU를 생성하려는 영역입니다.
accelerator-type
가속기 유형은 만들려는 Cloud TPU의 버전과 크기를 지정합니다. 각 TPU 버전에서 지원되는 가속기 유형에 대한 자세한 내용은 TPU 버전을 참조하세요.
runtime-version
Cloud TPU 소프트웨어 버전입니다.
reserved
Cloud TPU 예약의 일부로 큐에 추가된 리소스를 요청할 때 이 플래그를 사용합니다.
network
큐에 추가된 리소스가 포함될 네트워크입니다.
subnetwork
큐에 추가된 리소스가 포함될 서브네트워크입니다.

콘솔

  1. Google Cloud 콘솔에서 TPU 페이지로 이동합니다.

    TPU로 이동

  2. TPU 만들기를 클릭합니다.

  3. 이름 필드에 TPU의 이름을 입력합니다.

  4. 영역 상자에서 TPU를 만들 영역을 선택합니다.

  5. TPU 유형 상자에서 가속기 유형을 선택합니다. 가속기 유형은 만들려는 Cloud TPU의 버전과 크기를 지정합니다. 각 TPU 버전에서 지원되는 가속기 유형에 대한 자세한 내용은 TPU 버전을 참고하세요.

  6. TPU 소프트웨어 버전 상자에서 소프트웨어 버전을 선택합니다. Cloud TPU VM을 만들 때 TPU 소프트웨어 버전은 설치할 TPU 런타임 버전을 지정합니다. 자세한 내용은 TPU VM 이미지를 참고하세요.

  7. 대기열 사용 설정 전환 버튼을 클릭합니다.

  8. 대기열에 추가된 리소스 이름 필드에 대기열에 추가된 리소스 요청의 이름을 입력합니다.

  9. 네트워크 섹션을 펼칩니다.

  10. 네트워크서브네트워크 필드에서 사용할 네트워크와 서브네트워크를 선택합니다.

  11. 만들기를 클릭하여 대기열에 추가된 리소스 요청을 만듭니다.

큐에 추가된 리소스 요청 삭제

큐에 추가된 리소스 요청을 삭제하여 큐에 추가된 리소스 요청 및 해당 요청과 연결된 TPU를 삭제할 수 있습니다.

gcloud

--force 플래그를 queued-resource delete 명령어에 전달합니다.

gcloud compute tpus queued-resources delete your-queued-resource-id \
    --project my-project \
    --zone us-central2-b \
    --force \
    --async

명령어 플래그 설명

your-queued-resource-id
큐에 추가된 리소스 요청의 사용자 할당 ID입니다.
project
큐에 추가된 리소스가 할당된 Google Cloud 프로젝트입니다.
zone
삭제할 Cloud TPU의 영역입니다.
force
TPU VM과 큐에 추가된 리소스 요청을 모두 삭제합니다.

curl

curl 요청에 쿼리 매개변수 force=true를 사용합니다.

curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://tpu.googleapis.com/v2/projects/my-project/locations/us-central2-b/queuedResources/your-queued-resource-id?force=true

명령어 플래그 설명

your-queued-resource-id
큐에 추가된 리소스 요청의 사용자 할당 ID입니다.
project
큐에 추가된 리소스가 할당된 Google Cloud 프로젝트입니다.
zone
삭제할 Cloud TPU의 영역입니다.
force
TPU VM과 큐에 추가된 리소스 요청을 모두 삭제합니다.

콘솔

  1. Google Cloud 콘솔에서 TPU 페이지로 이동합니다.

    TPU로 이동

  2. 대기열에 추가된 리소스 탭을 클릭합니다.

  3. 대기열에 추가된 리소스 요청 옆에 있는 체크박스를 선택합니다.

  4. 삭제를 클릭합니다.

TPU를 직접 삭제하는 경우 다음 예와 같이 대기열에 추가된 리소스도 삭제해야 합니다. TPU를 삭제하면 큐에 추가된 리소스 요청이 SUSPENDED 상태로 전환된 후 큐에 추가된 리소스 요청을 삭제할 수 있습니다.

gcloud

TPU를 삭제합니다.

$ gcloud compute tpus tpu-vm delete your-node-id \
    --project=your-project \
    --zone=zone \
    --quiet

명령어 플래그 설명

project
큐에 추가된 리소스가 할당된 Google Cloud 프로젝트입니다.
zone
삭제할 Cloud TPU의 영역입니다.
your-node-id
삭제하려는 TPU의 이름입니다.

TPU를 삭제하면 연결된 큐에 추가된 리소스가 SUSPENDING 상태로 전환된 후 SUSPENDED 상태로 전환됩니다. 큐에 추가된 리소스가 SUSPENDED 상태이면 다음과 같이 삭제할 수 있습니다.

gcloud compute tpus queued-resources delete your-queued-resource-id \
    --project your-project-id \
    --zone us-central2-b

명령어 플래그 설명

queued-resource-request-id
큐에 추가된 리소스 요청의 사용자 할당 ID입니다.
project
큐에 추가된 리소스가 할당된 Google Cloud 프로젝트입니다.
zone
삭제할 Cloud TPU의 영역입니다.

curl

TPU를 삭제합니다.

curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://tpu.googleapis.com/v2/projects/your-project/locations/us-central2-b/nodes?node_id=your-node-id

명령어 플래그 설명

project
큐에 추가된 리소스가 할당된 Google Cloud 프로젝트입니다.
zone
삭제할 Cloud TPU의 영역입니다.
your-node-id
삭제하려는 TPU의 이름입니다.

TPU를 삭제하면 연결된 큐에 추가된 리소스가 SUSPENDING 상태로 전환된 후 SUSPENDED 상태로 전환됩니다. 큐에 추가된 리소스가 SUSPENDED 상태이면 다음과 같이 삭제할 수 있습니다.

curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://tpu.googleapis.com/v2/projects/your-project-id/locations/us-central2-b/queuedResources/your-queued-resource-id

명령어 플래그 설명

queued-resource-request-id
큐에 추가된 리소스 요청의 사용자 할당 ID입니다.
project
큐에 추가된 리소스가 할당된 Google Cloud 프로젝트입니다.
zone
삭제할 Cloud TPU의 영역입니다.

콘솔

TPU를 삭제합니다.

  1. Google Cloud 콘솔에서 TPU 페이지로 이동합니다.

    TPU로 이동

  2. TPU 옆에 있는 체크박스를 선택합니다.

  3. 삭제를 클릭합니다.

TPU를 삭제하면 연결된 대기열에 추가된 리소스가 정지 중 상태로 전환된 후 정지됨 상태가 됩니다. 대기열에 추가된 리소스가 일시중지됨 상태인 경우 다음과 같이 삭제할 수 있습니다.

  1. 대기열에 추가된 리소스 탭을 클릭합니다.
  2. 대기열에 추가된 리소스 요청 옆에 있는 체크박스를 선택합니다.
  3. 삭제를 클릭합니다.

큐에 추가된 리소스 요청에 대한 상태 및 진단 정보 검색

큐에 추가된 리소스 요청에 대한 상태 및 진단 정보를 검색합니다.

gcloud

gcloud compute tpus queued-resources describe queued-resource-request-id \
    --project your-project-id \
    --zone us-central2-b

명령어 플래그 설명

queued-resource-request-id
큐에 추가된 리소스 요청의 사용자 할당 ID입니다.
project
큐에 추가된 리소스가 할당된 프로젝트의 ID입니다.
zone
Cloud TPU를 생성하려는 영역입니다.

curl

curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://tpu.googleapis.com/v2/projects/your-project-id/locations/us-central2-b/queuedResources/your-queued-resource-id

명령어 플래그 설명

queued-resource-request-id
큐에 추가된 리소스 요청의 사용자 할당 ID입니다.
project
큐에 추가된 리소스가 할당된 프로젝트의 ID입니다.
zone
Cloud TPU를 생성하려는 영역입니다.

콘솔

  1. Google Cloud 콘솔에서 TPU 페이지로 이동합니다.

    TPU로 이동

  2. 대기열에 추가된 리소스 탭을 클릭합니다.

  3. 대기열에 추가된 리소스 요청의 이름을 클릭합니다.

TPU가 프로비저닝된 후에는 TPU 페이지로 이동하여 TPU를 찾고 해당하는 큐에 추가된 리소스 요청의 이름을 클릭하여 큐에 추가된 리소스 요청에 관한 세부정보를 볼 수도 있습니다.

요청이 실패하면 출력에 오류 정보가 포함됩니다. 리소스를 기다리는 요청의 경우 출력이 다음과 비슷하게 표시됩니다.

gcloud

    name: projects/your-project-id/locations/us-central2-b/queuedResources/your-queued-resource-id
    state:
    state: WAITING_FOR_RESOURCES
    tpu:
    nodeSpec:
    - node:
        acceleratorType: v4-8
        bootDisk: {}
        networkConfig:
            enableExternalIps: true
        queuedResource: projects/your-project-number/locations/us-central2-b/queuedResources/your-queued-resource-id
        runtimeVersion: tpu-vm-tf-2.10.0
        schedulingConfig: {}
        serviceAccount: {}
        shieldedInstanceConfig: {}
        useTpuVm: true
        nodeId: your-node-id
        parent: projects/your-project-number/locations/us-central2-b

콘솔

큐에 추가된 리소스 상태 필드에 리소스 대기 중이 표시됩니다.

프로젝트의 큐에 추가된 리소스 요청 나열

프로젝트의 큐에 추가된 리소스 요청을 나열합니다.

gcloud

gcloud compute tpus queued-resources list --project your-project-id \
    --zone us-central2-b

명령어 플래그 설명

project
큐에 추가된 리소스가 할당된 Google Cloud 프로젝트입니다.
zone
Cloud TPU를 생성하려는 영역입니다.

curl

curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://tpu.googleapis.com/v2/projects/your-project-id/locations/us-central2-b/queuedResources

명령어 플래그 설명

project
큐에 추가된 리소스가 할당된 Google Cloud 프로젝트입니다.
zone
Cloud TPU를 생성하려는 영역입니다.

콘솔

  1. Google Cloud 콘솔에서 TPU 페이지로 이동합니다.

    TPU로 이동

  2. 대기열에 추가된 리소스 탭을 클릭합니다.