1.3. 分布式系统
为完全利用横向延展性,红帽企业版 Linux 使用分布式计算的很多组件。可将组成分布式计算的技术分为三层:
- 通讯
- 横向延展需要同时(平行)执行很多任务。因此这些任务必须有进程间通讯以便协调其工作。另外,采用横向延展的平台应该可以跨多个系统共享任务。
- 存储
- 本地磁盘存储不足以满足横向延展的要求。需要分布式或者共享存储,一个有可允许单一存储卷容量渐变增长的提取层,另外还有额外的新存储硬件。
- 管理
- 分布式计算最重要的任务是管理层。这个管理层可协调所有软件和硬件组件,有效管理通讯、存储以及共享资源的使用。
以下小节论述了每一层的详细技术。
1.3.1. 通讯
通讯层可保证数据传输,它由两部分组成:
- 硬件
- 软件
多系统进行通讯最简单(也最迅速)的方法是共享内存。这样可以推导出类似内存读取/写入操作的用量。共享内存的带宽高,低延迟,且常规内存读取/写入操作成本低。
以太网
计算机之间最常用的通讯是使用以太网。目前系统默认提供 Gigabit Ethernet(GbE),且大多数服务器包括 2-4 个 Gigabit 以太网 GbE 端口。GbE 提供良好的带宽和延迟性能。这是目前使用的大多数分布式系统的基础。即使系统使用较快的网络硬件,一般也是使用 GbE 专门用于管理接口。
10GbE
Ten Gigabit Ethernet (10GbE) 是在高端甚至一些中端服务器中迅速得以广泛使用。10GbE 提供比 GbE 快 10 倍的带宽。其主要优点之一是使用现代多核处理器,它可保证通讯和计算之间的平衡。您可以将使用 GbE 的单核系统与使用 10GbE 的八核系统进行比较。以这种方法使用,10GbE 对保持整体系统性能有特殊意义,并可以避免通讯瓶颈。
遗憾的是,10GbE 很贵。虽然 10GbE NIC 的成本已经下降,但互联(特别是光纤)的价格仍然很高,且 10GbE 网络交换机的价格极为昂贵。我们可以期待在一定时间内价格可以下降,但 10GbE 现在是在服务器机房主干以及对性能至关重要的程序中使用最多的网卡。
Infiniband
Infiniband 提供比 10GbE 更高的性能。除在以太网中使用 TCP/IP 和 UDP 网络连接外,Infiniband 还支持共享内存通讯。这就允许 Infiniband 通过远程直接内存访问 (RDMA) 在系统间使用。
使用 RDMA 可让 Infiniband 直接从系统中删除数据而无需负担 TCP/IP 或者插槽连接,继而减小延迟,这对有些程序是很重要的。
Infiniband 最常用于高性能技术计算(HPTC)程序,此类程序要求使用高带宽、低延迟和低负担。很多超级计算程序都得益于此,提高性能的最佳方式是使用 Infiniband,而不是快速处理器或者更多内存。
RoCCE
使用以太网的 RDMA (RoCCE) 通过 10GbE 基础设施实施 Infiniband 形式的通讯(包括 RDMA)。鉴于 10GbE 产品产量的增长带来的成本改善,我们有理由相信可能会在更大范围的系统和程序中使用更多的 RDMA 和 RoCCE。
红帽公司在红帽企业版 Linux 6 中全面支持这些通讯方法。