机群系统(Cluster system)
目录 |
机群系统是指利用高速通用网络将一组工作站或高档微机,按某种结构连接起来,并在并行程序设计开发环境支持下统一调度的并行处理系统,又称工作站机群系统(Cluster Of Workstations,cow),也称工作站网络并行系统(Network Of Workstations,NOW)。
·高性能的计算结点机(PC、工作站或SMP)。
·具有较强网络功能的微内核操作系统。
·高效的网络/交换机(如千兆位以太网和Myrinet)。
·网卡(NICs)。
·快速传输协议和服务。
·中间件层,其中包括某些支持硬件,如数字存储通道、硬件分布共享存储器及SMP技术;应用,如系统管理工具和电子表格;运行系统,如软件分布共享存储器和并行文件系统;资源管理和调度软件等。
·并行程序设计环境与工具,如编译器、语言环境、并行虚拟机(PVM)和消息传递接口(MPI)等。
·应用,包括串行和并行应用程序。
机群系统可以按照应用或结构进行分类。
1、按应用目标
可分为面向科学计算型或面向关键任务应用型:
·高性能机群(high performance cluster);
·高可用性机群(high availability cluster)。
2、按组成机群的处理机类型
·PC机群;
·工作站机群;
·SMP(对称多处理器)机群。
3、按处理机操作系统
·Linux机群,如Beowulf;
·Solaris机群,如Berkeley NOW;
·NT机群,如HPVM;
·AIX机群,如IBM SP2;
·数字VMS(虚拟存储机)机群;
·HP-UX机群;
·微软Wolfpack机群。
4、按处理机的配置
·同构型机群:所有结点拥有近似的构造和相同的操作系统;
·非同构型机群:所有结点拥有不同的构造和不同的操作系统。
5、按处理机的位置和数量
·组机群,结点数量为2~99,通过SANs(系统级网络),如Myrinet,机群实际上装入一个机箱中或存在一个范围之内;
·部门机群,结点数量为几十或几百;
·企业机群,结点数量为几百。
6、按构筑机群的方式
1.专用机群
专用机群一般由一组同构的处理机组成(有时也有异构情况),通常安装在一个机房内,或者将主板等安装在一个机柜的各机箱中(商业机群常用这种方式),或像图中那样简单地把PC机堆砌在机架上(Piles of PC)。在这种机群中,每个处理机都是专用的、无属主的,由系统管理员统一管理,用户可通过前端机进行访问,用户无需知道机群的详情,就像使用MPP机一样,易于配置和管理,不受外界干扰,通信可靠且延迟小,适合于面向加速比的并行任务和面向吞吐量批处理作业。专用机群具有相对结构和管理简单、易于扩展等特点,用途极广。
专用机群的互联结构通常有以下两种方式:
·I/O方式 包括普通用LAN、FDDI、ATM等网络连接和共享磁盘连接两种方式。
·共享存储器方式 包括全局共享存储器方式和分布式共享存储器方式。分布式存储器指没有一个集中的存储器,由各处理机内一部分存储器通过软件机制形成。
1994年夏,美国的研究人员建成了第一个Beowulf机群,它由16个DX4处理机组成。1997年,又推出了16个基于PⅡ的机群,只需花费5万美元却具有每秒10亿次的浮点运算能力,而购买具有相同能力并行机的投资数却是它的10倍。 Berkeley的NOW系统也是较早的工作站机群,由上百个Sun Ultra工作站组成,集成到19 英寸机箱中,可使用Myrinet、ATM和终端集中器等多种互联手段,每个结点自带512K缓存、128M内存及2个2.3G硬盘。
此外,各大公司推出的商业专用机群还有很多,如DEC 的VMS机群和TruCluster、惠普的Apollo 9000机群、IBM的Sysplex、Sun的Solaris MC 等。
在国内,曙光公司最新推出了基于NT的天潮系列机群产品,是采用分布式存储的可扩展机群体系。其结点处理器为Intel PⅡ和PⅢ,通过千兆位以太网互联,扩展性好,结点可根据不同的应用,动态地分为多个结点池,如可用两个结点作为服务器、四个结点运行数据库、其他结点用于计算等,结点数量可灵活配置。应用范围包括:
科学计算支持PVM和MPI,使用优化的BLAS库;事务处理 在线事务处理(OLTP),如电子商务、证券交易和在线分析处理(OLAP);并行数据库 支持Oracle、DB2等分布式数据库应用;
网络服务器运行各种Internet服务。
2.非专用机群
非专用机群是由分散互联的处理机或在网上寻找到的空闲处理机组成的机群,这些处理机可能分属于不同的个人、组织或单位。据资料统计,一般计算机系统平均使用率仅为30%左右,有的空闲率竟达91%,而许多桌面网络工作站和微机的CPU利用率都小于10%,因此,人们自然想到要利用这些闲散的CPU处理能力,这被称为CPU周期窃取。
通常,网络上计算单元都是拥有者各自孤立地使用其拥有的计算单元,一般处于下列状态:
·处于空闲或等待状态,如夜间;
·文档编辑工作,包括收发E-mail、阅读文档和信息等;
·开发工作,包括编辑、编程、编译、调试等;
·完成某种定时、守候服务和功能;
·运行计算型的程序。
所谓窃取CPU周期就是要窃取上述前四类处理机的CPU 周期给最后一类工作用。显然,被窃取CPU周期的处理机包括空闲的处理机和CPU负载较轻的处理机两类。
非专用机群地理上分布于不同的所有者,由异构系统组成,大部分通过以太网连接,适用于企业级局域网范围,技术难度要高于专用机群。工作站的主人与需占用工作站资源运行程序的远程用户之间存在着矛盾,前者希望与工作站快速交互,而后者只关心能否利用所有的共享CPU来快速运行程序。机器的所有者必须具有参加机群的动机,这意味着他们相信贡献他们的资源是有意义的。但是,这些所有者不希望在他们工作时或他们的系统过于饱和时,受到其他干扰,一个解决的策略是允许所有者退出机群。目前,国际上正在形成一种计算资源的买卖市场,以刺激资源拥有者加入网上机群。此外,由于当前网络通信速度和质量的瓶颈所限及由通信竞争造成的网络不确定性的存在,对非专用机群技术提出了更高的要求,如对进程迁移、负载平衡等技术的需求。但此类系统最为贴近普通用户,可以充分利用网上无穷无尽的资源,而组建投资几乎可忽略不计。可以预见,随着网络瓶颈问题的缓解,非专用机群必然是极有发展前途的一种计算形式。
机群组建时应考虑下面的需求和功能:
·较高带宽的网络,以支持通信需求;
·低延迟的通信机制;
·支持高带宽的多点传送通信方式;
·自动恢复网络和结点错误的能力;
·标准的低级原语,支持通信、同步和时序;
·异构的远程过程调用,以隐藏体系结构、协议和系统的不同性;
·实时性能监视器;
·可靠的批处理工作调度程序;
·分布应用程序开发工具;
·支持传统的高级语言进行异构计算;
·能够开发工作站机群的应用程序;
·新的系统管理工具;
·发展标准化,以保护软件投资。
1)能用性(Usability):由于每个结点都是传统平台,所以用户可以在熟悉和成熟的环境中开发和运行程序,平台提供了功能很强的工作站编程环境工具,并允许现有的顺序应用程序无须修改便可运行因此个机群可视为一个巨型工作站,它能为多个顺序用户作业运行提供大大增加的吞吐率并减少响应时间。
2)可用性(Availability):可用性是指一个系统从事生产性使用的时间百分比.传统的整体系统,如主机和容错系统依靠昂贵的定制设计来获得高可用性机群不是用定制组件,而使用廉价的商品化组件以提供含有大量冗余的高可用性实现机群潜在可用性的关键在于有关软件,并辅以共享部件(如互连)具有高可用的技术。
3)可扩展性(Scalability):一个机群的计算能力随结点增多而增加.其次,机群的可扩展性是群体可扩展性.机群扩展是组件的,包括处理器、存储器、磁盘和IA)部件,由于是松耦台,机群能扩展至上百个节点。
4)性能/成本比(Performanee/CostRatio):机群大量的采用商品化部件,它们的性能和价格遵循Moore定律,从而使机群的性能/成本比的增长速率远快于PVP和MPP。
机群是超级计算机的基本技术,分为紧耦台和松耦合两大类:
紧耦台型以共享存储器为通信环境,将多个节点机或CPU组装在一个或多个模块上,然后装配在一个整机箱之中,整机的并行运算能力就是该机的性能共享存储器有各种方案和结构,如DMA结构和高速纵横开关结构等.这种系统由公共存储器块作为机内的通信数据块,因而具有极高的并行运算速度和极高的通信速度。
松耦合型以网络互连的消息传递为通信环境,各节点机具有独立的存储器(包括主存与辅存),各机独立并行工作,信息的交换通过网络完成.通信网络可通过并行总线接口互连,电可通过局域网互连。