本文說明如何查看在預留容量區塊上執行的 A4X Max、A4X、A4、A3 Ultra、A3 Mega 和 A3 High (8 個 GPU) 執行個體實體位置。建立 A4X Max、A4X、A4、A3 Ultra、A3 Mega 和 A3 High (8 個 GPU) 執行個體後,您可以查看這些執行個體的排列方式,確認哪些 Compute Engine 執行個體距離最近。瞭解執行個體鄰近性後,您就能執行下列操作:
調整應用程式或工作負載設計,進一步縮短網路延遲時間。
如果經常通訊的運算執行個體意外相距遙遠,請排解網路延遲或效能問題。
如要查看 Cluster Director 中的叢集拓撲,請參閱「查看叢集拓撲」。
如果您使用一般 GPU,則不支援 physicalHostTopology 中繼資料。如要查看執行個體拓撲,請改為執行下列操作:
事前準備
- 查看 AI Hypercomputer 功能中使用的術語。
-
選取這個頁面上您打算如何使用範例的分頁:
控制台
使用 Google Cloud 控制台存取 Google Cloud 服務和 API 時,無須設定驗證。
gcloud
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。登入後,執行下列指令來初始化 Google Cloud CLI:
gcloud initREST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。
詳情請參閱 Google Cloud 驗證說明文件中的「使用 REST 進行驗證」。
必要的角色
如要取得查看 Compute 執行個體拓撲所需的權限,請要求管理員授予您專案的 Compute 執行個體管理員 (v1) (roles/compute.instanceAdmin.v1) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這個預先定義的角色具備查看運算執行個體拓撲所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
如要查看運算執行個體拓撲,必須具備下列權限:
-
如要查看執行個體的詳細資料:
按一下專案中的
compute.instances.get -
如要查看執行個體清單:
按一下專案上的
compute.instances.list
瞭解運算執行個體拓撲
查看使用叢集式 GPU 機器系列的執行中運算執行個體詳細資料時,您可以查看「實體主機」欄位 (適用於 Google Cloud 控制台) 或 physicalHostTopology 欄位 (適用於 gcloud CLI、Compute Engine API,或查詢中繼資料金鑰),瞭解執行個體在叢集中的實體位置。這些欄位包含下列子欄位:
cluster:叢集的全域名稱。block:執行個體所在的預留區塊專屬 ID。sub-block:執行個體所在的子區塊專屬 ID。host:執行個體所在主機的機構專屬 ID。
如要瞭解執行個體鄰近程度,請比較執行個體之間的「實體主機」或 physicalHostTopology 欄位值。執行個體共用的子欄位越多,實體位置就越接近。
您也可以查看建立運算執行個體的預留空間拓撲。預留項目和執行個體的 physicalHostTopology 欄位會顯示相同的 block 和 cluster 欄位。舉例來說,查看特定預留區塊時,您可以查看部署在該區塊中的所有執行個體名稱和子區塊。如要進一步瞭解預訂的拓撲,請參閱「查看預訂的拓撲」。
查看運算執行個體拓撲
如要一次查看多個執行中運算執行個體的實際位置,請使用 REST API。否則,請選取下列任一選項:
控制台
前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。
在「名稱」欄中,按一下要查看詳細資料的執行個體名稱。系統會顯示執行個體詳細資料頁面,並選取「Details」(詳細資料) 分頁。
在「Basic information」(基本資訊) 區段中,檢查「Physical host」(實體主機) 欄位的值。
gcloud
如要查看執行中運算執行個體的實際位置,請使用 gcloud compute instances describe 指令並加上 --flatten=resourceStatus.physicalHostTopology 旗標:
gcloud compute instances describe INSTANCE_NAME \
--flatten=resourceStatus.physicalHostTopology \
--zone=ZONE
更改下列內容:
INSTANCE_NAME:執行個體名稱。ZONE:執行個體所在的可用區。
輸出結果會與下列內容相似:
---
cluster: europe-west1-cluster-jfhb
block: 3e3056e23cf91a5cb4a8621b6a52c100
subBlock: 0fc09525cbd5abd734342893ca1c083f
host: 1215168a4ecdfb434fd4d28056589059
REST
如要查看執行中運算執行個體的實體位置,請發出下列其中一個 GET 要求。提出要求時,您必須加入 fields 查詢參數,並指定只顯示執行個體的 name、machineType 和 physicalHostTopology 欄位。您也必須加入 filter 查詢參數,並指定只列出正在執行的執行個體。
如要查看所有區域的執行個體清單:
instances.aggregatedList方法GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/instances?fields=items.name,items.machineType,items.resourceStatus.physicalHostTopology&filter=status=RUNNING如要查看特定區域中的執行個體清單:
instances.list方法GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances?fields=items.name,items.machineType,items.resourceStatus.physicalHostTopology&filter=status=RUNNING
更改下列內容:
PROJECT_ID:執行個體所在的專案 ID。ZONE:執行個體所在的可用區。
輸出結果會與下列內容相似:
{
"items": [
{
"name": "vm-01",
"machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
"resourceStatus": {
"physicalHostTopology": {
"cluster": "europe-west1-cluster-jfhb",
"block": "3e3056e23cf91a5cb4a8621b6a52c100",
"subBlock": "0fc09525cbd5abd734342893ca1c083f",
"host": "1215168a4ecdfb434fd4d28056589059"
}
}
},
{
"name": "vm-02",
"machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
"resourceStatus": {
"physicalHostTopology": {
"cluster": "europe-west1-cluster-jfhb",
"block": "3e3056e23cf91a5cb4a8621b6a52c100",
"subBlock": "1fc18636cbd4abd623553784ca2c174e",
"host": "2326279b5ecdfc545fd5e39167698168"
}
}
},
...
]
}
如要修正執行個體清單,請編輯 filter 查詢參數中的篩選運算式。
查詢中繼資料鍵,查看運算執行個體拓撲
如要透過查詢 physical_host_topology 中繼資料鍵,查看執行中運算執行個體的實際位置,請選取下列其中一個選項:
Linux 執行個體
連線至 Linux 運算執行個體。
在 Linux 執行個體中,使用
curl工具建立查詢。如要在 Linux 執行個體上查詢physical_host_topology中繼資料金鑰,請執行下列指令:user@myinst:~$ curl -s -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topology輸出結果會與下列內容相似:
{ "cluster": "europe-west1-cluster-jfhb", "block": "3e3056e23cf91a5cb4a8621b6a52c100", "subBlock": "1fc18636cbd4abd623553784ca2c174e", "host": "2326279b5ecdfc545fd5e39167698168" }
Windows 執行個體
連線至 Windows Compute 執行個體。
在 Windows 執行個體中,使用
Invoke-RestMethod指令建立查詢。如要在 Windows 執行個體上查詢physical_host_topology中繼資料金鑰,請執行下列指令:PS C:\> $value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topology") $value輸出結果會與下列內容相似:
{ "cluster": "europe-west1-cluster-jfhb", "block": "3e3056e23cf91a5cb4a8621b6a52c100", "subBlock": "1fc18636cbd4abd623553784ca2c174e", "host": "2326279b5ecdfc545fd5e39167698168" }
後續步驟
瞭解如何管理主機事件: