【赛迪网独家特稿】集技术是使用特定的连接方式,将相对于超级计算机便宜许多的计算机设备结合起来,提供与超级计算机性能相当的并行处理技术。早在七十年代就有人提出可以使用这种集技术完成并行处理,但是由于受到当时网络交换技术的限制,集系统在性能上与其他并行处理系统相距甚远,直到网络技术逐渐成熟的今天,它才具备了与超级计算机相匹敌的能力。
什么是集
集(Cluster)技术是指一组相互独立的计算机,利用高速通信网络组成一个计算机系统,每个集节点(即集中的每台计算机)都是运行其自己进程的一个独立服务器。这些进程可以彼此通信,对网络客户机来说就像是形成了一个单一系统,协同起来向用户提供应用程序、系统资源和数据,并以单一系统的模式加以管理。一个客户端(Client)与集相互作用时,集像是一个独立的服务器。
计算机集技术的出发点是为了提供更高的可用性、可管理性、可伸缩性的计算机系统。一个集包含多台拥有共享数据存储空间的服务器,各服务器通过内部局域网相互通信。当一个节点发生故障时,它所运行的应用程序将由其他节点自动接管。在大多数模式下,集中所有的
节点拥有一个共同的名称,集内的任一节点上运行的服务都可被所有的网络客户所使用。
集的特点
1.提供强大处理能力的高性能计算机系统:计算机集可以通过负载均衡、并行处理、时间片处理等多种形式,将多台计算机形成高性能计算机集。对用户端(Client)而言,计算机集则是一个单一的系统,可以为用户提供高性能的计算机系统,而用户不用关心有多少计算机承担了系统实现的任务,而只需要关注系统的整体处理能力。因此,计算机集可以用多台普通性能的计算机组成具有高性能的计算机系统,承担只有超级计算机才能胜任的工作。
2.提供高可用性的计算机系统:通过计算机集技术组成的系统,可以确保数据和应用程序对最终用户的高可用性,而不管故障属于什么类型。即当计算机集中的节点计算机出现软硬件故障的时候,高可用性集提供了对软件和硬件失败后的接替。它将服务器镜像到备用系统或节点中,当主节点上的系统崩溃时,冗余节点就从替补角转换到正式角,并自动投入应用,从而保证了系统运行的不间断。
3.系统具有很强的可伸缩性:在系统的处理能力需要增加的时候,除了通过增加集中每个计算机节点的单机处理能力(如通过增加CPU数量、增加内存大小等手段)外,还可以通过增加集节点数,即通过向集添加新的计算机节点,使服务随着处理器的添加而伸缩,从而增大应用程序吞吐量,以达到增加系统的整体处理能力的目的,完成系统的扩容。
小知识
计算机集技术的分类
集系统可以按照应用或结构等多个角度进行分类。
1.按计算机集的应用目的可以分为高性能集和高可用性集;
2.按组成集的计算机类型可以分为PC集(COP:Cluster of PCs)、工作站集(COW:Cluster of Workstations)、服务器集(COS:Cluster of Servers)、SMP(对称多处理器)集(CLUMP:CLUster of sMP)。
3.按处理机的位置和数量可以分为组级集、部门级集、企业级集、国家级集和国际级集等不同级别的集系统。
4.按构筑集的目的可以分为专用集和非专用集
5.按照集节点的操作系统分为Linux集、Solaris集、HP-UX集、AIX集、NT集、VMS(虚拟存储机)集、微软Wolfpack集等;
集技术的实现
根据计算机集技术的应用,目前常用的计算机集系统主要有两种配置方式,即采用N节点配置和N+1节点配置。
N节点配置:计算机集由N(N最小为2)个计算机节点组成,所有节点在正常情况下都具有自己的用户和工作负载。一个故障节点的资源能够通过故障恢复被转移到另外一个节点,但当剩余服务器承担额外负载的时候,其性能将有所下降。系统组成如图1。
图1 N节点配置集示意图
N+1节点配置:计算机集由N+1(N最小为2)个计算机节点组成,其中一个节点为热待机节点,它在其它节点正常运行期间一直处于空闲模式。而当运行的节点中某节点发生故障时,
负载均衡的理解则空闲节点负责接管故障节点的工作,从而避免整个系统的性能下降。但是,由于待机节点在正常情况下并不提供服务,因而成本较高。系统组成如图2。
图2 N+1节点配置集示意图
实现原理
无论是何种计算机集,其工作原理都是基于利用通信网络完成各节点主机的状态监控。该通信网络可以是各节点主机组成的局域网络(一般是TCP/IP网),也可以是非TCP/IP网络,如在某些计算机集中可以采用RS232通信连接各节点。
典型的计算机集如图3。
图3 集结构工作原理示意图
如图3所示,在集中存在两个通信网络,一个是各节点主机用于系统数据通信的网络,一般是高速局域网。各节点与该网络通过一主一备两条链路连接,保持网络冗余,提高防止网络故障的能力;另一个则是用于传递节点间集信息的网络,如图中心跳网络所示。心跳网
络可以是TCP/IP网络,也可以是非TCP/IP网络,主要用于传递各节点之间通信的心跳(Heart-Beat)信号。另外,有的集系统也可以通过共享存储系统提供传递心跳信号。在图中所示工作网络、心跳网络和共享存储中会有两个网络承载H-B信号的传递,从而避免因为某个单一的网络出现故障而误认为节点故障。
集系统一般可以诊测并响应于三种类型的故障:网卡故障,网络故障,节点故障。下面就这三种故障分别进行简要的分析。
1.网卡故障
如图所示,集结构中每个节点都通过双网卡与工作网络相连,即一主一备两条链路。在各节点正常工作的时候,工作网络除用于传递工作数据外,也用于传递H-B信号。同时心跳网络只传递H-B信号。即每隔一段时间各节点之间相互传递H-B信号,确认各节点都处于正常工作状态。
因此,有了H-B后,集可以很轻易地发现节点的网卡故障,因为一旦某块网卡发生故障,发往该块网卡的H-B就会丢失。此时节点上的集管理软件会产生一个网卡互换的事件,即
将主备网卡互换,包括各种地址的互换和工作状态的互换。并通知集中各节点及工作网络。
网卡互换通常在几秒内就可完成,并且这种转换对应用来说是透明的,只发生延迟但连接并不中断。
2.网络故障
如果发往某一个节点上双网卡上的H-B包全都丢失,而心跳网络上的H-B仍然存在,那么集软件可以断定集节点仍然正常,是工作网络发生故障。此时集软件则只能发出告警,并提供系统一个中断入口,可以通过该入口确定系统执行其他网络恢复的操作。
3.节点故障
如果不仅工作网络上的H-B信号全部丢失,而且心跳网络上的H-B也丢失,那么集软件将断定该节点发生故障。则放在共享存储上的资源将由其他节点接管(根据N节点配置和N+1节点配置的不同,接管的节点将不同),接管的操作将由集软件和节点的操作系统共同配合来完成。
当整个节点发生故障时,集软件将故障节点的工作地址转移到接管节点上,对于网络上的Client来讲,服务地址没有发生变化。
当一个节点Down掉后,如果设置了IP地址接管,网络上的clients会自动连接到接管节点上;同样,如果设置了应用接管,该应用会在接管节点上自动重启,从而使系统能继续对外服务。
集技术的应用
由于集系统具有高性能、高可用性和可伸缩性等特点,并且其性价比较高,因此集系统的应用领域非常广泛,几乎覆盖所有传统的并行计算领域。从集技术的特点来看,主要有以下几个领域内的应用。
商用数据密集Web服务器及Web数据库(如在线交易、动态网页服务等)、远程教育、基于内容的快速图像检索(视频点播处理、图像分析、交互式电视、指纹及人脸识别等)、密码破解、元计算、基因工程、企业数据挖掘、政府部门(统计、税务、财政等部门的数据处理与分析)及其他许多领域
常用的集分为科学集、负载平衡集和高可用性集。科学集主要用于计算量比较大的场合,如科学计算、图像处理等。后两者在企业应用中更为常用,它们在OLTP(Online Transaction Processing,联机事务处理)中扮演着重要角。
在科学领域的应用
利用集系统的高性能和高性价比的特点,计算机集技术在科学领域内的应用越来越广泛。如涉及区域分解、解线性方程组、有限差分时域分解等,此外,还可以应用于基于复杂算法求解的领域,如计算流体力学、电磁系统设计等;大规模计算和图像处理领域,如基因数据的分析、气象预报、石油勘探等。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论