큐에 추가된 리소스 관리
큐에 추가된 리소스를 사용하면 큐에 추가된 방식으로 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 클라이언트 라이브러리 중 하나를 사용하는 경우 사용 중인 언어에 대한 설정 안내를 따릅니다.
주문형 큐에 추가된 리소스 요청
주문형 리소스는 선점되지 않지만 주문형 할당량에서 요청을 만족시킬 수 있을 만큼 충분한 Cloud TPU 리소스 가용성을 보장하지 않습니다. 주문형 리소스에 관한 자세한 내용은 할당량 유형을 참조하세요.
gcloud
gcloud compute tpus queued-resources create your-queued-resource-id \ --node-id your-node-id \ --project your-project-id \ --zone us-central1-a \ --accelerator-type v5litepod-8 \ --runtime-version v2-alpha-tpuv5-lite
명령어 파라미터 설명
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-central1-a', 'node_id': 'your-node-id', 'node': { 'accelerator_type': 'v5litepod-8', 'runtime_version': 'v2-alpha-tpuv5-lite', } } } }" \ https://tpu.googleapis.com/v2alpha1/projects/your-project-id/locations/us-central1-a/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 소프트웨어 버전입니다.
콘솔
Google Cloud 콘솔에서 TPU 페이지로 이동합니다.
TPU 만들기를 클릭합니다.
이름 필드에 TPU 이름을 입력합니다.
영역 상자에서 TPU를 만들려는 영역을 선택합니다.
TPU 유형 상자에서 가속기 유형을 선택합니다. 가속기 유형은 만들려는 Cloud TPU의 버전과 크기를 지정합니다. 각 TPU 버전에서 지원되는 가속기 유형에 대한 자세한 내용은 TPU 버전을 참조하세요.
TPU 소프트웨어 버전 상자에서 소프트웨어 버전을 선택합니다. Cloud TPU VM을 만들 때 TPU 소프트웨어 버전이 설치할 TPU 런타임 버전을 지정합니다. 자세한 내용은 TPU 소프트웨어 버전을 참조하세요.
큐 사용 설정 전환 버튼을 클릭합니다.
큐에 추가된 리소스 이름 필드에 큐에 추가된 리소스 요청의 이름을 입력합니다.
만들기를 클릭하여 큐에 추가된 리소스 요청을 만듭니다.
Java
Cloud TPU에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Cloud TPU에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
예약을 사용하여 큐에 추가된 리소스 요청
예약을 사용하여 큐에 추가된 리소스를 요청할 수 있습니다. 예약을 구매하려면 Google Cloud 계정팀에 문의하세요.
gcloud
gcloud compute tpus queued-resources create your-queued-resource-id \ --node-id your-node-id \ --project your-project-id \ --zone us-central1-a \ --accelerator-type v5litepod-8 \ --runtime-version v2-alpha-tpuv5-lite \ --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-central1-a', 'node_id': 'your-node-id', 'node': { 'accelerator_type': 'v5litepod-8', 'runtime_version': 'v2-alpha-tpuv5-lite', } } }, 'guaranteed': { 'reserved': true, } }" \ https://tpu.googleapis.com/v2alpha1/projects/your-project-id/locations/us-central1-a/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 예약의 일부로 큐에 추가된 리소스를 요청할 때 이 플래그를 사용합니다.
콘솔
Google Cloud 콘솔에서 TPU 페이지로 이동합니다.
TPU 만들기를 클릭합니다.
이름 필드에 TPU 이름을 입력합니다.
영역 상자에서 TPU를 만들려는 영역을 선택합니다.
TPU 유형 상자에서 가속기 유형을 선택합니다. 가속기 유형은 만들려는 Cloud TPU의 버전과 크기를 지정합니다. 각 TPU 버전에서 지원되는 가속기 유형에 대한 자세한 내용은 TPU 버전을 참조하세요.
TPU 소프트웨어 버전 상자에서 소프트웨어 버전을 선택합니다. Cloud TPU VM을 만들 때 TPU 소프트웨어 버전이 설치할 TPU 런타임 버전을 지정합니다. 자세한 내용은 TPU 소프트웨어 버전을 참조하세요.
큐 사용 설정 전환 버튼을 클릭합니다.
큐에 추가된 리소스 이름 필드에 큐에 추가된 리소스 요청의 이름을 입력합니다.
관리 섹션을 펼칩니다.
기존 예약 사용 체크박스를 선택합니다.
만들기를 클릭하여 큐에 추가된 리소스 요청을 만듭니다.
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-central1-a \ --accelerator-type v5litepod-8 \ --runtime-version v2-alpha-tpuv5-lite \ --spot
명령어 파라미터 설명
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임을 지정하는 불리언 플래그입니다.
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-central1-a', 'node_id': 'your-node-id', 'node': { 'accelerator_type': 'v5litepod-8', 'runtime_version': 'v2-alpha-tpuv5-lite' } } }, 'spot': {} }" \ https://tpu.googleapis.com/v2alpha1/projects/your-project-id/locations/us-central1-a/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임을 지정하는 불리언 플래그입니다.
콘솔
Google Cloud 콘솔에서 TPU 페이지로 이동합니다.
TPU 만들기를 클릭합니다.
이름 필드에 TPU 이름을 입력합니다.
영역 상자에서 TPU를 만들려는 영역을 선택합니다.
TPU 유형 상자에서 가속기 유형을 선택합니다. 가속기 유형은 만들려는 Cloud TPU의 버전과 크기를 지정합니다. 각 TPU 버전에서 지원되는 가속기 유형에 대한 자세한 내용은 TPU 버전을 참조하세요.
TPU 소프트웨어 버전 상자에서 소프트웨어 버전을 선택합니다. Cloud TPU VM을 만들 때 TPU 소프트웨어 버전이 설치할 TPU 런타임 버전을 지정합니다. 자세한 내용은 TPU 소프트웨어 버전을 참조하세요.
큐 사용 설정 전환 버튼을 클릭합니다.
큐에 추가된 리소스 이름 필드에 큐에 추가된 리소스 요청의 이름을 입력합니다.
관리 섹션을 펼칩니다.
TPU 스팟 VM으로 만들기 체크박스를 선택합니다.
만들기를 클릭합니다.
Java
Cloud TPU에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Cloud TPU에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
큐에 추가된 리소스가 지정된 시간 이전 또는 이후에 할당되도록 요청
큐에 추가된 리소스 요청에서 선택적으로 시작 시간 또는 종료 시간을 지정할 수 있습니다. 시작 시간 또는 시작 기간은 요청을 채울 가장 이른 시간을 지정합니다. 종료 시간 또는 종료 기간은 요청이 유효한 기간을 지정합니다. 지정된 종료 시간까지 또는 지정된 기간 내에 요청이 작성되지 않으면 요청이 만료됩니다. 요청은 만료된 후에도 큐에 남아 있지만 더 이상 할당할 수 없습니다.
시작 시간 또는 기간과 종료 시간 또는 기간을 지정하여 할당 간격을 지정할 수도 있습니다.
지원되는 타임스탬프 및 기간 형식 목록은 날짜/시간을 참조하세요.
큐에 추가된 리소스가 지정된 시간 이후에 처리되도록 요청
큐에 추가된 리소스 요청에서 리소스를 할당하려면 지나야 하는 시간 또는 기간을 지정할 수 있습니다.
gcloud
다음 명령어는 2022년 12월 14일 오전 9시 이후에 할당되도록 v5p-4096 TPU를 요청합니다.
gcloud compute tpus queued-resources create your-queued-resource-id \ --node-id your-node-id \ --project your-project-id \ --zone us-east5-a \ --accelerator-type v5p-4096 \ --runtime-version v2-alpha-tpuv5 \ --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시 이후에 할당되도록 v5p-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-east5-a', 'node_id': 'your-node-id', 'node': { 'accelerator_type': 'v5p-4096', 'runtime_version': 'v2-alpha-tpuv5', } } }, 'queueing_policy': { 'valid_after_time': { 'seconds': 2022-12-14T09:00:00Z } } }" \ https://tpu.googleapis.com/v2alpha1/projects/your-project-id/locations/us-east5-a/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을 참조하세요.
콘솔
Google Cloud 콘솔에서 TPU 페이지로 이동합니다.
TPU 만들기를 클릭합니다.
이름 필드에 TPU 이름을 입력합니다.
영역 상자에서 TPU를 만들려는 영역을 선택합니다.
TPU 유형 상자에서 가속기 유형을 선택합니다. 가속기 유형은 만들려는 Cloud TPU의 버전과 크기를 지정합니다. 각 TPU 버전에서 지원되는 가속기 유형에 대한 자세한 내용은 TPU 버전을 참조하세요.
TPU 소프트웨어 버전 상자에서 소프트웨어 버전을 선택합니다. Cloud TPU VM을 만들 때 TPU 소프트웨어 버전이 설치할 TPU 런타임 버전을 지정합니다. 자세한 내용은 TPU 소프트웨어 버전을 참조하세요.
큐 사용 설정 전환 버튼을 클릭합니다.
큐에 추가된 리소스 이름 필드에 큐에 추가된 리소스 요청의 이름을 입력합니다.
요청 시작 시간 필드에 리소스를 할당하려면 지나야 하는 시간을 입력합니다.
만들기를 클릭하여 큐에 추가된 리소스 요청을 만듭니다.
다음 예시에서는 6시간 후에 v5p-32를 할당하도록 요청합니다.
gcloud
gcloud compute tpus queued-resources create your-queued-resource-id \ --node-id your-node-id \ --project your-project-id \ --zone us-east5-a \ --accelerator-type v5p-32 \ --runtime-version v2-alpha-tpuv5 \ --valid-after-duration 6h
명령어 파라미터 설명
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을 참조하세요.
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-east5-a', 'node_id': 'your-node-id', 'node': { 'accelerator_type': 'v5p-32', 'runtime_version': 'v2-alpha-tpuv5', } } }, 'queueing_policy': { 'valid_after_duration': { 'seconds': 21600 } }" \ https://tpu.googleapis.com/v2alpha1/projects/your-project-id/locations/us-east5-a/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을 참조하세요.
Java
Cloud TPU에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.