基于Web界面的计算池体系结构的设计

2017-11-23 04:18无锡科技职业学院教务处无锡市214028
石河子科技 2017年3期
关键词:以太网进程服务器

(无锡科技职业学院教务处,无锡市,214028)

(无锡开放大学后勤与装备保障部,无锡市,214021) 杜 俊

1 计算池系统功能概述

通信服务器通过串行通信卡接收测量信息,对信息进行预处理并封装成一定的格式信息。通信服务器在每个时统周期把格式信息以广播的方式传送给池中计算机中的各个计算节点及数据库服务器(存储后备方案预演),同时把按某种方式统计的原始数据信息发送至控制中心。控制中心驻留的负载平衡软件根据各个计算节点的资源使用、负载情况动态产生任务分配表并广播给各计算节点。各个计算节点的控制进程在接收到格式数据、任务分配表后,把它们写入共享内存备计算进程使用。计算进程读取任务分配表,确定由其处理的数据、处理方式、结果去向等。在计算节点中要对数据进行合理性检验、平滑滤波等解算处理。处理完数据后,各计算节点向负载平衡软件报告任务完成情况,并将解算结果送至数据库服务器。数据库服务器一方面把解算结果实时送至指挥显示终端区,作为指挥控制的决策信息,另一方面存储这些数据备事后重演。从通信服务器接收到测量数据到池内所有节点协同完成数据解算这一过程,属于计算池并行计算的范畴。整个计算池系统的工作如同一台高性能的大型计算机,数据从输入通道进入计算机系统,处理完成后结果从输出通道输出。计算池的优点是它将以更高效的方式为用户服务,并显著地提高系统的服务能力[1]。

2 硬件结构的组成

计算池系统的基本硬件组成:控制节点、数据库节点、若干个计算节点和通信节点,各节点机通过千兆光纤网络互连交换和传输数据。

在计算池系统中,池节点通过千兆以太网交换机互连构成。在估计指控计算池系统网络数据流量时,以64台测量设备考虑,每信息帧长度25B,每秒50帧全双工,那么原始信息量为:64×25×50×2=160KB/S。每一个数据处理周期原始信息量为160KB/50=3.2KB。估计中间计算结果交换、控制信息和网络管理信息的数据量为原始信息的100倍,计算池系统各单元间交换数据量不大于128MB/S,而计算池系统单元间的互联网络带宽是1GB/S,远高于128MB/S。同时,合理的计算单元任务分配能够明显地减少节点间数据、消息流量,因此千兆以太网计算池中机器互连能够满足实时数据传输的需求。当然,合理的网络拓扑结构、高性能网络交换设备和分系统间的路由/防火墙,无论是对提高网络效率还是保证系统安全都是有必要的。[2]

为避免池中单元硬件资源的消耗并易于管理,除控制节点外,池中各节点均为无头服务器。控制节点作为系统控制中心,负责完成整个计算池系统的控制,收集各个节点机的资源状况,按照负载均衡策略对实时任务进行动态分配,并监控计算池系统各个计算节点的任务负载。计算节点主要完成控制节点分配给本计算节点的实时任务,计算池计算机的并行处理。数据库节点汇集各个计算节点的实时任务处理结果,并进行后处理。通信节点负责完成外部多种实时任务的采集,进行预处理并转发给计算节点。整个计算池系统在智能时统终端提供的统一的毫秒级精密时统信号支配下工作(详见图1)。

图1 计算池系统基本硬件组成

3 软件体系结构的组成

一个实用的计算池系统应有一个高效的软件环境。计算池系统软件结构包括: 操作系统、通信协议、单一系统映像以及并行程序设计环境与工具等[3]。

3.1 软件平台的选择

3.1.1 操作系统的选择

计算池软件系统建立在网络操作系统之上,操作系统的性能将直接影响计算池软件系统的性能,Linux操作系统有许多特性适合于开发计算池环境。比如:

(1)Linux的进程调度方式简单而有效。对用户进程,Linux采用动态优先级的调度方式;对内核中的例程(如设备驱动程序、中断服务程序等)则采用软中断机制,这种能机制保证内核的高效运行。

(2)Linux支持内核线程。内核线程是在后台运行而又无须终端或登录shell和它结合在一起的进程。

(3)Linux的模块机制使内核保持独立而又易于扩充。模块机制使内核容易添加或卸载模块,而无须重新编译内核。

因此,除计算池通信服务器节点外,都采用了中软Linux作为平台。由于通信设备对系统的特殊要求,通信服务器采用SunSolaris8.0作为系统平台。

3.1.2 软件开发过程中用到的主要工具

(1)GCC.295开发包:用于开发各种守护进程,如节点控制、信息收集、计算等进程。

(2)QT图形开发包:用于开发各种图形界面的用户管理工具,如计算池系统监控界面、负载平衡显示界面等。

(3)Java2 SDK1.3:用于开发基于浏览器的数据显示工具。

(4)Solaris开发包:用于开发通信服务器中的数据采集程序。

(5)Oracles数据库:用作数据库服务器中的数据管理系统。

3.2 并行计算模型的建立

并行计算模型是对计算池计算在语义上的抽象描述。在计算池系统中,采用的是BSP(Bulk Synchronous Parallel Computing Model)模型(Bulk同步模型)。它是由Valiant(1990)提出的一种“块”同步并行计算模型,它是一种异步MIMD-MD模型,支持消息传递系统,块内异步并行,块间显式同步。与其他并行模型相比,BSP模型的特点在于能够适应多种并行计算结构,有明显的现实意义而获得的广泛的应用。BSP模型的参数有:p(处理器数);q(同步障时间);g(带宽因子)[4]。

BSP模型高度结构化的特征,使得BSP程序能够预测全局通信,这是其他模型大都不具备的。因为BSP模型全局地处理通信过程,统一地分布进程,从而能够通过通信进程间相互影响的关系,估计出总的通信时间开销。

在一个具体通信阶段中,每个处理器可以向其他处理器发送一组消息,也可以接收其他处理器发送来的消息。假设一个处理器发送或者接收的消息条数最多为h,这个消息构成的集合称之为h—关系。h—关系的发送时间可以用一个结构参数g来表示,直观而言,g反映网络连续传递消息的能力。具体的含义是,如果所有消息长度为一个字,那么h—关系发送时间为hg。为了便于不同硬件体系结构之间的比较,g的单位通常是处理器执行一条指令的时间。

BSP模型的第二个参数q表示路障同步的代价。在路障处,每个进程能够达到一个特定状态,并能够确定其他进程也达到这个状态。同参数g的单位定义一样,q的单位也是处理器指令执行时间。利用BSP模型这两个参数,可以用下面的方法计算出在特定结构上运行一个BSP程序的代价。单个超步的执行时间是程序完成本地计算时间、发送h—关系的时间以及最后路障同步时间三者之和,超步执行时间Tsuperstep可表达为:

Tsuperstep=Maxwi+Maxhig+q

其中wi是处理器i的计算时间。如果等式中的每一项都取最大值,则等式可简化为:

Tsuperstep=w+gh+q

BSP程序总的执行时间是每个超步执行时间之和。

在系统中,超级步在不同的节点中有不同的内容并且完成时间不能超过时统周期(两时统信号的间隔)。在每一超级步内,池中各节点都要完成本节点信息收集并向控制中心发出心跳信号。另外,控制节点要收集池中各节点资源使用和负载情况、统计数据通道信息、完成任务分配;通信服务器要接收测量数据、向控制中心注册数据通道信息并向计算中心广播原始数据;数据库服务器汇总各种数据并广播至指挥显示中心;计算中心要接收原始数据、任务分配表、完成计算任务、向控制中心汇报计算情况、向数据库服务器输出计算结果[5]。

4 软件系统组成

4.1 软件系统的主要模块

计算池系统除了要发挥一般计算池系统的并行计算能力外,还需要足够快的系统反应时间。因此,现有的事务处理和科学计算计算池控制软件就不能照搬过来。资源库计算池控制软件需要专门开发,应用软件也需要根据系统硬件环境来开发。该软件系统由一些相互紧密联系的功能模块组成,消息传递系统是各模块之间交流信息的手段;系统监控模块协调各模块之间有秩序地工作;数据处理模块的任务由负载平衡模块动态分配。计算池系统主要软件模块功能描述如下:

(1)消息传递系统:由网络消息和本地消息两部分组成。网络消息完成节点间控制信息、数据的交换;本地消息完成节点内不同进程间的通信。由于Socket相对于MPI/PVM具有更低级、更快速的优点,网络消息的实现采用了Berkeley Socket网际编程技术,这也是实时系统要求低延迟所必需的。Socket技术的协议基础是TCP/IP协议簇传输层的TCP和UDP协议。

(2)网络通信:驻留在每一个控制台和计算节点中。在池内部各计算节点之间、池和控制台之间,通过高速网络设备,传输控制信息、任务分配表、原始任务数据、中间处理结果、输出结算结果等信息和数据。对计算池系统来说,网络通信的反应时间(Latency)是一个很重要的技术指标。在某个数据处理进程工作过程中,有可能需要池中其他计算节点的中间计算结果,那么,网络通信软件根据任务分配表,查找出所需要的数据在哪个节点,然后向该节点发出请求。在计算池系统中,重发的网络数据可能已经过时,所以网络通信采用UDP传输方式,以保证数据的实时性。

(3)系统监控:驻留在每一个控制台和计算节点中。驻留在池计算节点中的系统监控软件,动态地收集本节点的硬件、操作系统、应用软件、网络通信等工作状态信息,通过网络通信程序报告给系统监控程序。驻留在控制台的系统监控程序收集所有池计算节点的硬件和软件工作状态信息,在显示给控制员的同时,将该信息提交给驻留在控制台的池负载平衡软件,作为负载平衡根据之一。

(4)负载平衡:对于关键应用场所的计算池系统而言,要发挥计算池系统特有的高可用性,保证关键场所的实时数据处理连续不间断地进行,加快计算池系统监控和负载迁移机制是必需的。当计算池系统中某个计算节点失效或过载时,池系统监控软件能够在规定时间内检测出池系统的异常节点,并将此消息传递给池负载平衡软件,负载平衡软件则在规定时间内将异常节点的数据处理任务移交给其他可用节点来完成。

(5)数据处理:数据处理软件是实现应用目标的核心。为便于管理,确保系统的实时性,数据处理软件采用单一映象,N倍地驻留于各个池计算单元。N取决于每个计算单元中处理器的数目。数据处理软件在获得原始数据后,立即读取由负载平衡软件建立和管理的任务分配表,来确定要处理的数据量、处理方式、结果去向等,处理完规定的数据之后,向负载平衡软件报告任务完成情况,负载平衡软件由此判断各计算单元应用程序的工作状态,并作出必要的任务迁移和调整。

4.1.2 软件布局

计算池作为高性能计算系统,必须提供“单一系统映像”功能。在应用中,计算池系统中各节点驻留相同的系统应用软件,具有“单一系统映像”功能。各节点先读取计算池系统配置文件,通过与本机静态IP地址相比较,判读出节点属性,然后转去执行不同的功能软件模块。计算池系统中,各个池节点均驻留有池控制进程、池节点信息收集进程和计算池系统配置文件,其余驻留软件就是每一个池节点主要功能的体现。各个池节点驻留有不同的软件模块。

(1)计算池节点控制进程,决定每一个池节点的行为及动作,控制进程在时统信号的驱动下工作,是实现计算池计算机单一系统映像的主要进程。

(2)计算池节点信息收集守护进程,在每一个时统周期内动态地收集本节点的工作状态信息,通过网络通信程序报告给控制节点的系统监控程序。

(3)计算池系统配置文件,决定每一个池节点的角色及行为。

(4)人机交互界面,运行在池控制节点上,显示池各节点的状态信息,并向其他节点发布控制命令,是计算池计算机单一系统映像的主要体现,屏蔽了其他池节点的存在。

(5)任务数据处理守护进程,运行于计算节点上,两个互为镜像的计算守护进程常驻内存, 主要完成计算池实时任务数据的并行计算。

(6)数据广播进程,运行于通信节点,负责发布原始计算数据给各个池节点。

(7)数据汇集/转发进程,运行于数据库节点,收集最终计算结果, 供Web服务器调用。

5 网络设计

5.1 网络传输协议

相对组成计算池硬件环境的工作站的性能而言,负责数据通信的互联网络的通信性能是决定计算池系统性能的关键因素。一般来说,一次通信时间延迟由发送方延迟、接收方延迟和物理链路传输时间三部分组成。在TCP/IP协议簇中,面向连接的TCP协议传输可靠,但在每次通信前须经3次握手建立连接,并且不支持广播和多点消息传送,系统开销大,不利于保证系统的实时性。用户数据包协议(UDP)是面向无连接的协议,支持广播和多点消息传送,在通信前不需要建立连接,系统开销小。UDP协议的可靠性能够在网络负载不重、无网络拥塞时得到保证,尤其是在局域网中,可靠性较高。在计算池系统中,数据和消息传递采用UDP规程,既能够减少由TCP规程应答包带来的网络链路开销,还能够减少计算单元处理过滤TCP规程信息包时额外的CPU开销。另外,系统采用任务分配表活动消息机制以减少通信延迟,在任务分配表活动消息中,包含数据处理信息,指定相关的输入输出资源和任务描述。

5.2 网络技术

5.2.1 千兆以太网

千兆以太网(1000Base-T)与以太网(10Base-T)和快速以太网(100Base-T)是完全兼容的,但速度是100Base-T的十倍,是10Base-T的一百倍。同时,它支持与当前的高宽带需求应用程序相协调的额外特性,而且与日益增强的服务器和台式计算机的功能相匹配。为了满足各种应用的需求,千兆以太网采用交换技术和RSVP协议资源预留协议并提供服务优先权。千兆以太网标准结合了802.3帧格式和光纤通道物理接口技术,这样,既保持了与以太网的兼容性,也利用了光纤通道物理接口的千兆位速度。在物理层,千兆以太网的连接器是SC光连接器,它既可用于单模光纤,也可用于多模光纤。

5.2.2 第三层交换技术

第三层交换技术也称为PI交换技术。它将第二层交换机和第三层路由器两者的优势结合成一个有机的整体,利用OSI第三层协议中的信息来加强第二层交换功能,第三层交换技术是新一代局域网的路由和交换技术。

6 计算池系统的特点

6.1 统可用性

计算池系统可在正常工作的情况下,处理失效计算单元的软件或硬件故障。配备反应时间短的Linux操作系统,在合理的池控制、负载分配软件的管理下,计算池能够在几个毫秒的时间内,完成故障节点的判断和任务迁移,具有集中结构的SMP计算机系统无法比拟的高可用性。

6.2 系统实用性

实时性基于任务分配表的动态负载平衡机制,极大地简化了计算池并行计算程序的开发和调试,有效地解决了任务分配、消息传递、任务迁移等关键技术的实时性。

6.3 单一系统映像功能

计算池各节点驻留相同的系统软件,通过本机静态IP地址判读节点属性,很好地解决了单一入口点、单一文件层次、单点管理和控制等技术难点,具有单一系统映像功能。

6.4 可扩展性

计算池的计算能力随节点增多而增加。因为是松耦合的结构,计算池能扩展至几百个节点,而对于SMP来说,要超过几十个结点就已非常困难。

猜你喜欢
以太网进程服务器
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
债券市场对外开放的进程与展望
通信控制服务器(CCS)维护终端的设计与实现
改革开放进程中的国际收支统计
中国服务器市场份额出炉
谈实时以太网EtherCAT技术在变电站自动化中的应用
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
一种90W高功率以太网供电系统的设计
浅谈EPON与工业以太网在贵遵高速公路中的应用