你在一台機器上共用什麼
切片並不總是一整台機器。當你在一台雙卡主機上租下一則 1× 報價時,另一張卡可能同時被別人租走 — 所以值得弄清楚界線到底劃在哪裡。
只屬於你
| 資源 | 如何得到保證 |
|---|---|
| GPU | 一張 GPU 同一時間只分配給一個執行個體,絕不會被兩個租戶分割。容器是依硬體 ID 而不是依索引拿到它那幾張卡的,因此它既看不到也無法定址其他卡。 |
| 你的檔案系統 | 另一位租戶無法讀取或寫入你執行個體的硬碟。 |
| 你的行程 | 容器彼此獨立,不共用行程命名空間。你執行的任何東西對同機租戶都不可見,反之亦然。從主機代理程式 0.1.12 版起,每個執行個體每張 GPU 最多可以執行 16,384 個行程與執行緒,所以一個執行個體裡失控的 fork 耗不盡整台機器。 |
| 你的私有網路 | 你的執行個體會拿到自己的容器網路。同一台機器上的同機租戶沒有任何路由能連到它 — 他們碰不到你沒有發布的連接埠,而你有發布的連接埠,他們也只能用你自己連上去的同一種方式抵達:透過機器的位址或連線 URL,並通過該服務要求的任何驗證。 |
與機器共用
| 資源 | 這對你的意義 |
|---|---|
| 硬碟容量 | 報價卡片上的儲存數字是這台機器的硬碟總容量,也就是你能掛載的上限 — 它不是一份專屬配額。你在部署時自行選擇大小,並按 GB 每小時計費。你選定的大小會被許諾給你:我們不會把一台機器的硬碟超賣,所以當機器的硬碟已經許諾出去時,部署會以 MACHINE_DISK_EXHAUSTED 被拒絕。 |
| CPU | 從主機代理程式 0.1.12 版起按執行個體限制,機器更新代理程式後生效:執行個體依它所佔 GPU 的比例分得機器的核心 —— 四卡機器上的 1× 切片分得四分之一。在還執行舊版代理程式的機器上沒有任何限制,忙碌的鄰居可能拖慢你的執行個體。 |
| 記憶體 | 從代理程式 0.1.12 版起同樣按比例限制:執行個體分得機器記憶體中與它 GPU 份額相當的部分,先扣掉機器為自己保留的一份(4 GB 與 10 % 中較大者),它的 /dev/shm 也包含在內。鄰居用光記憶體時撞上的是它自己的上限。在還執行舊版代理程式的機器上,鄰居耗盡機器的記憶體時,你執行個體裡的行程也可能被終止。 |
| 網路頻寬 | 主機的上行連線是共用的。卡片上的數字是機器的連線速率,而不是為你保留的份額。這只關乎吞吐量 — 共用同一條上行連線,不會讓任何人進到你的網路裡。 |
| 主機的上線時間 | 如果機器離線,上面的每一個執行個體都會受影響。這正是主機可靠度百分比所衡量的,也是它出現在卡片上的原因。 |
硬碟是要事先規劃的那一項
你執行個體的硬碟是私有的 — 沒有別人能讀取或寫入它 — 而且底下的容量確實有記帳:一台機器 不可能被賣出超過它實體容量的硬碟,所以已經許諾給你的空間不會再賣給同機租戶。這份記帳發生在 購買的那一刻。
它是否在執行期間也被強制執行,取決於機器。報價卡片上會寫明:
- · 有保障 — 主機的檔案系統支援按執行個體的配額,同機租戶寫到自己的上限就會停下來。你的 空間是真正屬於你的。
- · 共用 — 記帳依然成立,但執行中的機器內部沒有硬性上限,所以一個遠遠超出購買量寫入的同 機租戶,仍可能把磁碟區塞滿,讓你寫不進東西。
在主機們遷移檔案系統的這段期間,大多數機器仍然是共用。無論哪一種,請把檢查點存到某個持久
的地方,而不是指望執行個體的硬碟一直都在。
如何判斷你是否獨占一台機器
報價卡片上的可用數字告訴你的是這台機器的形態,而不是誰在上面。顯示 1 of 2 代表這台機器能提供兩則該形態、其中一則已被租走 — 所以如果你租下它,你會有一位同機租戶。
顯示 2 of 2 代表這台機器此刻是閒置的。但這不代表它會一直空著:另一張卡可能一分鐘後就被別人租走。
如果你需要獨占一台機器,就租下它發布的最大形態。在雙卡主機上拿下 2× 之後就沒有別的可賣了,因此沒有人能再落到這台機器上。