集群计算机(共9篇)
集群计算机 篇1
1 引言
集群是一组相互独立的、通过高速网络互联的计算机, 它们构成了一个组, 并以单一系统的模式加以管理。一个客户与集群相互作用时, 集群像是一个独立的服务器。在组建超大规模的应用处理系统时, 通过采用一种或几种集群技术来构建应用集群系统, 能够极大地提高应用系统的可用性和可伸缩性。
2 集群技术的分类
集群分为同构与异构两种, 它们的区别在于组成集群系统的计算机之间的体系结构。集群计算机按功能和结构可以分为四类:高可用性集群、负载均衡集群、高性能计算集群、网格计算集群。按集群系统的应用范围, 可分为操作系统级集群和应用级集群[1]。
2.1 功能和结构的集群
(1) 高可用性集群 (High-availability clusters) 是指在集群中有某个节点失效的情况下, 其上的任务会自动转移到其他正常的节点上。还指可以将集群中的某节点进行离线维护再上线, 该过程并不影响整个集群的运行。
(2) 负载均衡集群 (Load balancing clusters) 通过一个或者多个前端负载均衡器, 将工作负载分发到后端的一组服务器上, 从而达到整个系统的高性能和高可用性。这样的计算机集群有时也被称为服务器群 (Server Farm) 。一般高可用性集群和负载均衡集群会使用类似的技术, 或同时具有高可用性与负载均衡的特点。
(3) 高性能计算集群 (High-performance clusters) 通过将计算任务分配到集群的不同计算节点而提高计算能力, 因而主要应用在科学计算领域。
(4) 网格计算集群 (Grid computing) 是一种与集群计算非常相关的技术。网格与传统集群的主要差别是网格是连接一组相关并不信任的计算机, 它的运作更像一个计算公共设施而不是一个独立的计算机, 网格通常采用异构的计算机组成计算机集合。
2.2 应用范围的集群
(1) 操作系统级集群作为底层基础集群架构为业务应用级集群提供操作系统级的集群服务;而应用级集群则作为操作系统级集群的子集群, 部署在操作系统级集群之上, 通过软件手段完成特定业务的集群服务。
(2) 应用级集群通过将众多的访问请求按照设定的路由策略计算和分析, 最终将请求分散到集群中的不同节点进行处理, 从而实现了更高的有效性和稳定性。实现访问请求路由的手段目前多数采用代理、硬件负载均衡、软件负载均衡。
2.3 访问请求的路由技术
(1) 代理:通过代理服务器对外提供一个统一的地址。当一个服务请求被发至代理服务器时, 根据一定规则选择一台集群节点服务器, 并将服务分发给该服务器承担, 即将负载进行均衡分摊。
(2) 硬件负载均衡:通过交换机的功能或专门的负载均衡设备实现负载均衡。对于流量的分配可以有多种方式, 但基本上都是基于网络协议层, 与具体应用无关。
(3) 软件负载均衡:集群中节点通过软件进行负载均衡处理, 可以根据应用的情况和服务器的情况采取最优的负载均衡策略。软件负载均衡可以根据应用环境的请求状态和服务状态选择最优的均衡策略, 因此它在所有的负载均衡手段中是最高效的。同时, 因为不同的应用软件提供不同的业务功能, 所以应用负载均衡不具备通用性, 它和应用产品关联性较强。
在邮政储蓄银行金融信息系统逻辑大集中项目中, 采用了硬件负载均衡与应用负载均衡配合使用构建应用集群的方式。利用硬件负载均衡器处理速度快, 对主机系统无资源损耗的特点, 对处理请求在网络层进行路由, 实现集群环境中活动主机资源的最大化使用, 满足硬件资源的可负载和可伸缩。利用应用负载均衡的准确高效, 强化业务逻辑的特点在应用层对处理请求进行均衡, 应用负载均衡模块可以根据应用节点的资源状态作更优化的路由, 最终应用集群系统对外体现出的就是持续、平稳、高吞吐的处理能力。
3 集群文件系统
大型系统的逻辑集中可以通过小型机集群方式实现, 其中部分集群应用程序需要进行文件 (如报表文件、批量处理文件等) 的共享存储、并行读写和集中管理。在集群应用中, 共享文件的并行读写有两种方式: (1) 以持续的、大量的小文件写为主; (2) 以对一个大文件的并行写为主。上述两种方式对于相关文件系统的并行读写效率和性能要求很高。由于传统的文件系统 (如NFS、CIFS等) 不支持真正的外部存储文件共享 (只能通过单一的NFS/CIFS Server实现小规模的直连存储文件共享) 和高性能的文件并行读写功能, 同时也不支持统一命名空间管理, 因此大型系统的逻辑集中应该采用集群文件系统来实现上述高性能的文件共享存储、并行读写和集中管理等功能。
3.1 功能实现方式
目前, 集群文件系统的文件共享存储、并行读写和集中管理功能通常采用以下两种方式实现:
(1) 纯软件方式:在各集群服务器的操作系统中, 通过专用集群文件系统软件的文件同步锁定管理来实现集群中文件的共享存储和并行读写功能;同时, 借助于集群文件系统软件的数据一致性管理功能, 还能够实现集群中基于共享存储的多节点负载均衡和相互冗余。
(2) 软硬件一体化方式:在集群的集中存储系统中引入高性能的集群NAS系统, 各集群服务器通过自身的文件系统 (NFS/CIFS Client) 并行访问集群NAS系统 (提供分布式文件系统访问) , 在实现文件共享存储和高性能的文件并行读写的同时, 还支持分层存储优化、容量/性能的横向同步扩展, 以及共享存储的远程容灾等增值特性。在邮政储蓄银行金融信息系统逻辑集中项目中使用集群文件系统软件或集群NAS系统实现文件共享, 具体应用实例已通过测试, 满足对性能和可靠性的需求。
3.2 系统类型
目前主流的集群文件系统软件主要有两种类型:C/S型集群文件系统和Serverless型集群文件系统[2]。
(1) 常规的C/S型集群文件系统在集群中选定一个主节点, 通过令牌锁机制统一管理多节点的并发写入, 以避免写冲突造成的文件系统损坏。在主从写模式下, 每个文件系统的交易都需要经过主节点, 如果大量的文件创建或者修改将很容易造成单节点的瓶颈。即使在主节点空闲状态下, 集群文件系统其他节点的文件创建和修改也可能造成主节点的高开销负载。如图1所示。
(2) Serverless型集群文件系统:采用Serverless型文件系统替代服务器上传统的文件系统 (如NFS、CIFS等) , 同时通过集群各节点间的心跳网络来进行全局文件同步锁定和数据的一致性管理。通过全局文件同步锁定机制的自动调度, 集群文件系统中的每个节点都可以运行交易, 同时集群文件系统命令可以在任意节点执行, 提高了可用性和效率。如图2所示。
集群文件系统软件与应用结合的较为紧密, 对于同一文件的多节点并行顺序读写效率较高, 因而较适用于本项目集群中多节点对一个大文件并行写的应用模式。
集群文件系统软件也存在着一些缺陷, 例如:需要安装在服务器操作系统中, 对于服务器的性能多多少少有一定影响;不支持在同一集群内的异构平台上部署, 节点间需要统一操作系统版本;支持的集群节点数量有限, 通常不超过64节点, 且节点和性能的扩展相对较为复杂。在银行金融信息系统逻辑集中项目中, 集群文件系统软件的部署如图3所示。
4 集群NAS系统
集群NAS系统是并行文件系统与多节点NAS集群的有机结合。从技术上来讲, 集群NAS系统在具备文件共享、兼容多文件系统访问等NAS固有特性的同时, 还具有高性能、高容量、大容量全局单一命名空间 (PB级) 的优势。与许多针对小型随机工作负载进行优化 (如文件共享) 的集群文件系统不同, 集群NAS系统在各种工作负载下都表现良好, 包括注重响应时间的小型随机工作负载和带宽密集型连续工作负载。在此之前, 用户可以尝试通过在现有NAS控制器中增加额外设备来突破可扩展性的限制, 但这会产生另外一个问题:当控制器无法应对这些额外设备时, 性能会下降, 服务水平也会随之降低[3]。而集群NAS系统通过基于分布式集群文件系统的横向扩展, 其容量和性能可以随着节点的增加呈线性增长。
此外, 集群NAS系统在高性能文件共享应用中还具有以下优势: (1) 无中断扩展和自动数据分层:集群NAS系统通过策略管理和自动化的文件迁移功能, 可以优化性能、容量。 (2) 无中断重新平衡:这可以确保集群NAS系统将工作负载分配到整个存储阵列, 以避免单个磁盘超负荷运转。 (3) 优化的数据服务:通过SSD存储的目录配额和文件克隆, 集群NAS系统可以在确保数据高可用性的同时更好地管理成本。 (4) 高可用性与动态负载平衡:集群NAS系统具有内建的冗余性, 能自动检测软硬件故障, 以保证系统正常运行。
对于大型系统的逻辑集中项目, 可以在集群的集中存储系统中引入集群NAS系统。各集群服务器通过自身的文件系统 (NFS/CIFS Client) 可并行访问集群NAS系统 (提供分布式文件系统访问) , 在实现文件共享存储和高性能的文件并行读写的同时, 集群NAS系统还可提供分层存储优化、容量、性能的横向同步扩展, 以及共享存储的远程容灾等增值特性。根据测试结果, 如果使用集群NAS系统可以达到性能和稳定性的指标要求, 可以在要求文件共享特性的地方使用该项技术。在邮政储蓄银行金融信息系统逻辑集中项目中, 可以将集群NAS系统的部署与SAN存储系统相结合考虑, 即通过多节点集群NAS网关来优化利用SAN存储, 其结构如图4所示。
5 时间同步技术
在邮政储蓄银行金融信息系统逻辑集中项目中, 通过多个小型机构建了服务器集群, 由于集群系统中各主机时间不一致, 可能会带来交易时序的错误, 从而造成业务办理差错, 给企业和客户带来不必要的纠纷。同时由于众多服务器的校时工作越来越艰巨, 原有的通过停止数据库来手工调整服务器时间的方法, 不能有效地解决系统间的时间同步问题, 已经不适合用于金融信息系统的集中工程。
5.1 基于网络时间协议的时间同步
基于网络时间协议的时间同步方法可以很好地解决问题, 它遵循了因特网时间服务器的通用标准, 通过以网络中确定的更准确的系统时钟服务器作为标准, 来调整服务器集群中各客户端主机的系统时间, 以较好解决主机间时间同步问题。但在某些项目中, 由于使用了数据库集群技术, 每个数据库节点之间禁止自动在线回调时间, 否则会导致数据库节点重启。基于网络时间协议的时间同步方法优点是可以很简单地实现各系统的时间统一, 也就是说整个系统中只有一个时钟源;缺点是对整个服务器集群中各数据库集群产生影响, 如配置不当反而会导致节点宕机。
5.2 Oracle数据库的CTSSD服务
在数据库集群中通过本身的新特性实现数据库中各节点的时间同步。Oracle数据库进入11g R2版本后, 时间同步作为稳定运行集群的先决条件, 在数据库集群管理中新增CTSSD服务用于同步集群内所有节点的系统时间, 从而进一步提升了集群的高可用性。CTSSD服务可较好解决数据库集群内节点的时间同步问题, 如果需要在多库之间保持时间同步, 则需要将相关数据库部署在同个集群之上, 这样就使得数据库间耦合度增加。通过数据库特性实现集群内各节点的时间同步的优点是可以更好地提升数据库集群的稳定性, 但该方法的缺点是只能在同个集群的各节点实现时间同步, 不同数据库集群之间及应用系统不能实现时间同步。
在储蓄银行金融信息系统逻辑集中项目中, 可以使用以下两种方法: (1) 选取准确的时钟源, 通过网络时间协议技术, 服务器和客户端的正确配置, 在邮政储蓄银行逻辑集中工程测试时从稳定性、可靠性、安全性、灵活性等方面做进一步的验证, 实现邮政储蓄银行逻辑集中各系统的时间同步。 (2) 在各应用系统之间通过网络时间协议技术, 对所有应用主机进行统一的时间同步;在数据库集群中通过集群特性CTSSD技术实现集群内各节点的时间同步, 不同集群之间不能实现各数据库节点的时间同步, 但可以进一步保障数据库集群的高可用性。具体使用方案, 应通过相关测试再作决定。
6 结语
本文对高可用性、负载均衡、高性能计算、网格计算等集群技术进行了分析, 并探讨了集群文件系统、集群NAS系统的功能和实现方式。在集群计算的需求确定之后, 如何选择各种组件构成Cluster的实现方案是比较困难的, 而且经常由于组件之间难以协同工作而导致Cluster的实现失败, 或者最终构造了一个难以使用又难以管理的Cluster。根据实际应用经验和研究成果, 针对这种情况应该优先考虑选择一体化的HPC产品。
摘要:计算机集群是一种计算机系统, 它通过一组松散集成的计算机软件和硬件协同完成计算工作。本文对高可用性、负载均衡、高性能计算、网格计算等集群技术进行了分析, 探讨了集群文件系统、集群NAS系统的功能和实现, 并研究了C/S型集群文件系统、Serverless型集群文件系统的原理和实现方式, 对计算机集群技术的应用有一定参考价值。
关键词:计算机集群,高可用性,负载均衡,集群NAS系统
参考文献
[1]张志友.计算机集群技术概述[J].实验室研究与探索, 2006, 25 (5) :607-609.
[2]李金, 李海霞.计算机集群技术探析[J].企业导报, 2010 (9) :286-287.
[3]邵英, 夏立.计算机集群技术的计算环境与拓扑结构实现[J].微机发展, 2003, 13 (6) :98-100.
多层次集群系统的可用性指标计算 篇2
集群技术是一种计算机系统之间连接的方式。最早的集群系统出于并行处理的目的,将分散的计算系统连接起来完成原来单独节点的计算系统无法完成的任务。但是随着计算机性能的发展和网络不安全因素的出现,集群技术成为系统高可用性的重要技术手段之一。
随着互联网的兴起,多层架构应用系统部署越来越广泛,并逐步渗入银行等对可用性要求非常高的计算领域。多层架构应用系统通常包括表示层、应用层、数据层,并部署在多台计算机上。图1是一个简单的多层应用架构下的多层次集群系统示意图。图1中包括Web负载均衡器集群、应用服务器集群、表示层服务器集群、数据库服务器集群。
二、可用性计算公式
可用性是系统在规定的条件下执行规定功能的概率,也可以理解为一个系统可以为用户所使用时间的百分比。
可用性是可靠性和可维护性的函数。所谓可靠性是指测量在没有故障的情况一个系统能工作多长时间,通常表示为发生故障的平均时间MTTF(Mean Time to Failure),即在系统(或系统的一个部件)发生故障前正常运行的平均时间。所谓可维护性是指系统是否易于维护,包括硬件和软件维护、维修和升级等,通常表示为系统从故障状态到修复的平均时间MTTR(Mean Time to Repair),即用于修复系统和在修复后将它恢复到工作状态所用的平均时间。对单个系统/部件/元件可用性(用A表示)的计算公式如下:
串联系统是指系统中当任何一个元件失效时,均会构成系统失效的一种系统。也就是说,必须组成系统的全部元件/部件/设备正常工作时,整个系统才算正常工作。串联系统的可用性为:
其中n为串联系统所有元件/部件/设备的数量。
并联系统中只有当所有元件失效时系统才会失效。只要系统中有1个元件/部件/设备正常工作,就认为系统是正常工作。根据概率论理论,并联系统的可用性为:
其中n为并联系统中并联的元件/部件/设备的数量。
三、多层架构下多层次集群系统可用性计算
多层架构下多层次集群系统可用性计算首先需要对多层架构下多层次集群系统进行抽象,形成可用性指标计算模型。通常按照如下原则对多层次集群系统进行抽象:
l同一个集群内具有相同功能的计算机设备或者网络设备抽象为并联系统
按照功能,将连接集群的设备及集群之间抽象为串联系统
图2是将图1按照抽象原则抽象后的结果。其中表示层服务器集群、应用服务器及数据块服务器抽象成为并联系统。
根据公式(2)和公式(3),图2的可用性计算公式如下:
从公式(4)可以看出,集群有利于提高多层级架构系统的可用性。但由于用于连接集群的网络设备、存储设备较多,因此提高集群中设备的数量对提高系统整体的可用性有限,增加网络设备、存储设备的可用性对系统整体可用性的提高帮助更大。
四、小结
浅谈计算机集群技术及并行计算 篇3
一﹑计算机集群的概念
集群 (Cluster) 技术是指一组相互独立的计算机, 利用高速通信网络组成一个计算机系统, 每个群集节点 (即集群中的每台计算机) 都是运行其自己进程的一个独立服务器。这些进程可以彼此通信, 对网络客户机来说就像是形成了一个单一系统, 协同起来向用户提供应用程序、系统资源和数据, 并以单一系统的模式加以管理。一个客户端 (Client) 与集群相互作用时, 集群像是一个独立的服务器。而集群其中的每一台提供服务的计算机, 我们称之为节点。当一个节点不可用或者不能处理客户的请求时, 该请求将会转到另外的可用节点来处理, 而对于客户端来说, 它根本不必关心这些要使用的资源的具体位置, 集群系统会自动完成。
集群中节点以何种方式来运行, 这要看节点是如何设置的。在一个理想的两个节点的集群中, 两个服务器都同时处于活动状态, 也就是在两个节点上同时运行应用程序。当一个节点出现故障时, 运行在出故障的节点上的应用程序就会转移到另外的没有出现故障的服务器上。这样一来, 由于两个节点的工作现在由一个服务器来承担, 自然会影响服务器的性能。
二﹑计算机集群的特点
1.提供强大处理能力的高性能计算机系统:计算机集群可以通过负载均衡、并行处理、时间片处理等多种形式, 将多台计算机形成高性能计算机集群。对用户端 (Client) 而言, 计算机集群则是一个单一的系统, 可以为用户提供高性能的计算机系统, 而用户不用关心有多少计算机承担了系统实现的任务, 而只需要关注系统的整体处理能力。因此, 计算机集群可以用多台普通性能的计算机组成具有高性能的计算机系统, 承担只有超级计算机才能胜任的工作。
2.提供高可用性的计算机系统:通过计算机集群技术组成的系统, 可以确保数据和应用程序对最终用户的高可用性, 而不管故障属于什么类型。即当计算机集群中的节点计算机出现软硬件故障的时候, 高可用性集群提供了对软件和硬件失败后的接替。它将服务器镜像到备用系统或节点中, 当主节点上的系统崩溃时, 冗余节点就从替补角色转换到正式角色, 并自动投入应用, 从而保证了系统运行的不间断。
3.系统具有很强的可伸缩性:在系统的处理能力需要增加的时候, 除了通过增加集群中每个计算机节点的单机处理能力 (如通过增加CPU数量、增加内存大小等手段) 外, 还可以通过增加集群节点数, 即通过向集群添加新的计算机节点, 使服务随着处理器的添加而伸缩, 从而增大应用程序吞吐量, 以达到增加系统的整体处理能力的目的, 完成系统的扩容。
三﹑并行算法的基本概念
算法就是求解问题的方法和步骤。并行算法, 就是在并行机上用很多个处理器联合求解问题的方法和步骤。实际上, 在自然界中并行是客观存在的普遍现象, 关键问题在于能不能很好地利用。由于人们的思维能力以及思考问题的方法对并行不太习惯, 且并行算法理论不成熟, 所以总是出现了需求再来研究算法, 不具有导向性, 同时实现并行算法的并行程序性能较差, 往往满足不了人们的需求。
四﹑并行算法的研究内容
并行计算模型的第一代是共享存储模型, 如SIMD-SM和MIMD-SM的一些计算模型, 模型参数主要是CPU的单位计算时间, 这样科学家可以忽略一些细节, 集中精力设计算法。第二代是分布存储模型。在这个阶段, 人们逐渐意识到对并行计算机性能带来影响的不仅仅是CPU, 还有通信。因此如何把不同的通信性能抽象成模型参数, 是这个阶段的研究重点。第三代是分布共享存储模型, 也是我们目前研究所处的阶段。随着网络技术的发展, 通信延迟固然还有影响, 但对并行带来的影响不再像当年那样重要, 注重计算系统的多层次存储特性的影响。
设计技术并行算法研究的第二部分是并行算法的设计技术。虽然并行算法研究还不是太成熟, 但并行算法的设计依然是有章可循的, 例如划分法、分治法、平衡树法、倍增法/指针跳跃法、流水线法等都是常用的设计并行算法的方法。另外人们还可以根据问题的特性来选择适合的设计方法。
五﹑小结
集群计算机 篇4
[关鍵词] 产业集群钢铁产业集群社会资本
集群原本是一个自然科学领域的概念,随着社会经济的不断发展,管理学者将产业的地理集聚现象称之为产业集群。按照美国学者波特的观点, 产业集群是指在某一特定领域中(通常以一个主导产业为核心) , 大量产业联系密切的企业,以及相关支撑机构在空间上集聚, 并形成强劲、持续竞争优势的现象。产业集群的形成是专业化分工产业的报酬递增的一种空间表现形式。分工的深化促进了企业的发展,而企业为了减少交易成本,增加报酬递增,就越来越多地集聚在一个地区,从而促进产业集群的形成和发展。同时,产业集群以其企业规模、降低成本、协作创新的功能,通过纵向专业化分工和横向经济协作,提高了交易效率,降低了交易费用,成为区域经济发展的主要模式。
一、印度班加罗尔软件产业集群解析
班加罗尔位于印度南部,人口约330万,是印度第五大城市。1991年,印度政府在这建立了该国历史上第一个软件科技园。在短短的15年中,班加罗尔软件集群取得了令世人瞩目的腾飞,成为了推动印度经济发展的有利引擎。1992年,班加罗尔的软件出口仅为150万美元,而到了2004年则猛增至42亿美元,13年内增长了200多倍。班加罗尔软件园是产业集群的成功典范,业内人士称之为“亚洲的硅谷”,理论界的学者们已将其作为研究集群经济的重点和焦点。
1.形成因素
(1)物质基础丰富、城市设施齐全。班加罗尔早在英国统治的殖民地时代,就已经是一座设施完善的城市了。从20世纪50年代开始,其已经是印度的国防工业城市。班加罗尔航空、铁路、公路交通十分便捷,卫星通讯设备齐全,对外联系非常方便。由数据显示,班加罗尔有650所高中,有75所医院,6个五星级宾馆等,教育及医疗设施非常齐全,并且其境内有2500家大大小小的电子企业,大约有近万名工程师集中在班加罗尔工作。优越的投资环境和生活环境,以及人文环境使其称为印度的投资乐土。
(2)颇具实力的科研力量。软件行业是一个知识密集型的产业,属于高新技术产业,需要有强有力的知识基础和科研环境。而班加罗尔所处的地域正是高等院校和科研机构的集中地。其境内有7所大学、28个研究所、292所高等专科学校,其中创办于1898年的印度理学院现是一所致招收博士、硕士的研究生院。较高的教育水平和大量的人才汇聚是班加罗尔具备发展以信息产业为核心、以出口为导向的高科技城市的条件。
2.演进路径
班加罗尔的崛起仿佛是在不知不觉中发生的,但研究其发生发展的过程,笔者发现社会资本和政府扶持在其发展过程中发挥着重要作用。
(1)社会资本的联结和催化作用。社会资本是指集群中的企业同其他企业、政府部门、大学、科研机构等部门之间的相互联系,具体表现为集群内部的规范、信任与合作、知识的流动机制,以及自增强的社会网络。在班加罗尔的产业集群中,社会资本发挥着重要的作用,比如班加罗尔软件企业之间互相合作、共同开发软件,诚信守约是起码的游戏规则。同时软件工程师们有种普遍的认识:信任是培育集群内部组织之间关系的粘合剂。同时软件业属于知识密集型行业,知识的流动效率高低与否是其成功的关键因素,印度崇尚共享知识的集体主义文化,软件工程师们乐于向他人传递知识。正是这种以“信任、合作、知识流动”为主要特征的社会资本加速了班加罗尔产业集群的发展。
(2)政府对产业集群的扶持。印度软件业的成长在一定程度上可以归功于印度政府所采取的一系列扶持政策,从甘地、拉奥、到瓦杰帕伊,印度三任总理都奉行积极支持信息产业发展的方针。这些政策主要包括:财力上的支持、创造开放的科研环境、注重人才的培养、创造平稳的法律环境等。
3.发展模式:创新发展模式
班加罗尔软件园采用的创新发展模式是其成功的主要原因,其创新模式主要包括网络创新、环境创新和技术学习机制的创新。
(1)网络创新。在网络创新中的纵向结构模式中,班加罗尔的软件产业起初将自己定位于软件价值联的中间环节,随着创新能力的进一步增强,开始向全系列软件外包继承方案和定制开发大型企业级应用软件过度;在横向结构模式中,班加罗尔软件园非常注重企业主体同大学和科研机构之间的有机联系,非常注重企业同产业集群支持机构之间的有机联系。
(2)环境创新。环境创新主要体现在对班加罗尔软件园开发建设的投入较多。例如政府兴建了高速传输数据的微波通讯网络,并以优惠的价格为企业提供厂房、办公楼、水、电等基础设施。同时印度政府先后成立了国家信息技术与软件发展委员会和信息产业部,在税收、财政、贷款方面提供了特殊的优惠。
(3)技术学习机制创新。技术学习机制的创新主要体现在“联盟学习”和“导师制”学习上。“联盟学习”主要包括两个方面,一是构成产业价值链上不同生产环节的成员企业之间所进行的技术和组织的学习过程;二是不同生产环节中的同行企业以技术联盟或合作研发等形式以及企业同大学和科研机构、支持机构之间进行技术合作或培训的学习过程。“导师制”学习方式是隐性知识传承的途径,其有效运行加速了专门技能和隐性知识在班加罗尔软件集群内的扩散和共享。
二、鞍山经济发展现状
鞍山是全国著名的老工业基地,也是辽宁老工业基地建设的重点,由于其在建国之初对国民经济发展所做出的巨大贡献,其一直成为东北老工业基地振兴的焦点和重点,所以,鞍山问题解决了,也就给东北老工业基地的改革提出了有效模型,而产业集群正是解决鞍山问题的绝好出路。按照市政府关于“要将鞍山西部建设成为工业集聚区”的指示精神,借鉴产业集群的发展模式,借助沈大高速公路,大力加强西部路网建设,充分利用现有工业基础设施,依托鞍钢,将达道湾工业区、宁远工业区和腾鳌经济开发区有机整合,建设成为交通便捷、信息通畅、门类齐全、资源配置合理的产业集聚区。其主导产业定位为冶金、机械、精品板材和建材。这是产业集群模式在鞍山经济发展中的实际应用,笔者在考察鞍山经济格局和现状的基础上,发现存在以下几个因素影响着鞍山产业集群发展的速度和质量。
1.在原有的经济模式中,国有企业占主导地位
鞍山原有的企业聚集群落,到目前为止仍然主要是国有独资企业或国有资本绝对控股企业。从数量上看,2004年底,鞍山拥有工业649个,其中国有控股企业87家,国有企业75家,集体企业182家,三者合计占企业总数的53%;从工业总产值上看,鞍山工业总产值按当年价格计算是8186323万元,其中国有企业是4823366万元,集体企业是1142160万元,总计占总产值的72.87%,所以,国有企业在鞍山工业中依然占据着主导地位。
2.新兴的产业集群中,民营资本占主导地位
这种状况在辽宁省非常普遍,例如宽甸硼海镇的硼矿开采企业,大石桥的生产镁制品的企业,佟二堡的生产皮装和皮具的企业,从企业组织形式上看主要是业主制企业和家族制企业。鞍山也是如此,例如西柳的服装生产和批发企业等,在工业企业中,宝德轧钢厂、生产汽车板材的衡业集团均属于民营企业。
3.产业集群仍处于低级的发展阶段
这主要表现在产品的档次不高、技术含量比较低、多数属于劳动密集型企业, 低价竞争时有发生, 在县域经济发展中尚未占到主导地位; 企业集群在农村剩余劳动力向工业转移过程中所起的作用还不够,市场化程度不高。
三、班加罗尔的经验对鞍山的启示
鞍山工业无论从技术、能源还是人才贮备上,都有一定的优势,选定具有一定比较优势的钢铁产业作为主导产业,由政府引导,结合国有企业改制重组、工业区的调整、招商引资等方式,围绕主导产业将一些相关企业逐步集中到某一特定区域内,加以一定的政策扶持,快速培育与发展一些具有竞争优势的钢铁产业集群。令人遗憾的是,由于我国的产业集群的理论与时间均处于摸索和萌芽阶段,所以,鞍山产业集群发展的规模和路径都差强人意。当务之急就是借鉴世界先进经验,虽然班加罗尔软件产业与钢铁产业有较大区别,但班加罗尔软件集群的形成机制、演进路径和发展模式对鞍山产业集群的发展仍然具有较强的借鉴意义。1.注重发挥高等学校的作用
班加罗尔软件园是被高等学校所包围的高等学校,以及各大科研机构对其快速发展提供了知识支持,这一现象随处可见,比如美国加州的硅谷处于斯坦福大学附近;在东部沿海地区经济的快速发展是围绕麻省理工学院周围的。在南部地区,是围绕在杜克大学和北卡罗本纳大学周围。所以,在鞍山产业集群的构建中,我们应该注重发挥钢铁学院、东北大学、阜新矿院的高校所具有的科技优势。到2004年底,鞍山拥有高等学校2所,中等专业学校5所,技工学校12所,其中辽宁科技大学,即原来的鞍山钢铁学院原隶属于冶金工业部,是我国较早组建的冶金高校之一;学校有本科专业35个,高职专业23个,硕士点30个、博士点2个,有同等学力在职人员申请硕士学位授予权和工程硕士授予权,有省部级重点学科3个、重点实验室3个、重点工程技术中心2个、中小企业服务中心1个和专业学位研究生培养基地2个。另外,学校还聘请了10余名包括两院院士在内的国内外著名专家、学者为特聘教授。学校始终坚持并弘扬“立足冶金,注重实践,坚持产学研相结合,培养扎根基层的应用型人才”的办学特色,办学质量和水平不断提高,为鞍山钢铁产业集群的发展提供了较强的科研和人才支撑。
2.加强外部环境建设,为产业集群的发展提供物质基础
从班加罗尔的成功经验我们可以看到:丰富的物质基础和齐全的城市设施是其成功的基础因素,所以,鞍山的市政建设和城市建设非常重要。但令人遗憾的事,鞍山虽然是一个自然资源禀赋比较丰裕的地区, 同时又是一个在计划经济时期建立起来的老工业基地,但由于历史的原因,鞍山在外部环境的建设上相对落后,如人均拥有道路面积8.13平方米,人均住宅建筑面積19.44平方米,投资环境的落后阻碍了产业集群的形成与发展。
3.加强企业诚信意识教育,发挥社会资本的联结作用
诚信意识淡薄是我国企业的通病,由原来的计划经济体制到现在的市场经济体制的转变,始终都没有给“诚信、合作、知识流动”的经营方式提供土壤,这是我国企业诚信意识较差的主要原因,鞍山也是如此。例如在工业企业内,像技术技能和经验等这些隐性知识的传递往往是通过“传帮带”的机制实现的,但这种机制现在已经流于形式。所以加强诚信教育,建立起以“诚信与合作”为主要特征的社会资本,这是鞍山产业集群发展之路的重中之重。
4.政府因势利导,促成产业集群的形成
产业集群有一定的自发性和自组织性,但其从无到有、从小到大、从弱到强的发展过程当中,政府起着至关重要的作用。这一结论由班加罗尔的成功就可见一斑。所以,在鞍山产业集群发展过程中,政府应该审时度势、因势利导,为其发展创造更好的人文环境、投资环境、法律环境和物资环境。
集群计算机 篇5
关键词:计算机产业,产业集群,高新技术产业
计算机技术是当今世界经济社会发展的重要驱动力, 计算机及外围设备制造更是国民经济的战略性、基础性和先导性支柱产业, 对于拉动经济增长、调整产业结构、转变发展方式和维护国家安全具有十分重要的作用。
近年来, 重庆围绕“变革”、“转型”、“升位”的主题, 紧抓云计算、物联网等前沿技术的革新, 以结构调整为主线, 以重大项目为载体, 以招商引资为抓手, 以提升配套能力为重点, 以新兴战略产业为突破口, 加大企业研发投入, 全面提升自主创新能力, 大力培育知名品牌。逐渐实现由单一的制造向“研发+制造+结算”的发展模式过渡, 从而不断增强产业持续、快速发展的能力, 促进工业结构调整和转型升级, 实现计算机产业的跨越式发展。2008年6月, 惠普全球测试服务中心正式落户重庆;2009年8月, 惠普 (重庆) 笔记本电脑出口制造基地、富士康 (重庆) 产业基地两个重大项目落户西永;2009年12月, 英业达中国第二生产基地落户西永;2010年1月, 广达在中国第三个笔记本电脑生产基地落户西永;2010年4月, 思科通信设备制造基地落户重庆;2010年6月, 大全新能源1000MW硅碇、硅片项目在万州开工。2010年12月, 北斗卫星导航产业园落户两江新区;2010年12月, 中航工业重庆产业园落户两江新区;2011年1月, 和硕联合重庆产业基地落户两江新区;2011年4月, 华硕电脑全球生产基地暨中国第二营运总部落户高新区。2010年, 全市电子制造业共签约外资项目30个, 协议投资26.8亿美元;签约内资项目70个, 协议投资129.6亿元。
一、重庆高新区计算机产业集群发展特色
(一) 资本结构的外生性。
从企业的性质看, 集群外资企业占主要成分。重庆作为老工业基地, 计算机产业基础相对薄弱, 企业规模较小、技术水平较低, 通过外来企业迅速扩大生产规模和实现技术跨越式发展, 有效地促成产业的空间集聚, 并形成卫星式产业集群。近年来, 重庆先后有惠普、宏碁、华硕等龙头企业落户, 并带动富士康、广达、英业达等配套企业入驻, 集群规模不断扩大。2010年集群内外资企业产值占全部产值的70%以上。
(二) 产业链条的延展性。
重庆计算机产业集群内企业纵向专业化分工和横向协作水平较高, 产业链上各价值环节的进一步专业分工精细, 同时向产业链两端延展的空间大, 实现了由传统水平分布模式向垂直整合模式的转型, 尤其体现在本地配套分工与延展上, 实现专精生产, 满足市场的需求。以华硕电脑为例, 在重庆设立中国第二运营总部, 纳入了技术基地、生产基地和终端销售等产业链核心环节。群内配套占其产业链价值环节的60%以上, 已初步形成了“研发+制造+销售 (结算) +服务”四位一体发展模式。
(三) 创新氛围的活跃性。
重庆计算机产业集群创业与创新文化氛围活跃, 市内电信规划研究院、电子24、26、44研究所等科研院所云集, 并有重庆大学城等科技资源, 科技人才优势突出。集群内企业技术来源涵盖欧美、日本、中国台湾等多个区域, 经过企业间的竞争与协作, 技术交流与文化融合成为刺激集群创新发展的原动力。计算机产业集群内企业拥有的高技术人才和高端管理人才是重庆平均水平的2倍以上, 成为创新创业的有力保障。
二、重庆高新区计算机产业集群发展面临的主要问题
重庆计算机产业实现了长足进步和发展, 但仍存在以下几个问题, 与发达地区相比有较大差距。
(一) 龙头企业缺乏, 产业开放度不高。
技术领先、规模较大、品牌知名的龙头企业不多, 缺少带动性强的大项目支撑。要加大招商引资力度, 大力引进国内外知名的计算机龙头企业, 重点承接东部地区产业转移电子企业;同时培育高新区内有发展潜力的计算机企业, 逐步发展壮大, 实现内源式增长。
(二) 中介机构较少, 创新氛围不浓。
重庆的计算机产业中介服务机构发展滞后, 数量少, 专业水平不高, 仍处于起步阶段, 在规范行业行为、维护行业利益、促进创新成果交易、转移和扩散等方面的作用没有得到充分的发挥。应着力建立有利于创新和孵化的管理体制和激励机制, 大力发展科技交易、科技中介等知识密集型服务业, 加强建设有关生产力促进中心、产权交易市场、标准化推广中心等机构。
(三) 融资比较困难, 产业提升不足。
计算机产业是以科研、开发为先导的高投入、高风险的新兴产业, 进入市场的门槛相当高, 它的发展需要巨额资金。为了获得计算机产业发展的巨额资金, 各国都在大力研究、试验各种方法和机制如风险投资等。重庆一方面由于国内风险投资机制还不完善, 不能承担起支撑信息产业发展的重担, 另一方面又缺乏国际风险投资资金的进入, 导致在科研开发经费投入上与国外和沿海发达地区相比存在着较大差距, 使得科技成果产业化难度加大。可通过建立多元化投融资体系、鼓励本土企业融资发展、加大财政资金扶持力度等渠道解决。
三、重庆计算机产业集群的发展方向
(一) 集群发展总体目标。
根据《重庆市电子制造业“十二五”发展规划》, 重庆计算机产业集群的建设目标是:打造电脑制造千亿级支柱产业链, 奠定万亿级支柱产业链的发展基础, 力争到2015年底, 完成投资3, 000亿元, 年销售收入达到7, 000亿以上, 培育千亿重点企业2~3家, 百亿重点企业5~10家, 形成年产1亿台个人电脑、300万台服务器、1, 000万台路由器、300万台交换机、4, 000万台打印机的生产能力, 零部件本地化配套率达到80%以上, 初步建成国内最大的笔记本电脑生产基地。
(二) 集群发展模式探索。
通过“整机+配套”改变计算机生产模式, “贸易+结算”创新金融服务体系, “制造+研发”向价值链高端延伸, 不断创新发展模式。以研发带动生产、引进带动自主开发为主要路径, 完善发展“研发+整机+销售 (结算) +服务”四位一体的产业链整体发展模式, 领跑产业发展, 为重庆建设亚洲最大笔电基地奠定坚实基础。
四、重庆高新区计算机产业集群的提升对策
(一) 优化产业环境, 加强集群引导。
进一步整合市内计算机产业资源, 不断改善产业集群的基础设施硬环境和服务软环境, 从而更好地发挥集群的聚集、导向、渗透、扩散效应以及创业孵化、资源共享、招商引资等功能。加强与其他地区合作, 构建优势互补, 形成有梯度的产业承接、转移格局, 共同发展区域产业经济圈。加强公共技术服务平台建设, 拓展计算机产品的应用市场, 加快“两化融合”;加速物流通道建设, 构建市内外联动的快速物流通道, 建设区域性物流综合信息平台。形成布局合理、特色鲜明、产业链完善的区域产业合作发展格局, 推动重庆乃至整个西部地区的共同发展。
(二) 拓宽融资渠道, 增添发展动力。
利用财政资金对计算机产业发展的支持, 通过贷款贴息、创新补助、引导资金等方式, 引导各类社会资金、商业金融机构等投资自主创新成果产业化, 重点支持战略性、公益性、产业共性服务平台建设, 以及战略新兴产业重点项目, 形成多层次、多形式的高技术产业投融资体系。积极推进风险资本发展, 引导和鼓励各种风险投资和产业投资主体向高新区中小科技企业投资, 同时完善风险资本退出机制, 深化和完善产权交易, 通过股权交易使风险投资有效退出。鼓励和引导民间资本向高新区计算机产业投资, 培育一批主业突出、质量水平高、竞争力强的龙头企业, 不断衍生或吸引更多相关产业聚集, 不断完善和延伸产业链条, 争创具有自主知识产权的品牌产品, 把引进外来资金与调整优化产业结构、提高产品质量紧密结合起来, 推动本土企业做大做强。
(三) 实施人才战略, 鼓励创新创业。
建立良性的育才、引才、用才机制, 积极实施人才培养和引进计划, 努力造就一支结构合理的高层次创新人才队伍。以发挥科技人才最佳成效为目的, 制定发现、吸引、培养和保护科技创新人才、高素质管理人才的政策与措施, 充分调动计算机产业领域高精尖技术人员的积极性、主动性和创造性。培育激励创新、尊重个性、鼓励拔尖、宽容失败的氛围, 创造有利于人才脱颖而出的发展环境。
集群计算机 篇6
1 集群系统的概念
集群是以网络技术连接起来的工作站或PC机的组合, 这些工作站或PC机就像一个单独集成的计算资源一样协同工作, 这些单个的计算机就是集群的节点 (node) 。
1.1 集群计算机系统是并行处理的主流
集群计算机提速的前提基础是微处理器和网络技术的进步。集群计算机是利用高速通信网络将一组高性能工作站或高档PC网络结构连接起来, 在并行程序设计及可视化人机交互集成开发环境支持下, 统一调度, 协调处理, 实现高效并行处理的系统。从结构和结点间的通信方式来看, 它属于分布存储系统, 主要利用消息传递方式实现各结点之间的通信。目前己实现和正在研究中的集群系统大多采用现有商用工作站1代和通用LA N网络, 这样既可以缩短开发周期, 又可以利用最新的微处理器技术。
1.2 集群系统的分类
按照应用目的可以分成高性能计算集群和高可用集群。高性能计算 (High Perfermance Computing) 集群, 简称HPC集群, 这类集群通过将多台机器连接起来同时处理复杂的计算问题, 提供单个计算机不能提供的强大的计算能力。高可用 (High Acailability) 集群, 简称HA集群, 这类集群的主要功能就是提供不间断高可靠度的服务。
按照结点的归属可分为专用集群和非专用集群。在专用集群中所有的资源是共享的, 并行应用可以在整个集群上运行, 而在非专用集群中, 全局应用通过窃取CPU时间获得运行。非专用机群中由于存在本地用户和远地用户对处理器的竞争, 带来了进程迁移和负载平衡等问题。
按照结点的操作系统可分为Linux集群、Solaris集群、NT集群等;按照各结点是否相同可分为同构集群和异构集群。同构机群中各节点有相似的体系并且使用相同的操作系统, 而异构机群中节点可以有不同的体系, 运行的操作系统也可以不尽相同。
按照结点的机型可分为PC集群、工作站集群和SMP集群等。
1.3 集群系统的特点
1.3.1 高可扩展性
提高CPU主频和总线宽带是最初提供计算机性能的主要手段。但是这一手段对系统性能的提供是有限的。接着人们通过增加CPU个数和内存容量来提高性能, 于是出现了向量机, 对称多处理机 (SMP) 等。但是当CPU的个数超过某一阈值, 象SMP这些多处理机系统的可扩展性就变得极差。主要瓶颈在于CPU访问内存的宽带并不能随着CPU个数的增加而有效增长。与SMP相反, 集群系统的性能随着CPU个数的增加几乎是线性的。
1.3.2 高可用性
集群中的一个节点失效, 它的任务可以传递给其他节点。可以有效防止单点失效。
1.3.3 高性能
负载平衡集群允许系统同时接入更多的用户。
1.3.4 高性价比
集群 (Cluster) 技术是使用特定的连接方式, 将价格相对较低符合工业标准的硬件设备结合起来, 同时也能提供高性能相当的任务处理能力。
2 影响集群系统并行运算的因素
2.1 网络性能因素
快速消息通信系统集群计算机是基于高速通信网络互连而构成的系统。网络性能的好坏对集群计算机并行计算效率的提高、处理问题的适应范围以及系统的可扩展性都有很大影响。通信延迟时间是衡量网络性能的重要因素, 它包括协议软件处理开销和网络硬件处理时间。高速网络硬件虽然降低了网络的传输延迟, 但并没有减少通信软件的处理开销, 由于软件处理开销所占比重过大, 在很大程度上阻碍了高速网实际性能的提高, 因此, 在使用高速网络的集群系统中, 影响通信系统性能的瓶颈己不再是网络硬件的性能, 而是通信软件的处理开销。
传统TCP/IP协议是为广域网设计的网际互连协议, 它提供了复杂而强大的诸多功能, 这些复杂的功能必然带来很大的软件开销, 因此这种协议并不适合集群计算机进行并行处理。另外, 传统协议往往是在操作系统核心中实现的, 由操作系统引入的开销也是不容忽视的重要因素。对集群计算机系统而言, 其网络系统分布范围小, 通信链路可靠性高, 系统结构相对简单。为了降低通信软件处理开销, 需要通过对高效通信协议的研究, 设计一种适用于集群计算机系统的快速消息传递机制, 为用户提供一个低延迟、高带宽、高可靠的通信模式, 达到改善系统性能的目的。
2.2 可视化并行程序开发与调试环境因素
影响并行机推广使用的一个最重要的障碍是在并行机上编写、编译、链接和调试程序比较困难。目前虽然有了许多功能强大的并行环境, 但是编制高效的并行程序仍然是一件比较困难的事情。主要是因为这些并行环境的重点都在运行环境上, 对编程环境的方便性和实用性注意不够, 缺少实用的工具。
一个友好、实用、方便的可视化人机交互集成开发环境, 应为应用程序员和最终用户提供编辑, 多种语言的编译、链接、装配, 并行环境配置, 各节点资源使用情况显示, 并行任务的加载、运行、状态监视和控制, 性能评测和并行调试以及联机帮助等功能, 使用户在此环境中即可方便地完成并行程序的编写、编译链接, 并且通过性能监测分析比较并行算法, 找出性能瓶颈, 优化并行算法设计, 并最终编写出高效的并行程序。这对于解决并行处理技术难以实用具有现实意义。并行程序的可视化是当前并行程序环境的一个重要趋势, 通过控制流和数据流模式的图形动画可使程序员直观地看到并行程序的运行过程, 使用户能形象地发现并行程序的瓶颈, 为并行程序的调试及提高编译效率提供有效的乎段。
2.3 程序并行化因素
计算机发展到今天, 己经积累了大量的应用软件, 要把这些软件人工改写成等价的并行软件是一件工作量极其庞大、也很繁琐的工作。用户迫切要求对现有的应用软件不作任何改动, 就能在并行系统上运行。因此, 设计和实现一个并行化编译系统是非常必要的。经过近年来的研究, 全自动并行化系统在并行化能力上有了较大提高, 但在对某些串行程序进行并行化后, 生成的并行程序的加速比仍然不能令人满意。其原因在于全自动并行化系统中的相关性分析算法、数据划分算法和通信生成算法还不能有效地处理这些应用程序的复杂性。除了算法本身的能力不足外, 缺乏有关的程序语义信息。交互式的并行化系统引起人们的格外注意。交互式的并行化系统除了考虑到全自动系统的功能和特点外, 还允许用户选择使用或不使用系统中的交互行为。在不使用交互功能时, 系统就成了一个全自动的并行化系统。如果用户认为全自动的并行化效果不好, 那么可以选择使用交互功能来进一步提高并行代码质量。
2.4 容错与高可用技术因素
越来越多的应用对计算机系统的性能、可靠性和可用性提出了越来越高的要求。并行处理是提高计算能力、满足不断增长的应用需求的有效途径。而容错技术是提高计算可靠性和可用性的重要保证。随着系统规模的不断扩大, 工作站/PC集群计算机在计算过程中发生故障的机会曾指数般增长, 同时由于集群计算机系统通常为多用户使用, 结点等资源具有较大的可变特性。系统在发生各种异常或故障事件时会导致本次并行计算的彻底失败, 此前的大量计算不能再用。要想使集群计算机系统在上述领域广泛应用, 系统需要具有一定的容错能力, 保证在发生各种异常事件或故障时, 为用户提供持续的服务。虽然实现容错的方法有多种, 但都不能有效地应用于工作站/PC集群计算机。检查点设置与卷回恢复技术作为一种后向恢复技术, 通过在系统正常运行过程中设置检查点, 保存系统当时的一致性状态, 并对各进程进行相关性跟踪和记录。系统发生故障后, 将相关进程回卷到故障前系统一致性状态 (检查点) , 经过状态恢复后从该检查点处重新执行 (而不是从程序开始执行) , 实现对系统故障的恢复, 节省了大量重复计算时间, 充分体现集群计算机系统的并行性能, 提高集群计算机系统的可用性。这种后向故障恢复技术不仅可以对系统瞬时、间歇故障进行自动恢复, 并且通过检查点文件镜像和进程迁移技术也可以容忍节点的永久故障。同时也是恢复未知故障—在某一应用设计过程中未预料到故障的唯一乎段。
2.5 智能资源管理与调度因素
负载在系统的各处理结点上分布的均衡程度被称为负载平衡度。负载平衡度是影响并行效率的重要因素。对集群计算机系统来说, 如何合理地安排和调度任务, 充分运用各节点的处理能力, 缩短程序的响应时间, 是进行并行计算必须解决的问题。由于集群计算机系统具有资源共享动态变化的特点, 而各节点的负载分布情况在很大程度上影响着应用程序的执行效率, 因此, 需要为系统的资源提供一种智能化的管理机制, 以更加充分、合理地利用系统资源, 加快应用程序的执行速度。具体地说, 一个智能化的资源管理与调度系统至少应具备负载与系统信息的监测与采集、负载初始分配、动态资源调度与任务迁移功能, 除了以上技术外, 诸如单一系统映像, DSM并行模型的支持、并行I/O、并行语言等技术也是集群计算机的主要研究内容。
3 集群系统的应用
高性能计算机系统一般用于解决大容量存储、大数据量计算等需要大幅度降低处理时间以提高生产效率的应用问题。许多对经济、科技和人类社会的发展有广泛影响的重大应用问题都存在固有的并行性。但是近几年来由于价格、效率等因素的影响, 传统巨型机、MPP的应用受到一定的限制, 而集群计算机系统提供了一种建立从中小规模到大规模并行处理系统的可扩展的方法, 是解决许多有关国计民生的重大计算问题的可行途径之一。
以石油地震数据处理为例。在石油地震勘探开发工作中, 三维地震勘探能提供比二维勘探更精确的地下图像, 接近实际地反映地下真实情况, 有效地解决地质问题。但是, 由于其数据量大、计算量大、处理周期长, 特别是由于计算量大, 因此许多先进的三维地震资料处理方法在大型计算机上难以实现。而并行处理则为实现这些方法提供了可能。
另外, 美国空间物理研究院在互联网上开展寻找外星人的集群算法活动, 将事先由射电望远镜记录的资料转成数据库放在网上, 然后各用户通过该活动的网页下载算法程序, 利用空余机时下载数据并进行计算, 程序自动将未计算过的数据下载回来, 计算完成后自动上传到网站上去, 通过全世界喜欢宇宙探索的PC机使用者的空余机时完成大型机才能胜任的计算。
随着网络技术的发展和对集群计算机系统研究的深入, 特别是高效通信机制的开发, 系统的通信性能将会接近专用的互联网络, 并行编程环境和工具更加完善, 集群计算机必将对许多具有挑战性的计算问题及国民经济起到积极影响。
参考文献
[1]郑纬民.集群系统的现状与挑战[J].计算机教育, 2004, (6) :23
[2]陈国良, 吴俊敏.高性能训算与高性能计算机[J].2006, (7)
[3]刘仲.基于对象存储的集群存储系统设计[J]计算机工程与科学, 2005, 27 (2) :78-81
[4]杨刚, 龙海燕, 杨晞.计算机总线发展新趋势[J].微计算机信息, 2003, 19 (1) :1-2
集群计算机 篇7
遥感技术的发展,伴随着遥感图像的分辨率不断提高,导致每一景图像的数据量大增,计算量也相应增加。根据图像数据本身存储的规律性以及相关性特点,其算法也具有一致性、邻域性、行顺序性的特点,自然就为图像并行计算创造了良好的条件。主要体现在:几何图形的并行性、相邻并行性、像素位的并行性和操作的并行性[1]。并行处理总的来说可以分为两类:数据并行性和任务并行。目前对于任务分配的研究取得了一定的成果,提出很多算法模型以及各种任务优先图。如启发式任务分配算法[2]多核处理器与网络处理器任务分配算法的研究等[3]。但专门针对集群环境图像处理过程的图像融合系统中任务分配调度研究相对较少。虽然图像融合的算法和应用取得了一定的进步,但快速有效地提高计算的效率仍是一个具有挑战性的研究课题。图像融合作为图像处理和模式识别过程的重要阶段,涉及到几个问题,其中任务并行对图像处理难度较大,因为同一任务的算法内部之间数据的相关性较大,不易分解,鉴于此我们提出采用数据并行处理的思路,吸取动态负载均衡的任务分配思想提出数据并行计算技术的算法模型。
1 集群环境下的图像融合并行计算
1.1 图像预处理
图像融合的目的就是将多传感器的个体优势转化成融合后的综合优势,更好地为判读解译过程提供服务。将其并行化是提高融合效率、满足图像的快速甚至实时处理要求的有效途径,因此对图像实施诸如增强、消畸变、配准、去噪等预处理,是保证图像融合的关键。本文提到的预处理是对预处理图像进行数据“区域”的划分,这里所提及的“区域”是指一个相互连通的、具有一致性属性的像素集。因此必须先对图像进行灰度处理,然后依据图像的灰度值对图像进行划分,以得到目标对象区域最小边界,最后统计出这些含有目标对象最小多边形的个数,以便将数据分配给集群机进行计算。
图像存储的规律性,是图像以矩阵进行存储与计算的基础,因此改善矩阵计算的并行性是提高图像处理性能的一个重要手段。本文采用四叉树结构对图像进行区块划分与存储。其基本思想是:首先获取待划分区块的四等分线,对每一等份继续按上述方法进行划分,一直等分到子象限上仅为目标对象区域最小长方形区域为止,然后舍弃不含目标对象已划分的区块,统计出含有目标区块的总数。这样就大大减少了对不含目标对象区域的计算时间,区块划分与编码方法如图1所示,所得块状结构用四叉树结构进行组织存储,即把2n×2n像元组成的阵列当作树的节点,树的高度为n级(最多为n级)。每个节点有分别代表北西(NW)、北东(NE)、南西(SW)、南东(SE)四个象限的四个分支。存储树结构如图2所示。
1.2 集群体系数据划分与并行计算
由并行模式的理论可知,分解方法有功能分解和数据分解两种。功能分解指的是将整个执行过程按一定的分解粒度对执行过程进行分解;数据分解指将待融合的图像先进行划分以获得子图,然后再在子图上施加适当的计算。通常对图像分解采用规则的分解,如条状划分或多维划分。虽然子域理论可以小到只有一个像素,而条状划分最小粒度是一行。与文献[6]提到的影像数据划分策略不同,同时也与文献[7]提到的基于小波包串行融合算法中的数据划分策略不同,其思想只是依据图像的区块大小进行划分,如图3所示。在此我们按照上一节介绍的四叉树结构的划分与存储思想,先把一幅图像进行图像的预处理,划分区块获得目标区域的数量,这些数量也就是我们进行并行计算的子图数量。我们仅关注含有目标的区块,因为就目标识别而言,所要计算的目标对象相对较少。如图4所示。依据集群体系结构对处理器节点层级分配策略,采用集中式处理结构,可以自适应地分配处理器节点层级与子图的数量,通过监测各处理器运行状态及预计执行时间,使用任务队列的方式适时地调配待处理的子图数据到处理器节点。
1.2.1 集群体系数据分配策略
分布式集群体系结构四叉树数据处理(以下简称为任务)分配模型可以考虑两方面内容。其一就是任务粒度的划分;其二就是各处理节点的任务分配。由于数据的划分已经在数据预处理阶段完成,下面主要讨论节点的任务分配问题。
如图5所示,首先将系统中所有的网络节点进行分级,初始时分级方法对应四叉树结构,主控节点对应根节点,依次类推。其中主控节点负责向各二级节点分配任务,并收集各二级节点的负载信息;二级节点在收到主控节点分配的任务之后,对三级节点进行调度,安排三级节点进行相应的工作;二级节点同时将自己的负载情况向主控节点汇报,主控节点根据提供的消息在二级节点之间进行负载平衡;三级节点在收到二级节点的命令之后,开始执行相应的任务,并将执行结果返还给二级节点。
考虑到二级计算节点所起的桥梁作用,其它除主控根与树叶位置外的节点算法也类同,因此有必要重点讨论一下二级计算节点的具体算法,描述如图6所示。
在进行具体的算法实现中,采用开源的p RPL函数库辅助实现四叉树节点信息的获取及调度,算法的核心代码如下:
1.2.2 集群体系时间成本计算
传统的单节点图像融合计算就是根据多光谱与高光谱图像的信息对整幅图像各像素点顺序扫描计算,因此融合时间相对较长。然而,集群体系图像融合并行计算的时间总开销主要包括图像分割时间、传输时间、节点图像融合时间和图像再分割时间、返回结果传输时间以及图像拼接规整时间等组成。由于我们摒弃了绝大部分的非目标区域的计算时间,同时采用并行计算与任务动态调度的思想,总计算时间与效率均有改善。具体计算公式为:
其中Max[Tn1,Tn2,Tn3,Tn4]表示按四叉树结构按单任务划分后对下级节点再分割与计算的最长时间,因此这个计算式是一个递归计算过程,取决于递归划分的粒度与计算节点的个数。每划分一次,其计算时间都将有一定的减少,划分后即有:
时间成本计算代码如下:
1.3 图像融合的并行计算
本文采用标准的图像融合方法,通常按如下步骤进行:
1)将原始图像增强、消畸变、校准、去噪;
2)对多光谱图像进行RGB到IHS的变换;
3)对真彩色图像和IHS多光谱图像的亮度成分进行直方图匹配。
首先,用真彩色图像的亮度成分作为融合图像的亮度成分,然后做逆变换以获得融合的RGB图像。
标准融合方法的结果依赖于采用的IHS系统,最常用的亮度变换公式为:
其次,被融合的两幅图像的亮度成分应当在融合之前进行匹配。为校准亮度,要计算每幅图像的亮度的均值和标准差,并用于调整一幅图像相对于另一幅参考图像的亮度成分。其表达式为:
其中I表示原来的亮度值;I'表示校准后的亮度值;σ1,m1分别是第一幅图像的亮度的均值和标准差,而σ2,m2分别是第二幅图像的亮度的均值和标准差。校准了亮度后,两幅图像可用下式进行逆变换到RGB平面:
具体的功能实现过程中,借助IDL函数库实现栅格图像的融合处理,提高并行运算的效率。主要代码如下:
1.4 数据的收集规整
对上述除主控核外的各级核计算结果,主控核负责按划分块即子图的索引ID及其相应的位置信息逐块进行无缝连接,形成一幅完整的融合图像,以便进一步的计算处理。至此,图像融合的整个过程完毕。
2 实验结果与性能分析
基于以上遥感图像的集群并行计算模型与四叉树结构分块策略,我们选取大小为200M左右的高光谱与多光谱遥感影像为融合数据,其中高光谱影像分辨率为14253×14312,数据大小为196Mb,多光谱影像分辨率为7129×7151,数据大小为196Mb,并将图像分别划分为4,16,64块,以单机、集群PC机的个数为1,4,16,64进行了相关测试,测试结果为图像融合进行10次所得的平均值。
测试节点计算环境为:集群系统中每个节点的CPU都为酷睿2代,内存4GB,实验中总共用到了64个节点,整个集群系统通过速度为1Gb/s的以太网相连,系统通过图像划分、融合、合成等步骤,同比单机图像融合计算的效率有所提高。测试结果见表1。
从表1可知,如果采用单机对于一个遥感图片处理,计算时间的代价将大于没有进行集群分割与并行策略。在数据分块数少于计算节点数的情况下,所花费的时间数与等数据块花费的时间相同。对单节点而言,随着分块数的增加,花费的时间也相应增加。另外,随着分块数与节点数的增加,总时间花费减少。
3 结语
基于四叉树结构数据划分策略在海洋遥感目标识别中,可以减少非目标区域的计算时间;整个算法的执行时间不仅跟图像数据划分有关,而且与计算节点数目有关;采用动态任务分配与调度算法也能减少并行运算时间。由于本算法主要关注的是对图像目标区域的划分策略与并行效率,对处理结果的收集与整理考虑欠缺,因此在融合的精度方面将在下一步的研究中加以改进。
摘要:集群体系下的大规模并行计算,是高性能计算的基础。遥感图像处理效率的提高,有赖于并行计算技术的应用。在分析已有网格计算环境下分布式任务分配方法的基础上,针对海上遥感图像目标物数量相对较少的特点,首先利用四叉树结构理念对目标区域进行划分,同时采用动态负载均衡的任务分配策略与并行计算思想,提出对目标区域图像进行融合处理的集群体系任务分配算法处理模型。通过对比验证,表明该集群体系下算法模型能有效地提高图像融合的速度。
关键词:集群计算,并行计算,四叉树结构,图像融合
参考文献
[1]程英蕾.多源遥感图像融合方法研究[D].西北工业大学,2006.
[2]刘轶,等.一种面向多核处理器并行系统的启发式任务分配算法[J].计算机研究与发展,2009,46(6):1058-1064.
[3]刘轶,等.多核处理器大规模并行系统中的任务分配问题及算法[J].小型微型计算机系统,2008,29(5).
[4]Liu Zhen,Rhonda R.Optimal parallel processing of random task graphs[J].Journal of Scheduling,2001,3(4):139-156.
[5]沈占锋,等.高分辨率遥感影像并行处理数据分配策略研究[J].哈尔滨工业大学学报,2006,38(11).
[6]程英蕾,等.一种多传感器图像并行融合新方法[J].空军工程大学学报:自然科学版,2006,7(6).
[7]刘振英,等.一个有效的动态负载平衡算法[J].软件学报,2001,12(4):563-569.
[8]翟亮,等.一种新型的遥感影像压缩质量评价指标[J].武汉大学学报:信息科学版,2007,32(10).
集群计算机 篇8
数字电影作为新一代电影技术,以其无法比拟的技术优势迅速发展,为了促进数字电影的应用和普及,美国好莱坞数字影院倡导组织(Digital Cinema Initiatives,DCI)起草并制定了DCI《数字影院技术规范》[1],符合该规范的数字电影可以在全世界通用。DCI技术规范共分为总论、系统概述、数字电影发行母版、压缩、节目文件打包、发行传输、影院系统、放映设备、安全管理等9个章节,规定了整个数字电影发行系统以及数字影院的各项技术指标,而从2005年开始一直持续至今的3D技术新一轮发展,使得人们对3D技术的关注及3D数字电影的需求进一步升温。
在数字电影制作过程中,一个突出的问题是压缩处理的数据量十分庞大,数字电影发行文件的压缩生成时间过长,根据文献[2]可知,在一台双核CPU,主频2 GHz的PC上根据DCI规范压缩一帧2K数字电影图像耗时16 s,那么压缩一部2 h,24帧/秒(f/s)的数字电影,需要1个月左右,这在实际应用中是无法忍受的。为此文献[2]设计了一种分布式DCI数字电影图像压缩系统,同时使用两台刀片服务器和一台文件服务器对10 min的电影片段进行压缩,耗时24 h,效率也不够理想。
在笔者参与的“分布式宽带业务制作协同环境的开发”课题中,设计了一种基于集群计算的转码系统,在存储系统和调度系统的配合下,通过计算资源整合为整个系统提供多媒体内容的转码服务[3]。为进一步提高数字电影制作效率,参考该集群转码系统,设计了一种符合DCI规范的3D数字电影制作方案,详细阐述了该方案的各个模块及所用的集群计算系统,并对该方案下的制作流程及制作效率进行详细分析。
1 方案设计
按照DCI技术规范所述,一个完整的数字电影制作系统主要包含源获取、制作与发行、传输和播映3个环节。数字电影源可以用数字摄像机直接摄制,也可由计算机制作而成,或者用高分辨力胶片扫描仪转换已有的胶片电影,数字电影源经过影视后期处理生成数字源母版(Digital Source Master,DSM),针对数字电影应用,DSM转换成数字电影发行母版(Digital Cinema Distribution Master,DCDM),为了方便发行,DCDM压缩、加密和打包后形成数字电影包文件(Digital Cinema Package,DCP),然后DCP经由光盘、移动硬盘、宽带网络或卫星等介质传输到数字影院,由数字电影播放服务器解包、解密、解码恢复成数字电影源信号后,送到数字电影放映机上放映[4]。
在笔者所提出的3D数字电影制作方案中,数据源由3D摄影系统录制在磁带上,视频分辨力为1 920×1 080 24p HD,该方案从磁带中采集音视频数据进行压缩处理,生成方便传输与发行的DCP文件。
1.1 总体方案设计
根据实际应用需求和DCI技术规范,本方案可分为源获取、3D处理和制作发行包3个模块,各模块关系如图1所示。
1)源获取
数据源在拍摄时采用3D摄像机,由2个摄像机分别记录下左右视角的图像数据并通过HD-SDI接口传输至索尼Sony SRW-1高清便携录像机以磁带形式保存,该录像机具备双倍速记录功能,每路码率达440 Mbit/s(总共880 Mbit/s),可用于三维立体电影的双路RGB 4∶4∶4的3D数字母版录制。
2)3D处理
根据HDMI协议标准授权机构(HDMI Licensing,LLC)最新公布的HDMI v1.4a标准[5],广播内容的强制性3D画面传输格式共有两种:水平式(Side-by-Side Horizontal)和垂直式(Top-and-Bottom)。该方案采用水平格式,将左右视图像分别下采样为原分辨力的一半以后组合为一帧图像,其视频格式如图2所示。该方法生成的3D视频水平分辨力、垂直分辨力和帧率与原2D视频相同,经该方法处理后,后续制作只需对左右视合并后的3D图像进行压缩,相对于对左右视分别进行压缩编码后封装的方法[6],可以节省约一半的计算量。
在该方案中,3D处理模块采用的是上海精视(AVIT)的立体高清前端处理单元HD7000,该设备可以将HD-SDI输入的左右视图像以水平式/垂直式进行实时3D处理,并通过HD-SDI接口输出。
3)制作发行包
该模块通过HD-SDI接口采集经过处理的图像数据并采用集群计算的方式按照DCI技术规范对数据进行压缩编码,最终生成DCP发行包。DCI技术规范规定了两种分辨力∶2 048×1 080(2K模式)和4 096×2 160(4K模式),并且规定色彩空间为X′Y′Z′,像素比特精度为每分量12 bit,图像压缩采用JPEG2000,并且根据数字电影对图像质量的要求调整了压缩算法,音频数据不压缩以保证更好的原音重现。压缩后的图像封装于一个图像轨道文件(Picture Track File),同时音频和字幕也要封装于音频和字幕轨道文件。DCI使用媒体交换格式(Material Exchange Format,MXF)作为轨道文件的格式,最终的完整DCP发行包还应包含合成播放列表(Composition Playing List,CPL)、打包列表(Packing List,PKL)、资源映射表(ASSETMAP)和磁盘索引(VOLUME INDEX)等信息文件,由于图像压缩的计算量较大,耗时较长,该方案中设计了一种集群计算系统来提高制作效率。
1.2 集群计算系统设计
该集群计算系统基于集群计算的思想,采用多计算节点为3D数字电影制作任务提供稳定可靠、性能强大的计算能力,其主要功能是根据用户需求对输入的源数据进行压缩编码处理,具体可划分为用户控制、任务管理、系统调度、数据采集、压缩编码及数据合并等模块,各功能模块的连接关系如图3所示。
1)用户控制。用户可以通过该模块设定数据采集方式及任务参数,管理电影制作任务及集群计算系统。
2)任务管理。根据用户指令管理制作任务,向数据采集模块下达采集指令并获取采集信息,与系统调度模块交互任务信息。
3)系统调度。根据任务信息合理分配工作节点,向各个工作节点传输任务信息并监控各节点工作状态,通过数据分发指令调度数据流向,同时对任务状态进行监控。
4)数据采集。根据采集指令获取音视频数据,通过采集卡从HD-SDI接口获取数据,并保存至存储服务器。
5)压缩编码。根据任务信息对获取的视频帧进行处理并以JPEG2000算法进行压缩编码。
6)数据合并。所有视频帧均编码完成后进行排序和合并,并按照DCI技术规范对音视频数据进行封装,同时添加字幕文件及其他信息文件。
2 制作流程及性能分析
笔者详细描述了该3D数字电影制作方案的制作流程,并对工作节点数量与系统性能的关系进行了分析。
2.1 制作流程
原始数据在拍摄完成后由录像机存储于录像带上,视频分辨力为1 920×1 080。首先,录像机将左右视图像分别通过HD-SDI接口输出至HD7000模块,该模块将左右视数据处理为水平格式的3D图像,并以HD-SDI接口传输至集群计算系统,集群计算系统通过数据采集卡将源数据分别保存在存储服务器,之后对数据进行压缩编码处理,制作为符合DCI规范的DCP文件,该任务的实际工作流程如图4所示。
具体各步骤为:
1)用户根据源信息设置采集参数,如视频帧率(24 f/s)、视频分辨力(1 920×1 080)、视频色彩空间(RGB32)、音频采样率(48 kHz)、音频采样深度(16 bit)、采集时长等。
2)数据采集模块通过采集卡按照用户设置将音视频数据分别采集到存储服务器,这里采用的是BlackMagic DeckLink HD Extreme采集卡,可以实现10 bit SDI无压缩高清视频采集和回放,由于数据量过大,数据的采集速率为1 520 Mbit/s,为保证数据不丢失,数据采集服务器与存储服务器之间的数据吞吐速率及存储服务器的读写速度至少为2 Gbit/s。
3)采集模块将音视频数据信息返回。
4)用户根据数据信息及需求,向集群计算系统下达制作任务。
5)任务管理模块获取制作任务,并从数据采集模块获取文件信息,文件中每个视频帧将作为一个子片段分发到工作节点进行编码处理。
6)任务管理模块将任务信息及子片段信息传递给系统调度模块。
7)系统调度模块根据系统工作状态,给任务分配一定数量的节点并初始化,根据节点工作状态动态地分发子片段。
8)节点从存储服务器获取子片段,按照DCI规范及用户设置,先将视频数据格式变换为色彩空间X′Y′Z′、比特深度为12、图像分辨力为2 048×1 080(2K模式)的无压缩数据,然后按照DCI规范所用的JPEG2000压缩算法对数据进行压缩,生成j2c文件。
9)节点将生成的j2c文件上传至存储服务器。
10)节点将子片段完成情况返回给调度服务器。
11)系统调度模块在所有子片段都完成后向数据合并模块下达合并指令。
12)数据合并模块从存储服务器获取所有子片段,按照时间顺序合并后分别把音视频文件以MXF格式封装,同时添加字幕文件、CPL、PKL、ASSETMAP和VOL-UME INDEX等信息文件,组成完整的DCP发行包。
13)将DCP上传至存储系统。
14)文件合并复用完成后,返回结果信息给系统调度模块。
15)任务完成后,将结束信息返回给任务管理模块。
16)通知用户任务完成。
2.2 性能分析
为了测试系统集群工作的性能,在工作节点数量不同的情况下分别对系统效率进行测试,各个工作节点均由服务器(DELL Power Edge R710 2U机架式服务器,Intel Xeon 5500 2.0 GHz,DDR3 2×2 048 Mbyte,Gigabit LAN port×4,Windows Server 2003 SP3)实现,各工作节点与存储服务器间由千兆路由器相连。测试结果如图5所示。
从图5中可以看出,在实验中任务处理的效率与节点数量基本成正比,这是因为任务中各节点处理的子片段相互独立,并且各服务器性能相同,网络环境相似,所以可提供的计算能力相当。但是,在实验中可以看出随着节点数量的增多,网络数据流量增加,在一些时段,数据请求会超出存储服务器的输出带宽、数据读写速度或是路由器的数据分发速度,网络或是硬盘I/O就会成为瓶颈,所以效率不会一直增长下去。
根据实验结果,如果使用该系统制作一部2 h的3D数字电影,在8个工作节点同时工作的情况下,压缩编码处理需要20 h,可以满足实际工作的需要。
3 小结
笔者设计了一种基于集群计算的3D数字电影方案,该方案对采集到的左右视数据以水平格式进行3D处理,并根据用户需求生成电影制作任务,利用多台工作节点的集群计算能力高效完成电影制作任务。相对于参考文献[2]与文献[6]所提方案,这一方案的优势在于系统均可以充分利用集群节点的计算能力,大大提高3D数字电影制作效率,详细介绍了该3D数字电影制作方案及所使用的集群计算系统。
参考文献
[1]Digital cinema system specification[EB/OL].[2010-08-31].http://www.dcimovies.com/.
[2]卢凌云,莫洪灵,魏芳.分布式DCI数字电影图像压缩系统研究[J].计算机工程与设计,2009,30(13):3124-3127.
[3]孙思慧,孙军,王兴东.面向在线制作的集群转码系统设计[J].电视技术,2010,34(1):18-21.
[4]王樱澍.DCI数字电影打包系统等的研究[D].北京:北京邮电大学,2008.
[5]High-definition multimedia interface specification version1.4a[EB/OL].[2010-08-31].http://www.blu-ray.com/news/?id=4246.
集群计算机 篇9
云计算(Cloud Computing)是一种通过互联网实现随时随地和按需访问的共享资源池的计算模式,共享资源池主要包括计算设施、存储设备和应用程序等[1]。
云计算作为一种新的并行计算技术,是在分布式计算、并行计算和网格计算的基础上发展起来的,其目标是使得资源以服务的形式呈现在用户面前,用户可以根据其需求快速申请或释放资源,并采用按需付费的方式使用资源,以降低资源使用成本和提高资源使用效率[2,3]。
云计算的特点可以归纳为:弹性化的服务规划、共享资源池化、按需服务、服务计费和泛在接入,这些特点使得用户可以通过互联网使用各种终端设备随时随地地接入云计算享受服务[4]。
云计算资源调度可以定义为在云计算环境下,根据一定的资源使用规则,在不同的用户任务之间进行资源分配的过程[5]。
云计算服务可以分为三个子层:基础设施服务(IaaS, infrastructure as a service)、平台即服务(PaaS, platform as a service)、软件即服务(SaaS, software as a service)。由于虚拟化技术的引入,使得云计算环境下的资源调度具有与网格计算不同的特点,资源调度目前已经成为云计算研究的一个重要课题[6]。
目前对云计算环境下的资源调度的主要工作有: 文献[7]设计了一种基于粒子群算法的资源调度方法,通过引入多种群协作和变异粒子,从而避免局部最优和实现全局最优。文献[8]基于虚拟机迁移技术,提出了一种虚拟机集群资源调度策略,当系统负载过大时,对节点上的虚拟机进行迁移以实现虚拟机集群的负载平衡和节能。文献[9]提出了一种基于模糊聚类算法和粒子群优化算法的资源调度方法,首先采用改进的聚类算法根据节点负载进行聚类,然后再对负载过大的节点上的虚拟机进行迁移,从而实现负载平衡。
上述工作均研究了云计算资源调度问题,具有重要的意义,但也存在着如粒子群算法易于陷入局部最优,所以,本文提出了一种基于改进克隆选择算法的资源调度方法,并通过实验证明了文中方法的优越性。
1云计算资源调度模型
云计算环境下的资源调度的目标为最小化任务执行时间跨度和资源负载均衡度。
定义1 资源调度模型
采用三元组G={R,T,E}表示云计算环境下的资源调度模型,其中,R={r1,r2,...,rm}表示由m个异构处理节点组成的资源集,T={t1,t2,...,tn}表示n个独立用户任务组成的任务集,E={e11,e12,...,enm}表示资源分配集,eij为1时表示任务ti在处理节点rj上执行,eij为0时表示任务ti不在处理节点rj上执行时。
定义2 资源负载
资源负载lj(1≤j≤m)参数主要包含CPU利用率、内存利用率、网络带宽、IO访问率和进程总数,分别采用Cj、Mj、Nj、IOj和Pj表示,资源负载可以表示为:
lj=Cjw1+Mjw2+Njw3+IOjw4+Pjw5 (1)
在式(1)中,w1、w2、w3、w4和w5为资源各负载参数所占权值,并满足:
资源负载因子ρ可以表示为:
式(3)中, m为资源总数,n为任务总数,
定义3 执行时间跨度
任务时间跨度(makespan)来表示任务集T在资源集R上执行的时间, 采用Sch={t,r,ts,te}表示任务t在资源r上执行的开始执行时间ts和任务结束时间te,所以任务跨度makespan可以表示为:
在式(5)中,max{tei}表示所有任务的最晚结束时间,min(tsj)表示所有任务的最早开始执行时间。
2基于改进克隆选择调度的资源调度
2.1克隆选择算法概述
克隆选择算法(Immune Clone Selection Algorism, ICSA)由Jerne提出[10],其依据免疫学中的克隆选择原理,通过引入克隆选择、克隆增值、免疫记忆等机制,最终求得最优解。
克隆选择算法针对所需要解决的问题进行分析,将问题看作抗原,从抗体中挑选出适应度较高即与抗原的亲和度较高的个体,并对其进行变异,使得寻优的范围增大,以增抗体种群的多样性,避免陷入局部最优,最终获得全局最优解。
2.2抗体编码
抗体表示所求问题的候选解,抗体对应了任务的资源调度方案,将资源分配集E中矩阵元素为1的列号作为抗体基因,其可以描述为:
式(6)中,n为任务总数,pi表示分配给任务ti的资源号,所以,1≤pi≤m。
2.3抗体与抗原之间的亲和度
抗体与抗原之间的亲和度反应了抗体与抗原的匹配程度,即候选解的优劣,因此,抗体与抗原之间的亲和度越大,则候选解越优。
云计算环境下的最优解需要同时考虑时间跨度和资源负载均衡,所以亲和度函数可以描述为:
式(7)中,资源负载因子ρ和任务时间跨度makespan分别可以由式(3)和式(5)获得。
2.4抗体与抗体之间的亲和度
为了保持多样性,避免算法陷入局部最优,需要对相似抗体进行抑制,采用信息熵理论进行计算,假设规模为K的抗体种群为A={P1,P2,...,PK},则抗体Pi第j位的信息熵可以表示为:
在式(8)中,Pi(k)表示抗体Pi的第j位基因相同的概率,当所有基因均相同时有 Hj(K)=0,则N个抗体的平均信息熵可以表示如下:
任意两个抗体的亲和度可以通过公式(10)获得。
当对任意两抗体根据公式(10)得到的抗体的亲和度值时,值越大则抗体之间的相似度越大,算法越易于陷入局部最优,所以需要对相似抗体进行抑制。
3云计算资源调度算法描述
初始化:采用任务总数n初始化抗体长度,抗体种群规模K,资源总数为m,交叉概率pc,变异概率pm,初始温度T0,当前迭代次数t=1,最大迭代次数tmax。
步骤1:采用资源总数m对抗体进行编码,抗体每个基因为1~m之间的自然数,随机产生规模为K的初始种群A={P1,P2,...,PK};
步骤2:根据公式(7)计算抗体与抗原的亲和度,并将所有抗体按亲和度从大到小排序得到的抗体集A′={P1,P2,...,PK};
步骤3 : 对排序得到的抗体集A′={P1,P2,...,PK}中的抗体Pi进行免疫克隆,克隆的数目为qi可以表示为:
经过免疫克隆后,新的抗体集可以表示为:Bk={P1q1,P2q2,...,PKqK};
步骤4: 对经过免疫克隆的抗体集Bk={P1q1,P2q2,...,PKqK}进行退火交叉,对于任意两个抗体Pi和Pj,当交叉概率为pc时,随机产生一个0到1之间的随机数rc,当rc≤pc根据式(12)得到交叉后的新抗体Pi′和Pj′:
根据式(12)获得新抗体Pi′和Pj′的亲和度,如果Fit(P′)>Fit(P),则将个体P′加入到下一代个体中,否则,计算选择概率:
式(13)中, Tt为温度序列。
如果p>rc,则将该抗体仍然加入下一代种群中,如果小于则抛弃;
抗体经过退火选择后得到新的抗体集
Ck=={P1cq1,P2cq2,...,PKcqK}。
步骤5:对经过退火选择的抗体集Ck={P1cq1,P2cq2,...,PKcqK}中的抗体进行高斯变异,对每个抗体Pi按照变异概率pm根据下式进行变异,得到新的抗体集Dk。
在式(14)中,N(0,1)为服从标准正态分布的随机变量。
步骤6:根据式(10)计算任意两个抗体之间的相似度,对相似抗体进行抑制,删除其中与抗原亲和度较小的个体,直到抗体的规模为K,得到新抗体集E={P1,P2,...,PK}。
步骤7:判断当前迭代次数t是否达到最大值tmax,如果达到最大值,则算法结束,否则t=t+1,并按下式更新温度序列:
4仿真实验
采用云计算仿真工具CloudSim对上述基于克隆选择算法的云资源调度算法进行仿真,实验环境如下:设有40个计算资源构成云计算资源池,对30—300个独立任务组成的任务集进行调度,并与文献[7]和文献[8]进行比较。
文中算法的参数设置如下:抗体长度30—300,抗体种群规模K=100,资源总数为m=40,交叉概率pc=0.5,变异概率pm=0.6,初始温度T0=40,当前迭代次数t=1,最大迭代次数tmax=200。
对三种算法获得的资源调度方案所对应的任务执行时间跨度和资源均衡因子进行仿真,得到的结果如图1和图2所示。
从图1中可以看出,文中方法得到的执行时间跨度最小,随着任务数的增加平稳增加,其平均值为549 s,具有较强的稳定性,而文献[7]和文献[8]所示的方法任务执行时间跨度平均值分别656 s和854 s,远大于文中方法,且在仿真中随着任务数的增加出现一些波动。
从图2中可以看出,文中方法对应的资源负载均衡因子最低,始终位于文献[7]和文献[8]方法较低,这表明文中方法具有较好的负载均衡能力,而文献[7]和文献[8]方法的负载均衡因子较高,且波动较大,具有不稳定性。这是因为文中采用改进的克隆选择算法通过对相似个体进行抑制,对亲和度较大的个体进行保留从而提高了全局寻优能力,能实现资源的负载均衡。
5结语
为了实现云计算环境下的集群资源调度,提出了一种基于克隆选择算法的云集群资源调度方法。首先,定义了云环境下以最小化执行时间跨度和负载均衡因子的集群资源调度模型,然后设计了抗体的编码方式,抗体与抗原之间的亲和度函数、抗体之间的亲和度函数、克隆算子、退火交叉算子和高斯变异算子,并定义了基于克隆选择算法的云计算集群资源调度方法。仿真实验证明文中方法能实现云计算环境下的集群资源调度,且与其它方法相比,具有较小的任务时间跨度和较好的负载均衡能力。
参考文献
[1] Mell P,Grance T.The NIST definition of cloud computing.NationalInstitute of Standards and Technology,2011
[2]罗军舟,金嘉晖,宋爱波,等.云计算:体系架构与关键技术.通信学报,2011;32(7):3—21
[3]李乔,郑啸.云计算研究现状综述.计算机科学,2011;38(4):32—37
[4]李莉,廖剑伟,欧灵.云计算初探.计算机应用研究,2010;12(27):4419—4426
[5] Izakian H,Ladani B T,Zamanifar K,et al.A continuous doubleauction method for resource allocation in computational grids.Proc ofIEEE Symposium on Computational Intelligence in Scheduling.[S.l.]:IEEE Press,2009:295—299
[6] Mell P,Grance T.The NIST definition of cloud computing.NationalInstitute of Standards and Technology,2011
[7]刘万军,张孟,郭文越.基于MPSO算法的云计算资源调度策略.计算机工程,2011;37(11):43—48
[8]周文熠,陈华平,杨寿保,等.基于虚拟机迁移的虚拟机集群资源调度.华中科技大学学报(自然科学版),2011;39(1):130—133
[9]姚婧,何聚厚.基于模糊聚类分析的云计算负载平衡策略.计算机应用,2012;32(1):213—217