订阅云计算RSS CSDN首页> 云计算

收集的有关Linux集群的基础资料

发表于2009-08-27 13:40| 次阅读| 来源ChinaUnix博客| 0 条评论| 作者

摘要:将多台同构或异构的计算机连接起来协同完成特定的任务就构成了集群系统。

一、集群:  

  将多台同构或异构的计算机连接起来协同完成特定的任务就构成了集群系统。早在二十世纪七八十年代,Digital equipment公司和Tandem计算机公司就开始了集群系统的研究与开发工作。
  集群技术主要分为两种:高可用性集群和高性能集群。
  高可用性集群的主要功能就是提供不间断的服务。有许多应用程序都必须一天二十四小时地不停运转,如所有的web服务器、工业控制器、ATM、远程通讯转接器、医学与军事监测仪以及股票处理机等。对这些应用程序而言,暂时的停机都会导致数据的丢失和灾难性的后果。
  高性能集群通过将多台机器连接起来同时处理复杂的计算问题。模拟星球附近的磁场、预测龙卷风的出现、定位石油资源的储藏地等情况都需要对大量的数据进行处理。传统的处理方法是使用超级计算机来完成计算工作,但是超级计算机的价格比较昂贵,而且可用性和可扩展性不够强,因此集群成为了高性能计算领域瞩目的焦点。

二、集群类型:

  最常见的三种群集类型包括高性能科学群集、负载均衡群集和高可用性群集。
  高性能科学群集
  通常,第一种涉及为群集开发并行编程应用程序,以解决复杂的科学问题。这是并行计算的基础,尽管它不使用专门的并行超级计算机,这种超级计算机内部由十至上万个独立处理器组成。但它却使用商业系统,如通过高速连接来链接的一组单处理器或双处理器 PC,并且在公共消息传递层上进行通信以运行并行应用程序。因此,您会常常听说又有一种便宜的 Linux 超级计算机问世了。但它实际是一个计算机群集,其处理能力与真的超级计算机相等,通常一套象样的群集配置开销要超过 $100,000。这对一般人来说似乎是太贵了,但与价值上百万美元的专用超级计算机相比还算是便宜的。
  负载均衡群集
  负载均衡群集为企业需求提供了更实用的系统。如名称所暗示的,该系统使负载可以在计算机群集中尽可能平均地分摊处理。该负载可能是需要均衡的应用程序处理负载或网络流量负载。这样的系统非常适合于运行同一组应用程序的大量用户。每个节点都可以处理一部分负载,并且可以在节点之间动态分配负载,以实现平衡。对于网络流量也如此。通常,网络服务器应用程序接受了太多入网流量,以致无法迅速处理,这就需要将流量发送给在其它节点上运行的网络服务器应用。还可以根据每个节点上不同的可用资源或网络的特殊环境来进行优化?
  高可用性群集
  高可用性群集的出现是为了使群集的整体服务尽可能可用,以便考虑计算硬件和软件的易错性。如果高可用性群集中的主节点发生了故障,那么这段时间内将由次节点代替它。次节点通常是主节点的镜像,所以当它代替主节点时,它可以完全接管其身份,并且因此使系统环境对于用户是一致的。
       在群集的这三种基本类型之间,经常会发生混合与交杂。于是,可以发现高可用性群集也可以在其节点之间均衡用户负载,同时仍试图维持高可用性程度。同样,可以从要编入应用程序的群集中找到一个并行群集,它可以在节点之间执行负载均衡。尽管集群系统本身独立于它在使用的软件或硬件,但要有效运行系统时,硬件连接将起关键作用。

三、Beowulf  

  当谈到 Linux 集群时,许多人的第一反映是 Beowulf。那是最著名的 Linux 科学软件集群系统。没有一个包叫做 Beowulf。实际上,它是一个术语,适用于在 Linux 内核上运行的一组公共软件工具。其中包括流行的软件消息传递 API,如“消息传送接口”(MPI) 或“并行虚拟机”(PVM),对 Linux 内核的修改,以允许结合几个以太网接口、高性能网络驱动器,对虚拟内存管理器的更改,以及分布式进程间通信 (DIPC) 服务。公共全局进程标识空间允许使用 DIPC 机制从任何节点访问任何进程。Beowulf 还在节点间支持一系列硬件连通性选件。
  Beowulf 可能是考虑 Linux 时注意到的第一个高性能集群系统,这只是因为它的广泛使用和支持。关于这个主题,有许多文档和书籍。Beowulf 与以下一些科学集群系统之间的差异可以是实际的,或者只是在产品名称中有差异。例如,尽管名称不同,Alta Technologies 的 AltaCluster 就是一个 Beowulf 系统。某些供应商,如 ParTec AG,一家德国公司,提供了 Beowulf 模型的衍生版本,以包括其它管理接口和通信协议。

四、MPI:

  消息传递接口 (MPI) 是并行群集系统间消息传递层的最常见实现。MPI 存在几种衍生版本,但在所有情况下,它为开发者访问并行应用程序提供了一个公共 API,这样开发者就不必手工解决如何在群集的节点之间分发代码段。其中一个,Beowulf 系统首先将 MPI 用作公共编程接口。很难决定使用哪种高性能集群包。许多都提供类似服务,但计算的具体要求才是决定性因素。很多情况下,在那些系统中的研究工作只是解决需求的一半,而且使用那些软件需要集群包开发者的特殊帮助和合作。
五、MOSIX:
  高性能集群系统MOSIX为Linux核心增添了集群计算的功能。在MOSIX集群环境中,用户无需对应用程序进行修改,或将应用程序与库连接起来,或将应用程序分配到不同的节点上运行。MOSIX会自动将这些工作透明地交给别的节点来执行。
  MOSIX 的工作方式与 PVM 或 MPI 有着本质的区别,通过扩展内核以便任何标准的 Linux 进程都可以利用群集的资源。通过使用特殊的自适应负载均衡技术,可以透明地将正在群集中某个节点上运行的进程“迁移”到可能使它们运行得更快的另一个节点上。因为 MOSIX 是透明的,所以迁移的进程甚至不“知道”(或者无需知道)它正在一个远程系统上运行。就远程进程和运行在最初节点(称为“起始节点”)上的其它进程而言,该进程是在本地运行的。
  MOSIX 的真正优点是它可以将许多 Linux 机器变成与一个大型虚拟 SMP 系统类似的系统。但是,您需要记住几点。首先,在一个“真正的”SMP 系统上,两个或多个 CPU 可以很快地交换数据;但是,使用 MOSIX,节点通信的速度是由您的局域网的速度和类型决定的。
  MOSIX 的有利方面是可以创建由几十个甚至几百个节点组成的群集,而 SMP 系统通常最多只能包含两个或者四个处理器。并且,对于大多数人来说,大型 SMP 系统的价格昂贵到无法承受的地步。使用 MOSIX,您可以使用便宜的商用 PC 硬件来构建一个“虚拟”SMP 系统。

0
0
收集的有关Linux集群的基础资料