Linux高性能计算集群概述

电脑杂谈  发布时间:2020-07-20 03:34:40  来源:网络整理

redis集群高可用方案_高性能计算机集群 方案_高可用集群方案

金戈

2002年11月9日发布

简而言之,群集是一组计算机,它们为用户整体提供了一组网络资源. 这些单独的计算机系统是群集的节点. 理想的集群是用户永远不会意识到集群系统底部的节点. 在他/她看来,群集是一个系统,而不是多个计算机系统. 群集系统的管理员可以随意添加和删除群集系统的节点.

集群不是一个全新的概念. 实际上,计算机制造商和研究机构早在1970年代就开始研究和开发集群系统. 因为它们主要用于科学和工程计算,所以并不是每个人都知道这些系统. 直到Linux群集的出现,群集的概念才被广泛传播.

对集群的研究源于集群系统的良好性能可伸缩性. 增加CPU频率和总线带宽是最初提供计算机性能的主要手段. 但是,此方法提供了有限的系统性能. 然后人们通过增加CPU数量和内存容量来提高性能,因此出现了矢量机,对称多处理器(SMP)等. 但是,当CPU数量超过某个阈值时,诸如SMP之类的多处理器系统的可伸缩性将变得非常差. 主要瓶颈在于高性能计算机集群 方案,随着CPU数量的增加,访问内存的CPU带宽无法有效增加. 与SMP相反,群集系统的性能几乎随CPU数量的增加而线性变化. 图1显示了这种情况.

图1. 几种计算机系统的可扩展性

图1. 几种计算机系统的可扩展性

集群系统的优势不在于此. 集群系统的主要优点如下:

高可伸缩性: 如上所述. 高可用性: 集群中的一个节点发生故障,其任务可以传递给其他节点. 可以有效防止单点故障. 高性能: 负载平衡群集使系统可以同时访问更多用户. 具有成本效益: 可以使用符合工业标准的低成本硬件来构建高性能系统.

1.2.1集群系统的分类

尽管根据集群系统的不同特征有很多分类方法,但我们通常将集群系统分为两类:

高性能计算机集群 方案_redis集群高可用方案_高可用集群方案

计算机系统的可用性是通过系统的可靠性和可维护性来衡量的. 在工程中,通常使用平均故障时间(MTTF)来衡量系统的可靠性,而使用平均维修时间(MTTR)来衡量系统的可维护性. 因此可用性定义为:

MTTF/(MTTF+MTTR)*100%

行业根据可用性将计算机系统分为以下几类:

可用比率

(可用百分比)年度停机时间

(停机时间/年)可用性分类

99.5

3.7天

常规系统(常规)

99.9

8.8小时

可用系统(可用)

高可用集群方案_redis集群高可用方案_高性能计算机集群 方案

99.99

52.6分钟

高度可用的系统(高度可用)

99.999

5.3分钟

故障恢复力

99.9999

32秒

容错

对于关键业务,停机通常是灾难性的. 因为停机造成的损失也很大. 以下统计信息列出了不同类型的企业应用程序系统停机所造成的损失.

应用系统每分钟丢失(USD)

呼叫中心

redis集群高可用方案_高性能计算机集群 方案_高可用集群方案

27000

企业资源计划(ERP)系统

13000

供应链管理(SCM)系统

11000

电子商务系统

10000

客户服务中心系统

27000

随着公司越来越依赖信息技术,系统停机所造成的损失正在增加.

高可用性群集是使用群集技术来实现计算机系统的高可用性. 高可用性群集通常以两种方式工作:

关于高可用性群集的讨论很多,因此在这里我将不做详细介绍.

高性能计算机集群 方案_redis集群高可用方案_高可用集群方案

简而言之,高性能计算是计算机科学的一个分支,致力于超级计算机的开发,并行算法的研究以及相关软件的开发. 高性能计算主要研究以下两种类型的问题:

顾名思义,高性能集群使用集群技术来研究高性能计算.

有许多用于高性能计算的分类方法. 在这里,我们从并行任务之间的关系的角度对高性能计算进行了分类.

3.2.1高通量计算(高通量计算)

有一类高性能计算,可以将其分为几个可以并行化的子任务,并且这些子任务彼此无关. 在家中搜索外星智能(SETI @ HOME-在家中搜索外星智能)是这种类型的应用程序. 该项目使用Internet上的空闲计算资源来搜索外星人. SETI项目的服务器将一组数据和数据模式发送到Internet上参与SETI的计算节点. 计算节点使用给定的模式搜索给定的数据,然后将搜索结果发送到服务器. 服务器负责将每个计算节点返回的数据收集为完整的数据. 由于这种类型的应用程序的一个共同特征是在海量数据上搜索某些模式,因此这种类型的计算称为高通量计算. 所谓的互联网计算就属于这一类. 根据Flynn的分类,高吞吐量计算属于SIMD(单指令/多数据)类别.

3.2.2分布式计算(Distributed Computing)

另一种类型的计算与高通量计算正好相反. 尽管它们可以分为几个并行的子任务,但是这些子任务密切相关,需要大量的数据交换. 根据Flynn的分类,分布式高性能计算属于MIMD(多指令/多数据)类别.

对于Linux高性能群集,Beowulf是许的第一个反映. 最初,Beowulf只是一个著名的科学计算集群系统. 许多未来的群集将使用Beowulf的类似体系结构,因此,事实上,Beowulf已成为一种被广泛接受的高性能群集. 尽管它们的名称不同,但许多群集系统都是Beowulf群集的派生类. 当然,还有一些与Beowulf不同的集群系统. COW和Mosix是另外两个著名的集群系统.

3.3.1Beowulf集群

简而言之,Beowulf是一种可以使用多台计算机进行并行计算的体系结构. 通常,Beowulf系统由通过以太网或其他网络连接的多个计算节点和管理节点组成. 管理节点控制整个群集系统,同时为计算节点提供文件服务和外部网络连接. 它使用普通的硬件设备,例如普通的PC,以太网卡和集线器. 它很少使用专门定制的硬件和. Beowulf集群软件也随处可用,例如Linux,PVM和MPI.

本文的以下部分将详细介绍Beowulf集群系统的硬件,网络,软件和应用程序体系结构.

3.3.2Beowulf集群和COW集群

像Beowulf一样,COW(工作站群集)也是由最常见的硬件设备和软件系统构建的. 它通常由一个控制节点和多个计算节点组成. COW和Beowulf之间的主要区别是:

COW中的计算节点主要是空闲的计算资源,例如办公室中的台式工作站. 它们是普通的PC,并通过普通的局域网连接. 由于这些计算节点将在白天用作工作站,因此主群集计算将在空闲时间(例如晚上和周末)进行. Beowulf中的计算节点都专用于并行计算,并已针对性能进行了优化. 他们使用高速网络(Myrinet或Giganet)消息传递(PVM或MPI)进行进程间通信(IPC). 由于COW中计算节点的主要目的是桌面应用程序,因此它们都具有设备,例如显示器高性能计算机集群 方案,键盘和鼠标. 但是,Beowulf的计算节点通常没有这些设备,并且通常通过管理节点上的网络或串行线路来访问这些计算节点. 因为COW中的计算节点通常连接到普通局域网,所以COW上的高性能应用程序通常是SIMD高吞吐量计算,例如SETI @ HOME. 在硬件,网络和软件方面,Beowulf针对需要频繁数据交换的MIMD应用程序进行了特殊的优化.

3.3.3Mosix群集

事实上,将Mosix群集置于高性能群集部分是一件非常困难的事情,但是与Beowulf等其他群集相比,Mosix群集确实是一种非常特殊的群集. 它专用于在Linux系统上实现集群系统. 单个系统映像SSI(单个系统映像). Mosix群集将网络上运行Linux的计算机连接到群集系统中. 系统自动平衡节点之间的负载. 由于Mosix是在Linux系统内核中实现的集群,因此用户模式应用程序可以在Mosix集群上运行而无需进行任何修改. 通常,用户很少注意到Linux和Mosix之间的区别. 对他来说,Mosix群集是一台运行Linux的PC. 尽管现在有很多问题,但Mosix始终是引人注目的集群系统.


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-286639-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...