區域
每則報價都會標明它的機器擺在哪裡。你會在報價卡片上看到一面國家/地區旗幟和一組區域代碼,而且它會跟著執行個體走過部署,一路出現在執行個體頁面上。
區域是什麼
區域是機器所在的位置。它是關於硬體的事實,不是服務等級:GPU 型號相同的兩則報價,不管位於哪個區域,給你的都是同樣的 GPU。
區域代碼通常寫成 <國家>-<站點>:前兩個字母是 ISO 3166 國家/地區代碼,例如中國是 CN,連字號後面是機器所在的站點。每則報價還帶有一個另外的國家/地區代碼,取自區域代碼的前兩個字母;旗幟和市集的區域篩選用的就是這個國家/地區代碼。
Superheat CN 上的區域從哪裡來
| 事實 | 對你代表什麼 |
|---|---|
| 目錄只包含 Superheat CN 自己機群裡的機器 | 市集裡的每則報價都來自 Superheat CN 的機群,不與其他任何 Superheat 目錄共用庫存 |
| 位置由營運方替主機填寫 | 區域代碼就是營運方填寫的內容。Superheat CN 不會依機器的 IP 位址推斷位置 |
沒有填寫位置的機器顯示為 UNKNOWN | 這類報價的區域代碼是 UNKNOWN,國家/地區代碼是 XX |
所以,請以報價上顯示的區域代碼為準,不要依主機名稱或 IP 位址去猜測機器在哪裡。
區域告訴你什麼
它會改變什麼:
| 關注點 | 區域如何影響它 |
|---|---|
| 互動延遲 | 你和機器之間的往返時間。區域越遠,shell 用起來越遲鈍,JupyterLab 儲存格的回應也越慢,儘管運算本身跑得一樣快。 |
| 資料傳輸 | 把資料集傳上去或把檢查點拉下來都要跨過這段距離。距離越遠,複製越久。 |
| 你的資料放在哪裡 | 只要執行個體還在,你的硬碟就在那台機器上、在那個區域裡。 |
它不會改變什麼:GPU 執行你工作的速度。資料一旦到了機器上,在哪裡訓練一小時都是一小時。
實用的原則是:當你要在終端機裡打字或搬運大檔案時,挑一個近一點的區域;至於啟動之後就放著跑一整晚的工作,別再為它操心。
用白話說資料位置
你寫到執行個體硬碟上的一切——資料集、檢查點、你貼進 shell 的憑證——都存在那個區域的那台實體機器上,直到執行個體被銷毀。銷毀會刪掉硬碟。
如果你有關於資料可以在哪裡處理的規定,區域欄位就是你手上的那個控制手段。請把它讀作營運方對硬體位置的陳述,而不是一份合規認證。
依區域篩選
市集的區域篩選依國家/地區縮小範圍,選項顯示為國家/地區名稱。選項清單由當下目錄列出的報價產生(包括已售罄的規格),所以它只列出眼前在架的國家/地區,而不是機群曾經涵蓋過的每個地方。要縮到某一個站點,請把區域代碼打進搜尋框,它會比對 GPU 型號、主機名稱和區域。
透過 API,GET /v1/offers 上的 region 參數同時接受區域代碼和國家/地區代碼,以精確比對(區分大小寫):
# every offer whose machine has country code CN
curl -s "$SUPERHEAT_API/v1/offers?region=CN&sort=price_asc" \
-H "Authorization: Bearer $SUPERHEAT_KEY"
若只要看一個站點,就把報價上顯示的完整區域代碼傳給 region。
篩選不等於保證
選一個區域只是縮小你能看到的報價範圍。它不會保留任何東西,也不會讓容量憑空出現。
- 如果那個區域裡沒有東西符合你其他的篩選條件,頁面就是空的。解決辦法是放寬篩選,而不是等待——這裡沒有排隊,也沒有容量申請。
- 可用性是會變的。今天上午某個區域有四則空閒的 4× 報價,到了下午可能一則都沒有,因為別人把它們租走了。
- 這個選擇只對一次部署有效。銷毀那個執行個體再重新部署,你會落到你在那一刻挑的地方。執行個體不會遷移,也沒有哪個設定能把之後的部署釘在某個區域上。
- 停止執行個體會佔住你原本所在的那台機器,所以它的區域也一併佔住。銷毀則會把它放掉。
如果某個特定區域對你的工作很重要,請在圍繞它做計畫之前先去市集看一眼;當你打算回到同一台機器上時,讓執行個體保持停止而不是銷毀。