倉儲規模與資料中心運算

超額認購(oversubscription)

一間健身房賣出一千張會員卡,即使它一次只容得下兩百人,賭的是他們永遠不會同時出現。航空公司賣的票多過座位,理由相同。這種對共享資源刻意超賣——指望不是每個人都在同一刻用滿自己那一份——就叫做超額認購(oversubscription)。它是一場省錢的賭注:你提供的容量遠少於最壞情況所需,因為最壞情況很罕見,你以偶爾不足為代價省下大筆錢。

在資料中心裡,被超賣的資源是往樹上方的網路頻寬。設想一個有 40 台伺服器的機架,每台能送 25 Gb/s——那是 1000 Gb/s 的總向下容量。若架頂交換器只有 100 Gb/s 的上行通往建築其餘部分,那麼這個機架被以 10:1 超額認購:伺服器之間存在的頻寬,是把它們的流量帶出去的頻寬的十倍。只要伺服器大多在機架內交談、或只送適量的跨機架流量,上行就沒問題。但若它們之中許多想同時把資料炸過整棟建築,上行就帶不完,封包排隊或被丟棄。超額認購比(這裡是 10:1)正好量測你少配置了多少。

超額認購在 WSC 設計中無所不在,因為建一個完全無阻塞的網路——核心頻寬足以讓每台伺服器同時全速傳送——極其昂貴,而真實工作負載幾乎從不需要它。於是架構師挑一個比值來平衡成本與壅塞風險,通常倚賴流量的區域性(大多閒聊留在機架內)來讓被超賣的上層不致飽和。這是個典型的倉儲規模取捨:花得更少,接受平均情況沒事,只讓罕見的「全部一次來」情況受苦。

誠實看待故障模式。超額認購一路有效,直到大家同時出現。一種所有機架突然都需要交換大量資料的流量型態——一個大的洗牌階段、一場備份風暴、一波串聯重試——能讓被超賣的核心飽和,並把每個人的延遲都撐大,包括不相干的工作。所以省下的錢是真的,但有條件;那個比值是對流量型態的賭注,而糟糕的放置或突發的工作負載可能讓這個賭注輸掉。

機架:40 台伺服器 x 25 Gb/s = 1000 Gb/s 向下,但上行只有 100 Gb/s。超額認購比 10:1。平常流量留在本地,100 Gb/s 綽綽有餘。在一場巨大的跨機架洗牌期間,所有伺服器同時想要那條上行,它飽和了,每個人的延遲都飆高。

10:1 的比值省錢且大多時候有效——直到一陣流量突發讓每個人同時想要那條稀缺的上行。

超額認購是個賭注:賭的是流量不會全部同時尖峰。它省下大筆錢,但在像大洗牌這種全對全的通訊型態下可能崩潰,連不相干的工作延遲也被撐大。

又称
network oversubscriptionoversubscription ratio超額訂閱超賣