首页 理论教育 Linux集群中间件及应用研究

Linux集群中间件及应用研究

时间:2023-10-17 理论教育 版权反馈
【摘要】:SSI的概念可以用于应用程序、专用的子系统或整个集群。应该注意的是,程序和实时系统也可以作为集群的中间件。使用中间件,我们可以选择作为Linux内核扩展的解决方案,这样就可以构建SSI集群。SSI中间件具有负载均衡和透明进程的特性。SSI是用中间件层实现的,处于操作系统和用户层环境中间。目前比较成熟的提供机群系统SSI的中间件/软件/工具有NFS、LSF和RSH等。

Linux集群中间件及应用研究

如果一群互联的计算机被设计成看起来好像统一的资源,我们可以说它实现了单一系统映像 (Single System Image,缩写 SSI)。

SSI基础结构与操作系统联系在一起,在所有的节点上提供对系统资源的统一访问。系统可用性基础结构在集群各节点上提供集群服务,如检查节点、自动故障检测、故障恢复和容错支持等。

SSI是个虚像,是由硬件或软件创建的,使分散的资源集合起来作为一个统一的、更强大的资源使用。

SSI的概念可以用于应用程序、专用的子系统或整个集群。单一系统映像和系统可用性服务可以由以下一个或多个层来提供:硬件[如Digital(DEC)内存通道、硬件DSM和SMP技术];操作系统内核—底层或黏合层(如SolarisMC和GLUnix);应用程序和子系统—中间层;应用程序(如系统管理工具和电子表);实时系统(如软件DSM和并行文件系统);资源管理和调度软件 (如LSF和CODINE)。

应该注意的是,程序和实时系统(如PVM)也可以作为集群的中间件。

使用中间件,我们可以选择作为Linux内核扩展的解决方案,这样就可以构建SSI集群。还有其他一些选择(如批调度器或者完全的远程执行包装器),但是我们选择SSI模型,因为它具有以下优势。

SSI中间件隐藏了访问分散在节点间的资源(文件、内存、CPU)的复杂性。我们只需要运行应用程序,中间件将透明地完成资源的管理。

SSI中间件具有负载均衡和透明进程(transparentprocess)的特性。利用这些特性,除了极其需要进行调整情形,或者中间件无法实现公平之外,否则,管理员不需要手工调整负载。进程迁移也方便了执行,因为我们不需要进行显式的远程执行。

SSI层既支持用如MPI开发的并行计算程序,也支持串行计算程序。这些应用程序,特别是并行计算程序,要求操作透明性和性能的可扩展性,即当一个集群的能力加强时,应用程序运行得更快。集群一方面像具有高度SSI的SMP或MPF系统一样;另一方面它们在功能上像一个具有多个系统映像的分布式 系统。(www.xing528.com)

(一)操作系统层

集群操作系统在与串行应用程序共享的环境中支持并行应用程序的有效运行。其目的是在集群中共享资源,为串行和并行应用程序提供更好的性能。为了达到这个目的,操作系统必须支持并行程序的组调度,确定空闲的系统资源(如处理器、内存和网络),并提供对空闲资源的全局访问。这个操作系统除了支持系统和用户层应用程序的快速进程间通信外,还应该支持进程迁移,以提供动态负载平衡

一个完整的集群SSI系统包含物理资源和内核资源,而且能被系统内的所有节点访问。完整的SSI可以用操作系统层的SSI完成。换言之,每个节点的操作系统内核共同工作,使所有节点的内核接口看起来是相同的。一个完整的内核层SSI可以节约作业执行时间,这是因为现有的程序和应用程序在新的环境下不需要重新编写。另外,这些应用程序可以在任何一个节点运行,而不需要管理者进行设置。为了达到节点间负载平衡,还可进行进程迁移。如果需要,也可以支持容错。大部分支持SSI的操作系统建立在现有操作系统之上,以完成全局资源分配。这种策略使系统易于迁移、跟踪已售软件升级以及减少开发时间。

(二)应用程序和子系统层

SSI可以通过应用程序和子系统来使多个一起工作的部件,对系统管理员来说,就像一个单一的应用程序一样。SSI是用中间件层实现的,处于操作系统和用户层环境中间。SSI支持的服务包括:单一入口点,一个用户可以像连接到单一系统一样连接至机群,而不是像分布式系统一样连接到单个节点;单一文件层次,用户看到的文件系统是文件的单一层次,目录是在同一根目录下的;单点管理和控制,整个机群可以从用单一GUI工具创建的单一窗口进行管理和控制;单一虚拟网络,任何节点可以通过机群域访问网络连接;单一内存空间,将属于机群的各节点的内存作为共享内存;单一作业管理系统,用户可以用透明的作业提交机制在任意节点提交作业等。

SSI为整个系统资源和运行情况在任意节点提供一个简单、直观的视图;使最终用户无须了解应在什么地方运行;使操作者无须了解资源的物理位置;使管理者在一点上管理整个机群;使一个拥有多个进程的并行应用看起来就像一个串行应用;等等。目前比较成熟的提供机群系统SSI的中间件/软件/工具有NFS(网络文件系统)、LSF(作业管理系统)和RSH等。

(三)单一系统映像的边界

提供SSI的关键是,要注意每个SSI都有边界,并且SSI的支持可以位于系统的不同层次,一层可以建立在另一层之上。例如,一个子系统,如资源管理系统,可以使一群互连的机器看上去好像是一台机器。当在系统的边界内执行操作时,SSI提供一个传统超级计算机的映像。但如果在SSI边界外执行任何操作,集群系统看上去只是一串连在一起的计算机而已。另一种子系统可以使同一群机器,看上去好像是一个大的数据库系统。例如,一个使用节点本地磁盘的集群文件系统看起来像一个大的并行文件存储系统,并提供对数据的快速访问。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈