网络化测试系统中并行数据处理架构的思考论文_周峰

(身份证号:2310041986****2418,江苏 徐州 221000)

摘要:网络化测试系统在武器装备测试、核爆炸试验、航空航天测试等领域有着广泛的应用。实时性是网络化测试系统面临的主要问题之一。除了采用高性能测试仪器和高速通信网络外,测试数据的处理是影响系统实时性的关键。

关键词:网络化测试系统;并行计算;轻便批处理系统;控制组;消息传递接口

1并行计算模式和平台构建分析

文献指出了在一个分布式系统上构建计算平台的要解决的一般问题:

(1)管理系统中多种硬件资源;(2)定义用户可以发现、请求和使用资源;(3)实现在资源上并行计算的执行。目前,尚未查找到基于嵌入式仪器进行并行计算平台的构建方案。

本文将根据网络化测试系统简洁、高效、实时的应用需求,结合现有并行技术、集群技术及隔离技术的技术支持,设计适宜在网络化测试系统的平台构建方案。文献提出了一种基于MPI(messagepassinginterface)的云计算模型,该模型替换了Hadoop中的MapReduce编程模型,实现了在MPI计算平台上的云计算。文献提出了利用MPI构建云计算的非虚拟化平台,利用MPI对异构环境的支持,直接在异构环境上构建MPI集群,避免了虚拟化的性能损耗,并进一步在对MapReduce的替换、多级容错机制等方面进行了研究。

文献实现了在Docker容器上部署MPI集群用于高性能计算。MPI是一个高性能的消息传递模型,在注重时效性的并行计算中有着广泛应用。但以上都是以云计算为应用环境展开的,在网络化测试应用环境中存在着不适宜。对于硬件设备的处理主要由2种处理方式———非虚拟化技术和虚拟化技术。非虚拟化技术应用以网格计算为代表,直接对物理资源进行管理,按照批处理方式对资源进行调度。虚拟化技术以云计算为代表,对底层硬件使用虚拟化技术构成虚拟资源,在虚拟资源上以数据为驱动进行调度。网络化测试系统中的计算平台构建应强调高效实时。智能仪器相对于PC来说资源有限,虚拟化技术的性能开销较大,影响节点计算性能和通信性能。

2适用于网络化测试系统的计算资源模型

在分析了网络化测试系统体系结构的基础上,本文提出了一种双层资源模型,用来解决网络化测试系统中的资源问题。双层资源模型如图1所示。在系统的层面上,主控计算机管理系统中所有仪器节点及其附带的资源属性。服务中心是系统的核心,作为全局的用户的唯一接口,可以对系统进行查询、配置,提交计算任务、进行任务状态监测。调度中心根据计算任务提出的资源属性需求,按照可插拔式的调度策略配置,以物理仪器节点作为基本单位,从系统中选出可以满足计算需求的节点集合,给出任务运行的节点建议。

在仪器节点上,将计算所需的资源(CPU、内存等)以一定的形式联合起来,构成资源容器,计算进程仅可使用容器内的全部资源,从而避免了不同进程间的资源抢占。

2.1顶层资源管理

本文采用TORQUE资源管理器实现位于顶层的面向用户的作业管理和系统资源管理分配。TORQUE是基于PBS(portablebatchsystem)工程的高级开源产品,包含了目前最好的社区版和专业版。它具有良好的可扩展性、稳定性和功能性,因此在全世界的政府、科研、商业领域有着广泛应用。由于TORQUE可以免费被使用、修改、发布,为后续进一步研究开发提供可能,本文采用TORQUE社区版作为资源管理器。通过在网络化测试系统中布置TORQUE,可以达到以下目的:①以节点为基本资源单位,将节点具有的资源和特性进行定义或统计。②根据资源或特性需求,为作业找到合适节点运行。③使作业按照创建、提交、执行、结束的工作流运行,通过命令对作业进行监控或控制。PBS有4个主要部件:命令、作业服务器、作业执行器以及作业调度器。网络化测试系统是多机系统,其中主控计算机性能较强且更为稳定,所以主控计算机中布置服务进程(Server)和执行进程(MOM),负责上述用户服务器的基本功能和部分计算任务。

2.2仪器资源隔离

Cgroups(control groups)是Linux内核的一个功能,用来限制、统计和分离一个进程组的资源(CPU、内存、磁盘输入输出等),从而实现Linux操作系统环境下的物理分割。在Cgroups中,任务就是系统中的一个进程,控制族群是按照某种标准划分的进程,资源控制都是以控制族群为单位实现的。一个加入控制族群的进程可以使用到为控制族群分配的资源,同时受到以控制族群为单位的限制。一个子系统就是一个资源控制器,Cgroups为每种可以控制的资源定义了一个子系统,比如cpu子系统就是控制CPU时间分配的一个控制器。子系统必须附加到一个层级上才能起作用,层级就是一棵控制族群树,通过在Cgroups文件系统中创建、移除、重命名等操作构建的。

本文主要涉及到计算资源的控制,所以我们只关注系统的CPU资源和内存资源的控制,涉及到Cgroups子系统有cpuset,cpu和memory。将运行进程的进程号分别写入相应子系统下的task文件,即完成了一个硬件容器的划分并将进程限制在该容器内运行。cpuset子系统为cgroup中的任务分配独立CPU(在多核系统)和内存节点。通过cpuset.cpus和cpuset.mems可分别选择使用的CPU节点和内存节点。cpu子系统使用调度程序提供对CPU的cgroup任务访问。比如,通过cpu子系统下的cpu.cfs_quota_us调整至cpu.cfs_period_us数值的比例限定了单位时间内使用CPU时间。memory子系统设定cgroup中任务使用的内存限制,并自动生成由那些任务使用的内存资源报告。通过memory.limit_in_bytes限制内存使用量。

参考文献

[1]戚斌.网络化数据库数据采集系统设计与实现[J].计算机与现代化,2017(5):71-75.

[2]付冠军,滕霖,王强.基于SPC的网络化检测数据处理系统开发与应用[J].现代制造工程,2007(5):102-104.

[3]彭国金,刘嫚婷.非结构化海量网络数据处理技术研究[J].现代电子技术,2011,34(14):121-123.

论文作者:周峰

论文发表刊物:《信息技术时代》2018年11期

论文发表时间:2019/8/15

标签:;  ;  ;  ;  ;  ;  ;  ;  

网络化测试系统中并行数据处理架构的思考论文_周峰
下载Doc文档

猜你喜欢