Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

1.3. 分散式系統

要完全實現水平擴充能力,RHEL 使用了許多「分散式運算」(distributed computing)的元件。組成分散式運算的科技共分成以下三層:
通訊
水平擴充能力需要同步處理許多任務。因此,這些任務必須有「程序間的通訊能力」(interprocess communication)來協同運作。更進一步來說,擁有水平擴充能力的平台應該能與其它系統共享任務。
儲存裝置
單靠本機儲存裝置並不足以解決水平擴充能力的需要。這需要一些分散式或共享式的儲存裝置,有著一層萃取層讓單一儲存卷冊的容量,可以透過任意增加儲存裝置而加大空間。
管理
分散式運算的最重要任務是「管理」。管理層會協調所有軟硬體元件,有效地管理通訊、儲存以及共享資源。
以下章節將詳細討論這每一種技術。

1.3.1. 通訊

通訊層能確保資料傳輸,它包含了兩個部分:
  • 硬體
  • 軟體
讓多台系統通訊的最簡單(也最快速)的方式,是透過「共享記憶體」(shared memory)通訊。這繼承了大家熟悉的記憶體讀、寫運作;跟傳統的記憶體讀寫運作比起來,共享記憶體擁有高頻寬、低延遲、以及低負載的好處。
乙太網路

電腦間最常見的通訊方式是透過乙太網路。時至今日,系統的預設網路為「GbE」(十億位元乙太網路,Gigabit Ethernet),且大部分伺服器都有二到四個 GbE 連接埠。GbE 的頻寬大、延遲低,是現代大部分分散式系統的基礎。就算系統擁有更快的網路硬體,使用 GbE 作為管理介面依舊是非常常見的作法。

10GbE

高階伺服器、甚至是中階伺服器,正在快速採用「10GbE」(百億位元乙太網路)技術。10GbE 的速度是 GbE 的十倍。它最大的好處是用於現代的多核心處理器時,可讓通訊與運算達到完美的平衡。您可以比較使用 GbE 的單核心系統、以及使用八核心的 10GbE 系統。後者在維護系統整體效能與避免通訊瓶頸上,特別能彰顯其價值。

可惜的是,10GbE 依舊很昂貴。10GbE 的網路卡價格已經降下來,但其間的連接(特別是光纖)依舊很貴,而 10GbE 的網路交換器更是極端昂貴。我們可以預期隨著時間推演,價格會愈來愈低,但目前 10GbE 依舊廣泛用於機房的骨幹、以及對效能要求嚴苛的應用程式上。
Infiniband

Infiniband 的速度甚至比 10GbE 更快。除了 TCP/IP 與 UDP 網路透過乙太網路連接以外,Infiniband 也支援共享記憶體的通訊。這能讓 Infiniband 透過「RDMA」(遠端直接記憶體存取,remote direct memory access)與系統一起運作。

使用 RDMA 能讓 Infiniband 將資料直接在系統之間移動,而不需要使用 TCP/IP 或 socket 來連線。也因此能降低延遲時間,這對一些應用程式來說至關重要。
Infiniband 常見於「HPTC」(高效能科技運算,High Performance Technical Computing)的應用程式上,這種應用程式需要高頻寬、低延遲、以及低負載的環境。許多超級電腦上的應用程式都得益於此,跟花錢在更快的處理器、更多記憶體比起來,投資 Infiniband 是改善效能的最佳方式。
RoCCE

RoCCE」(使用乙太網路的 RDMA,RDMA over Ethernet)將 Infiniband 類型的通訊(包括 RDMA)在 10GbE 架構上實作出來。隨著 10GbE 產品愈來愈普遍、價格愈來愈低,可以預期許多系統與應用程式都會更廣泛地運用 RDMA 與 RoCCE。

Red Hat 支援以上這些通訊方法,並用在 RHEL 6 中。