倉儲規模與資料中心運算

商用硬體(commodity hardware)

造一支送貨車隊有兩種辦法。一種是買少數幾輛客製化的裝甲卡車,每輛昂貴、各自維護、非常可靠。另一種是買大量普通的量產廂型車:每輛便宜、沒有一輛特別、任何一輛都可能拋錨——但它們可互換,而你備有備品。倉儲規模電腦採取第二種做法,而那些普通廂型車就叫商用硬體(commodity hardware):標準、量產、現成的伺服器與零件,選它們是因為便宜又充沛,而非因為其中任何一台出眾。

具體而言,商用硬體意味著用整個市場都在用的同一批廣泛可得元件來打造艦隊——主流伺服器 CPU、標準 DRAM 模組、普通磁碟與固態硬碟、常見的乙太網路——而非客製、奇特或特別強化的零件。回報是成本:量產讓這些零件便宜、競爭壓低價格、而可互換意味著一個故障單元由一群深厚備品中一個一模一樣的來替換。代價是任何個別商用零件都只是普通地可靠;它並不是被造來永不故障。WSC 設計者刻意接受這點,倚賴冗餘與軟體,把一堆普通機器變成一個可依賴的整體——可靠性是在系統層級買的,不是在元件層級。

商用硬體是把倉儲規模電腦與傳統超級電腦區分開來的決定性選擇之一。超級電腦傳統買金錢能造出的最快、最可靠、最專門的硬體;WSC 傳統則大量買無趣、便宜、可替換的零件,並在整支艦隊上用軟體去打造可靠性與效能。這個選擇直接來自經濟:當你在買數萬台機器時,每台一點點的節省乘上整支艦隊就很龐大,而在冗餘已涵蓋故障時,為個別鍍金的可靠性付溢價毫無道理。

兩個誠實的提醒。第一,「商用」不代表「不經思考挑現成最便宜的」——零件是標準的,但在 WSC 規模下,即使效率、故障率或耗電上的微小差異,乘上整支艦隊也會放大,所以選擇很謹慎,硬體常在邊緣處被客製(客製機架、主機板或供電),同時仍由商用矽晶構成。第二,趨勢不是純粹走向商用:對某些工作負載,專門的加速器值回票價,所以現代 WSC 把大多商用的伺服器,和一層在量足以證明設計成本合理之處的專用硬體混合在一起。

一個 WSC 營運者買 5 萬台一模一樣的伺服器,由主流 CPU、標準 DRAM 與普通 SSD 構成——每台幾千美元、沒有一台特別強化。當一台故障時(而每天都有好幾台故障),它就被換成一個一模一樣的備品,而軟體早已把工作導向各副本。便宜零件加冗餘,勝過光靠昂貴零件。

大量便宜、可互換、普通可靠的零件——由冗餘來供應可靠性。

「商用」不是「隨便挑最便宜的」。在艦隊規模下,每台在功耗與故障率上的微小差異會巨幅放大,所以零件是謹慎挑選、且常在邊緣處被客製的。

又稱
commodity serversoff-the-shelf hardware通用硬體現成硬體量產硬體