当前位置首页 > 百科> 正文

集群技术(计算机术语)

2019-08-21 01:13:44 百科
集群技术(群集(计算机术语))

集群技术(计算机术语)

群集(计算机术语)一般指本词条

集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益,其任务调度则是集群系统中的核心技术。

集群是一组相互独立的、通过高速网路互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的伺服器。集群配置是用于提高可用性和可缩放性。

基本介绍

  • 中文名:集群技术
  • 外文名:cluster
  • 操作:计算机、电脑
  • 性质:伺服器

目的

1 提高性能
一些计算密集型套用,如:天气预报、核试验模拟等,需要计算机要有很强的运算处理能力,现有的技术,即使普通的大型机器计算也很难胜任。这时,一般都使用计算机集群技术,集中几十台甚至上百台计算机的运算能力来满足要求。提高处理性能一直是集群技术研究的一个重要目标之一。
2 降低成本
通常一套较好的集群配置,其软硬体开销要超过100000美元。但与价值上百万美元的专用超级计算机相比已属相当便宜。在达到同样性能的条件下,採用计算机集群比採用同等运算能力的大型计算机具有更高的性价比。
3 提高可扩展性
用户若想扩展系统能力,不得不购买更高性能的伺服器,才能获得额外所需的CPU 和存储器。如果採用集群技术,则只需要将新的伺服器加入集群中即可,对于客户来看,服务无论从连续性还是性能上都几乎没有变化,好像系统在不知不觉中完成了升级。
4 增强可靠性
集群技术使系统在故障发生时仍可以继续工作,将系统停运时间减到最小。集群系统在提高系统的可靠性的同时,也大大减小了故障损失。

分类

1 科学集群
科学集群是并行计算的基础。通常,科学集群涉及为集群开发的并行应用程式,以解决複杂的科学问题。科学集群对外就好像一个超级计算机,这种超级计算机内部由十至上万个独立处理器组成,并且在公共讯息传递层上进行通信以运行并行应用程式。
2 负载均衡集群
负载均衡集群为企业需求提供了更实用的系统。负载均衡集群使负载可以在计算机集群中儘可能平均地分摊处理。负载通常包括应用程式处理负载和网路流量负载。这样的系统非常适合向使用同一组应用程式的大量用户提供服务。每个节点都可以承担一定的处理负载,并且可以实现处理负载在节点之间的动态分配,以实现负载均衡。对于网路流量负载,当网路服务程式接受了高入网流量,以致无法迅速处理,这时,网路流量就会传送给在其它节点上运行的网路服务程式。同时,还可以根据每个节点上不同的可用资源或网路的特殊环境来进行最佳化。与科学计算集群一样,负载均衡集群也在多节点之间分发计算处理负载。它们之间的最大区别在于缺少跨节点运行的单并行程式。大多数情况下,负载均衡集群中的每个节点都是运行单独软体的独立系统。
但是,不管是在节点之间进行直接通信,还是通过中央负载均衡伺服器来控制每个节点的负载,在节点之间都有一种公共关係。通常,使用特定的算法来分发该负载。
3 高可用性集群
当集群中的一个系统发生故障时,集群软体迅速做出反应,将该系统的任务分配到集群中其它正在工作的系统上执行。考虑到计算机硬体和软体的易错性,高可用性集群的主要目的是为了使集群的整体服务儘可能可用。如果高可用性集群中的主节点发生了故障,那幺这段时间内将由次节点代替它。次节点通常是主节点的镜像。当它代替主节点时,它可以完全接管其身份,因此使系统环境对于用户是一致的。
高可用性集群使伺服器系统的运行速度和回响速度儘可能快。它们经常利用在多台机器上运行的冗余节点和服务,用来相互跟蹤。如果某个节点失败,它的替补者将在几秒钟或更短时间内接管它的职责。因此,对于用户而言,集群永远不会停机。
在实际的使用中,集群的这三种类型相互交融,如高可用性集群也可以在其节点之间均衡用户负载。同样,也可以从要编写应用程式的集群中找到一个并行集群,它可以在节点之间执行负载均衡。从这个意义上讲,这种集群类别的划分是一个相对的概念,不是绝对的。

系统结构

根据典型的集群体系结构,集群中涉及到的关键技术可以归属于四个层次:
(1)网路层:网路互联结构、通信协定、信号技术等。
(2)节点机及作业系统层高性能客户机、分层或基于微核心的作业系统等。
(3)集群系统管理层:资源管理、资源调度、负载平衡、并行IPO、安全等。
(4)套用层:并行程式开发环境、串列套用、并行套用等。
集群技术是以上四个层次的有机结合,所有的相关技术虽然解决的问题不同,但都有其不可或缺的重要性。
集群系统管理层是集群系统所特有的功能与技术的体现。在未来按需(On Demand)计算的时代,每个集群都应成为业务格线中的一个节点,所以自治性(自我保护、自我配置、自我最佳化、自我治疗)也将成为集群的一个重要特徵。自治性的实现,各种套用的开发与运行,大部分直接依赖于集群的系统管理层。此外,系统管理层的完善程度,决定着集群系统的易用性、稳定性、可扩展性等诸多关键参数。正是集群管理系统将多台机器组织起来,使之可以被称为“集群”。

调度方法

1 进程迁移
进程迁移就是将一个进程从当前位置移动到指定的处理器上。它的基本思想是在进程执行过程中移动它,使得它在另一个计算机上继续存取它的所有资源并继续运行,而且不必知道运行进程或任何与其它相互作用的进程的知识就可以启动进程迁移操作,这意味着迁移是透明的。进程迁移是支持负载平衡和高容错性的一种非常有效的手段。对一系列的负载平衡策略的研究表明:进程迁移是实现负载平衡的基础,进程迁移在很多方面具有适用性。
(1)动态负载平衡。将进程迁移到负载轻或空闲的节点上,充分利用可用资源,通过减少节点间负载的差异来全面提高性能。
(2)容错性和高可用性。某节点出现故障时,通过将进程迁移到其它节点继续恢复运行,这将极大的提高系统的可靠性和可用性。在某些关键性套用中,这一点尤为重要。
(3)并行档案IO。将进程迁移到档案伺服器上进行IO,而不是通过传统的从档案伺服器通过网路将数据传输给进程。对于那些需向档案伺服器请求大量数据的进程,则将有效地减少通讯量,极大地提高效率。
(4)充分利用特殊资源。进程可以通过迁移来利用某节点上独特的硬体或软体能力。
(5)记忆体导引机制。当一个节点耗尽它的主存时,记忆体导引机制将允许进程迁移到其它拥有空闲记忆体的节点,而不是让该节点频繁地进行分页或和外存进行交换。这种方式适合于负载较为均衡,但记忆体使用存在差异或记忆体物理配置存在差异的系统。
2 进程迁移的实现角度
进程迁移的实现複杂性及对OS 的依赖性阻碍了进程迁移的广泛使用,尤其是对透明的进程迁移的实现。根据套用的级别,进程迁移可以作为OS 的一部分、用户空间、系统环境的一部分或者成为应用程式的一部分。
(1)用户级迁移:用户级实现较为简单,软体开发和维护也较为容易,因此,现有的很多系统都是採用用户级实现,如Condor和Utopia。但由于在用户级无法获得Kernel的所有状态,因此,对于某类进程,无法进行迁移。另外,由于Kernel空间和User空间之间存在着壁垒,打破这个边界获得Kernel提供的服务需要巨大的开销。因此,用户级实现的效率远远低于核心级实现。
(2)套用级迁移:套用级迁移的实现较为简单,可移植性好,但是需要了解应用程式语义并可能需对应用程式进行修改或重新编译,透明性较差,这方面的系统有Freedman、Skordos等。
(3)核心级迁移:基于核心的实现可以充分利用OS提供的功能,全面的获取进程和OS状态,因此实现效率较高,能够为用户提供很好的透明性。但是由于需要对OS进行修改,实现较为複杂。这方面的典型系统有MOSIX和Sprite系统。
进程迁移的主要工作就在于提取进程状态,然后在目的节点根据进程状态再生该进程。在现实中,一个进程拥有很多状态,并且随着作业系统的演化,进程状态也越来越多样。一般来说,一个进程的状态可以分为以下几类:①进程执行状态。表示当前运行进程的处理器状态,和机器高度相关。包括核心在上下文切换时保存和恢复的信息,如通用和浮点暂存器值、栈指针、条件码等。②进程控制。作业系统系统用来控制进程的所有信,一般包括进程优先权、进程标识,父进程标识等。一旦系统编排了进程控制信息,进程迁移系统必须冻结该进程的运行。③进程Memory状态和进程地址空间。包括进程的所有虚存信息,进程数据和进程的堆叠信息等,是进程状态的最主要的一部分。④进程的讯息状态。包括进程缓冲的讯息和连线(Link)的控制信息。进程迁移中通讯连线的保持以及迁移后连线的恢复是进程迁移中一项较有挑战意义的问题。⑤档案状态。进程的档案状态包括档案描述符和档案缓冲符。保持档案的Cache一致性和进程间档案同步访问也是进程迁移机制需要着重考虑的。

区别

模拟集群与数字集群不同的地方,说简单点就是:模拟集群在单信道比数字对讲机用户容量要小,语音没有数字对讲机清楚,只能实现简单的数据功能。
数字集群分TDMA和FDMA两种,TDMA是提供给专业用户使用的,是时分的制式。FDMA是提供给民用的,是频分的制式。
FDMA和模拟对讲机相比,除了可以把信道间隔做得更窄(模拟的是25KHz,数字的是12.5KHz两时隙或6.25KHz四时隙),单信道用户量更大外,对用户来说并没有太大的更新体验。
TDMA制式的对讲机和模拟对讲机相比,除了单信道用户容量更大外,还可以现实同频中转。模拟系统中,要实现中转,必须要有收、发频率一对。而在TDMA时分数字系统中,可利用数位技术,通过时隙的转换来实现中转。例如:当中转台收到A时隙的数据时,同时转发出去的数据就是在B时隙上实现的。
现在在中国还没有自己的数字对讲机标準。现在MOTOROLA的数字对讲机是TDMA制式的,ICOM和建伍的数字对讲机是FDMA制式的。

发展趋势

虽然集群系统的构建目前可以说是模组化的,从硬体角度来看可以分为节点机系统、通讯系统、存储系统等,软体角度则主要有作业系统、集群作业系统(COS)、并行环境、编译环境和用户套用软体等,目前高性能计算机的通讯、存储等硬体系统是伴随摩尔定律快速发展的,跟蹤、测试、比较最新硬体设备构成的高性能计算机的可能方案也成了高性能计算机厂商的重要科研活动,而所有这些关键部件研发、系统方案科研以及厂商的自主部件研发的高度概括就是“整合计算”。整合硬体计算资源的同时,伴随着整合软体资源,其中集群作业系统COS是软体系统中连线节点机作业系统和用户并行套用的重要“黏合剂”,也是高性能计算机厂商的技术杀手锏。
高性能集群系统目前在国内的套用领域主要集中在气象云图分析和石油勘探的领域。这样的套用对于高性能集群系统来说进入门槛比较低,所以目前这些领域都採用了国内厂商构建的集群系统。虽然对比要处理大量并发的小问题的用于商业计算的高可用性集群来说,高性能集群实现起来要简单一些。但实际上,高性能集群的构建中仍有许多技术上的难点,尤其是高性能集群系统往往是针对一个很独特的科学计算的套用,而对这种套用的实现用高性能集群系统来计算,就必须要先建立数学模型,而这样的建模过程需要大量的对于这种套用模式的理解。总结起来,可管理性、集群的监控、并行程式的实现、并行化的效率以及网路实现是构建高性能集群的几个难点。这其中,并行化程式的实现就是指特定套用领域的特定应用程式在集群系统上的实现。虽然有诸多的技术实现上的难点,但集群系统本身的优势仍然给了厂商们克服难点、攻克高性能集群的力量。首先撇开一些具体的优势不说,从网际网路中心伺服器的变化来看,可以清晰地观察到集群结构是中心伺服器的发展趋势。20世纪90年代以前,中心伺服器一般都用大型机(Mainframe),大型机上可以完成一切的套用和服务,用户从终端通过网路完成套用。这种套用模式带来许多的好处:套用集中、比较好部署、系统监控、管理方便等。但大型机的缺点也是非常明显的,主要是设备昂贵,很难实现高可用解决方案;非高可用系统在出现故障时,全部套用都受到影响;作业系统、设备和部件比较专用,用户本身维护困难;可扩展性不强等。这些缺点中的任何一个都是用户难以接受的。随着PC及其作业系统的普及和Intel CPU的性能和稳定性的不断提高,人们逐渐用PC伺服器构成的分散式系统(Distributed System)去代替大型机。分散式系统解决了大型机上面提到的多个缺点,却丢弃了大型机套用的优点,伺服器多且杂,不好监控、管理,不好部署。因此综合大型机和分散式系统优势的伺服器必将成为趋势,集群系统就是这样应运而生的伺服器。
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:baisebaisebaise@yeah.net