LAMOST观测控制系统的网络稳定性分析*

2011-01-25 01:25邬科飞罗阿理
天文研究与技术 2011年1期
关键词:包率延时数据包

邬科飞,罗阿理

(1.中国科学院光学天文重点实验室 (国家天文台),北京 100012;2.中国科学院研究生院,北京 100049)

天文望远镜越来越复杂且部件越来越多,设计一套可靠灵活和可扩展的计算机控制系统是各个庞大望远镜系统都面临的任务。我国自主创新设计的LAMOST望远镜就是这样一个复杂的系统,各个硬件部件在物理上是松耦合的,它们之间需要通过软件连接起来组成一个结构。而且不同部件的控制方式不同,对于跟踪天体相关的部件需要1 ms的实时控制,气象数据采集这样的任务采样频率则达到几分钟。

通过分析硬件、数据流和控制流,LAMOST设计了分布式的网络控制系统。它具有简单、快捷、连线少、可靠性高、灵活、实时、易实现资源共享以及易于扩展和维护等特点。计算机、智能终端、传感器和执行器散落在不同的空间,它们之间的信息处理需要通过网络通讯来实现,这就是典型的网络控制系统。这个建立在网络基础上的控制系统能够全自动地完成观测运行和实时数据处理的任务[1],其结构如图1。整个控制系统包括观测控制(OCS)、巡天战略(SSS)、望远镜控制(TCS)、气象与环境、天测支持、数据处理(DHS)、CCD、光纤定位、光谱仪等部分。各个系统以OCS为中心通过网络互相连接,实现资源共享,分布式控制。

LAMOST控制系统分为硬件系统和软件系统。观测控制(OCS)软件系统负责整个望远镜的观测运行和数据流管理[1]。它位于所有子系统的最上层,是望远镜和使用者之间的门户。它可以根据天文学家给出的观测流程制定出具体的观测步骤,指挥和调度TCS、光纤定位、光谱仪、CCD和DHS系统协调一致地进行观测。OCS还将实时检测和分析望远镜各部分的运行状态,处理已发生的或可能发生的非正常情况,以保证观测的正常。OCS的存在既实现了天文学家对整个观测的逻辑控制,又避免了实际望远镜控制操作时容易出现的错误,提高观测的准确性和安全性。

观测控制系统(OCS)的硬件就是连接各个子系统的多层次的局域网,在1.1节中将进行详细的描述。网络控制系统由于网络的介入,不可避免地带来随机性的系统传输延迟、信息丢失以及并发时的网络拥堵等降低网络性能和引起系统不稳定的问题。通过对CCD子系统控制网络的研究验证了网络模拟在此网络系统中的可行性,进而对整个LAMOST控制网络进行测试模拟,来分析观测控制系统的稳定性。

图1 LAMOST系统结构Fig.1 System architecture of the LAMOST

图2 LAMOST控制系统的网络结构Fig.2 Network topology of the LAMOST control system

1 LAMOST观测控制系统的网络结构

1.1 网络硬件结构

LAMOST望远镜的控制楼间用AMP室外4芯光纤连接,分别从MA楼的OCS主控室连到MB楼控制室和焦面楼的光纤定位室。在主干道采用了光纤作为传输媒介提高了数据流量和速度,这样不仅保证了在较远距离的传输中有较大的带宽,而且避免了在传输过程中受电磁波和射频噪声的影响。在楼层间采用五类双绞线布线,由于五类双绞线的直流阻抗为9 Ω/百米,而布线要求总阻抗不能大于19 Ω。所以100 m以内双绞线的直流阻抗引起的信号总体功率下降,一般不会影响接收设备对信号的获得,不必考虑直流阻抗的影响。楼层间的布线利用了大楼建筑的现有伸缩缝和其他孔道完成,没有另外增加管道的复杂性。楼内的垂直线缆布置在建筑的伸缩缝中,水平线缆采用桥架、配管或明线的方式完成。为保证控制网络的可靠性,所有的网络线缆都有备用线。

LAMOST网络的拓扑采用局部星型结构(如图2)。这也是现今许多大型数据处理网络所采用的拓扑结构。星型网络结构简单,便于管理、维护和调试。网络延迟时间较短,便于大型数据的处理。和普通星型结构不同的是,LAMOST网络的主控室直接与部分子系统相连,如OCS和导星控制室是通过光纤控制室的交换机相连,这样的布线与子系统的物理位置和望远镜建筑的结构有关,同时也减轻了星型网络拓扑结构中央节点的负荷量。网络中心主控室的主机配有双网卡,一块网卡和外网通信,另一块网卡连入LAMOST望远镜控制内网,进行控制操作[2]。主控室的双网卡一方面使通过互联网远程控制成为可能,另一方面也确保了子系统只能与控制系统内的主机进行通信,提高网络的效率和安全性。

1.2 观测控制系统的总线、接口和通信协议

LAMOST子系统控制软件所运行的操作系统平台有LINUX、QNX、WINDOWS,各个系统之间需要传输FITS光谱信息文件、观测计划文件以及XML格式的执行命令和运行状态。多样性的数据传输使得系统通信设计变得复杂化。

LAMOST控制系统的消息总线通道建立在网络以及应用层的协议基础上,应用层协议是通过运输层的TCP和UDP协议来实现。OCS和各个控制系统之间定义了命令的接受/拒绝协议和命令执行反馈协议[3]。这两个协议定义了各个子系统和OCS之间命令和状态的格式以及处理方式。命令和状态实现了OCS和子系统的接口。每个命令和状态都有一个唯一的标识符。OCS通过命令接口操作硬件,通过状态接口接收子系统的运行状态。当某个系统功能发生改动时,只需要替换其中相应的功能组件,对后续模块保留并使用相同的接口,而无须推翻软件的整个系统框架。这种设计模型避免了传统的集总式系统在软件可维护性上的不足,符合LAMOST的长期工作周期的需要。

网络的不稳定性也影响到控制系统的稳定性,影响网络稳定性的主要因素是网络的时延和丢包。LAMOST控制系统在设计时也充分考虑了这些因素,因此在硬件和软件的设计上都做出相应的弥补措施。硬件上采用分布式结构,各功能块自成一体,减少网络的传输压力。特殊功能块用专线进行传输(如CCD数据),增大传输带宽来减小时延及丢包率。在软件设计方面也做了相应补救,如在应用层增加重传、超时等可靠性设计[4]。

LAMOST望远镜的传输层用到TCP和UDP协议。TCP是可靠数据传输协议,保证传输数据比特不会受到损坏(由0变为1,或者相反)或丢失,而且所有数据都是按照其发送顺序进行传送的。UDP是无连接不可靠传输协议,发送方和接受方的运输层实体之间在发送报文之前没有进行握手,在传输过程中也不维护连接状态 (连接状态包括接受和发送缓存、拥塞控制参数、序号与确认号的参数),不关心所发送的报文是否被接受。采用UDP传输时,应用进程将数据传递给UDP,UDP就会将此数据打包成UDP报文段并立即将其传递给网络层,不管链路的状况。相比TCP拥有一个拥塞控制机制,当主机之间的一条或多条链路变得非常拥塞时,就会遏制传输层的发送方。之后,TCP仍将重新继续发送报文段直到目的主机收到此报文段并将以确认,不管可靠交付需要多长时间。控制系统的CCD曝光部分对同步性要求很高,命令和数据的传输延迟过长会直接影响观测的精确性,TCP服务类型不适合这一应用的需求,所以CCD控制子系统内采用的是UDP传输。对于UDP的不可靠问题,可采用在应用程序自身中建立可靠机制(增加确认和重传机制)来实现。

实际网络中传输层的很多属性对应用层是屏蔽的,在实际网络中研究传输层的UDP和TCP协议对网络稳定性的影响因素有一定的难度。而NS2模拟的网络平台提供了研究所需要的条件,能突破协议层之间的屏蔽,使对网络的分析变得清晰明了。NS2模拟分析的结果为实际应用层的设计提供理论依据。

2 CCD控制子系统的网络模拟

根据实际LAMOST网络拓扑结构(图2)对其进行模拟,进而分析望远镜网络控制系统的性能。模拟过程中所用的软件是NS2(Network Simulator—Version2),它是一种开放源代码的网络模拟软件,也是目前网络研究领域应用最广泛的网络模拟软件之一。NS2支持Windows、Linux、Unix、Mac以及其他支持POSIX标准的操作系统[5-6]。对LAMOST网络的模拟是在Linux系统下进行。

利用NS2模拟LAMOST网络控制系统分为两步:第1步,根据实际望远镜网络结构编写Tcl代码,配置相应的网络构件属性;第2步,对模拟过程中产生的数据进行分析。

LAMOST网络在传输层用到UDP和TCP协议,CCD控制子系统中MASTER对上与OCS通信用TCP协议进行,对下与CCD控制器通信用UDP协议,在控制过程中涉及这两个协议,其他系统都是在TCP协议下完成的(如TCS和OCS之间的通讯接口采用的是基于TCP/IP的SOCKET接口[2])。所以以研究CCD控制子系统入手来研究整个网络的丢包、延迟等网络问题具有代表性。另外,OCS对CCD进行控制时产生的网络负载是整个控制网络的主要压力,这也是选择CCD控制子系统为代表来进行研究的原因之一。

2.1 NS2模拟TCP协议下的CCD子系统的网络控制

模拟过程:编写Tcl代码,设置TCP协议下,一台主机(对应MASTER)对另外32台主机发送命令,统计丢包和延时。

模拟结果分析:对NS2生成的trace文件进行分析。表1是TCPtrace文件的部分,第6项表示包的大小,用户设置的TCP包为1000 B,模拟时自动加上了20 B的TCP首部和20 B的IP首部,所以是1040 B。

从trace文件中可以看到有第1列标志为“d”的行,这表示在该时刻该节点的该包被丢弃。根据TCP的快速重传/恢复机制,模拟中会对TCP丢弃的包进行重发。测试结果得出,重发后的丢包率为0%。

表1 Trace文件Table 1 Trace file

同时TCP的快速重传/恢复机制使那些重传包的延迟大大增加。图3是模拟TCP协议下连续发送1 KB的包10000个,每个包的延时情况。分析结果得出,没有重传的包的平均延时是4 ms左右,重传后的包的平均延时为20 ms,最大可达667 ms。如图4,包越大时延越长,2 MB大小的包传输延时达到1 s。CCD控制要求MASTER对32台主机的控制是同步的,而TCP的延时使这一同步性大大降低,所以实际的CCD子系统在MASTER和CCD控制器之间,采用UDP协议进行通讯,该协议下的模拟在下一节详述。OCS对CCD子系统的控制是通过MASTER进行的,不存在同步的问题,所以OCS和MASTER的通信采用TCP协议以确保数据的可靠传输,减少系统复杂性。

图3 TCP协议下包的延迟Fig.3 Packet delay under the TCP protocol

图4 TCP包大小和延迟的关系Fig.4 The relation between packet size and delay time under the TCP protocol

2.2 NS2模拟UDP协议下的CCD子系统网络控制

模拟过程:在UDP协议下,MASTER对32台主机发送控制命令统计丢包率和延时。

模拟结果分析:UDP协议下发送包的平均延时在2 ms左右,最大延时不超过3 ms,符合CCD子系统控制对同步性的要求。这也和实际的CCD子系统的控制情况相符。

UDP是无连接传输(即无需在传输数据之前建立连接,无需在传输过程中维护连接状态),不能提供可靠的数据传输服务,信息在传送过程中很容易丢失。用NS2模拟UDP协议下的丢包情况,分析模拟结果得出:影响UDP丢包的主要因素是UDP包的大小、发包的间隔和带宽。应用层设置传输包的大小直接影响UDP的丢包率。如果应用层没有可靠性的设计保证,大数据的UDP传输几乎是不能用的(图5)。网络带宽越小越容易产生丢包,图6是不同的发包间隔下,网络丢包率与带宽之间的关系。即使是带宽为100 MB的网络,当发包间隔小于一定程度(<2.3 ms即rate=3.5 MB)也会产生丢包。丢包率会随着时间间隔的减小而增大。

图5 UDP包大小和丢包的关系Fig.5 The relation between loss rate and packet size under the UDP protocol

图6 带宽与UDP丢包的关系Fig.6 The relation between loss rate and bandwidth under the UDP protocol

2.3 CCD子系统网络控制实测

用LINUX的socket接口在LAMOST网络中的CCD子系统中设置服务器端和客户端,记录下发送包的时刻和接受包的时刻,计算延时和丢包。在实际观测中,MASTER向CCD发送命令,命令长度约为几KB到几千KB,所以实际试验设计如下:

在TCP协议下,对数据包大小在0.5~2000 K的范围内进行测试,列出延迟数据。

在UDP协议下,对数据包大小为0.5~2000 K的范围内进行测试,列出丢包数据。

测试结果及分析:

TCP协议下实测丢包率为0%,再次说明了TCP传输是可靠的数据传输。实测结果(图7)验证了NS2模拟的结果(图4)所得出的关于延时的结论:TCP传输的延时和所发送数据包的大小成线性关系。在CCD控制系统中所发的最大数据包可达2 MB,如果用TCP传输延迟则接近1 s,这直接影响了观测控制的准确性,所以实际控制子系统中传输大数据包时用的是UDP传输。UDP广播保证了同步性(延时仅有几毫秒)的同时也带来了丢包率的问题,NS2的模拟部分详细说明了影响UDP丢包的因素,实测结果(图8)进一步验证了UDP丢包率之大。针对UDP网路丢包的问题,CCD控制子系统为MASTER和CCD的应用层增加了可靠性设计来实现命令和状态的可靠传输[5]。实际网络测试可得到,添加可靠传输算法的CCD控制子系统大大降低了丢包率(丢包率为0%)可以满足观测控制的要求。

图7 实测TCP包大小和延时的关系Fig.7 Measured relation between delay time and packet size under the TCP protocol

图8 实测UDP包大小和丢包的关系Fig.8 Measured relation between loss rate and packet size under the UDP protocol

3 LAMOST控制系统模拟

LAMOST观测流程如图9。观测前,SSS根据科学目标制定出当晚的观测计划,再将观测计划提交给OCS。SSS是离线系统,这一过程与网络无关。OCS发送命令让TCS自检,TCS自检完成后,OCS通过TCS打开圆顶、焦面门和镜罩等,再通知其它子系统自检。观测时,OCS先将观测计划发送给光纤,然后通知光纤定位。定位完成后,OCS通过TCS将焦面移西,机架移动到共焦位置,再控制主动光学进行共焦。完成后,通知机架跟踪,再将焦面移回,最后控制焦面跟踪。焦面跟踪上目标星之后,OCS通知主动光学矫正和维持。接着,导星工作。根据导星CCD的成像质量,设定狭缝状态和CCD曝光参数后,控制CCD曝光。曝光完成后,OCS将观测时收集到的望远镜运行参数发送给DHS,DHS将这些数据写进曝光的FITS图像头文件中。观测人员根据天气以及FITS图像的质量决定下一个观测目标,选择相应的观测计划。观测结束后,OCS通知各个子系统停止运行,最后关闭圆顶、焦面门和镜罩。

在对LAMOST运行流程研究的基础上,设计了NS的模拟过程:根据图2所示的LAMOST控制系统的网络结构拓扑图设计网络节点;在规定的时间内让OCS分别给相应的子系统发送命令数据包,模拟OCS给各个子系统发命令的过程;各子系统在相应时间段给OCS发状态数据包,模拟各子系统给OCS反馈状态信息的过程。图10是模拟过程中显示的实时动画界面。图11是在对整个网络进行模拟过程中各个子系统发包状况和包的延时之间的关系。包的疏密分布也表示了控制过程中数据流量的变化和流量的分布状况。

图9 LAMOST望远镜的观测流程Fig.9 Operational procedure of LAMOST observation

图10 模拟动画演示Fig.10 Simulation animation of NAM

图11 实际模拟得出发包状况和包的延迟之间的关系Fig.11 Relation between delay and packet rate according to simulations

测试结果:丢包率为0%。99.6%的包延时在0.06 s内,延迟比较大的0.4%的包的最大延时为2 s,大多在0.3 s左右。当网络流量比较大时,相应的延时会增大。

0.06 s的延时时间符合LAMOST观测控制系统的实时性要求,即使在网络负载大的情况下传输包在网络中的延时(2 s<<20 s)也不会影响到观测的正常进行。

4 结论

本文利用NS2模拟了LAMSOT控制子系统的网络通信,实测结果验证了模拟的可行性。子系统模拟结果表明在现有的网络带宽下,影响数据可靠传输的因素是所发送的数据包大小和发送间隔。基于TCP协议的数据传输不会有丢包现象,但会有较大的延迟,包越大延迟越长。基于UDP协议的传输,当数据包大于几KB时,就会产生丢包。实际子系统网络的测试和NS模拟相符,进而说明模拟的可靠性。对整个LAMOST控制网络进行的模拟,从而证实了控制网络的可行性和稳定性。证明LAMOST控制网络能够安全地传输观测控制系统的命令和状态信息。

此模拟方法可以用于分析LAMSOT观测过程中的数据传输的稳定性,为观测的顺利进行提供了保障,并为诊断网络故障提供了方法。

[1]赵永恒.LAMOST观测控制系统[J].天体物理学报,2000,20(增刊):89-95.Zhao Yongheng.The Observation Control System of LAMOST[J].Acta Astrophysica Sinica,2000,20(Supp):89-95.

[2]徐灵哲.LAMOST总控系统消息总线研究[J].天文研究与技术——国家天文台台刊,2008,5(3):264-269.XU Lingzhe.The Research of Message Bus Structure in LAMOST Control System[J].Astronomical Research & Technology——Publications of National Astronomical Observatories of China,2008,5(3):264-269.

[3]姚仰光.LAMOST观测控制系统的建立与测试[D].中国科技大学博士学位论文[D],2008,30-32.

[4]董健,王坚,邓小超,等.基于UDP协议的CCD数据可靠传输的研究和实现[J].核电子学与探测技术,2009,29(2):369-372,473.Dong Jian,Wang Jian,Deng Xiaochao,et al.Research and Implementation of CCD Data Reliable Transmission Based on UDP[J].Nuclear Electronics & Detection Technology,2009,29(2):369-372,473.

[5]方路平,刘世华,陈盼.NS-2网络模拟基础与应用[M].北京:国防工业出版社,2008:43-81.

[6]王辉.NS2网络模拟器的原理和应用[M].西安:西北工业大学出版社,2008:42-72.

猜你喜欢
包率延时数据包
支持向量机的船舶网络丢包率预测数学模型
二维隐蔽时间信道构建的研究*
一种基于喷泉码的异构网络发包算法*
电磁线叠包率控制工艺研究
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
基于级联步进延时的顺序等效采样方法及实现
日光灯断电关闭及自动延时开关设计
SmartSniff
TCN 协议分析装置丢包率研究
Two-dimensional Eulerian-Lagrangian Modeling of Shocks on an Electronic Package Embedded in a Projectile with Ultra-high Acceleration