VxWorks系统下网络性能的建模和分析
2016-11-09安景新赵昶宇
安景新 赵昶宇
摘 要:为了提高VxWorks系统下网络传输的可靠性与实时性,用排队论对数据帧排队延时及丢包建立基于通信损失代价的数学模型,推导出最佳消息缓存队列长度,给出了提高网络传输的可靠性、缓解网络拥塞、优化网络传输性能的思路和方法。仿真结果表明,通过优化缓存队列的长度,减少了排队延时,提高了通讯性能,具有一定的工程应用价值。
关键词:VxWorks系统;网络建模;缓存队列;排队论
中图分类号:TP391 文献标识码:A DOI:10.15913/j.cnki.kjycx.2016.19.118
为了确保VxWorks系统下以太网传输满足实时性和可靠性要求,如何对VxWorks系统网络传输性能进行检测成了最重要的问题。本文根据以太网缓存队列数学模型,利用排队论对实时以太网进行了准确的性能预测、分析评估和优化。
1 以太网缓存队列数学模型建立及优化
以太网在VxWorks系统传输过程中的延时包括介质的传输延时和以太网消息在缓存队列时的排队延时。消息数据帧在缓存队列中等待被发送时,如果在一次传输周期时间内未能及时发送出去,则需等待下一次传输周期到来时才能发送,这样会产生较大的排队延时。因此,如何减少排队延时是提高通信性能的关键。
通过对VxWorks链路层发送数据过程进行分析,建立与之对应的数学模型。如果上位机中数据帧的发送任务相互独立且发送次数没有限制,则由排队论可知发送数据帧的过程服从泊松分布。
设单位时间内进入缓存队列的平均数据帧个数(即数据帧的平均到达速率)为λ,则到达时间间隔服从参数为λ的负指数分布:
设以太网在单位时间内传输数据帧的平均个数(即以太网的平均传输速率)为μ(μ>λ),则传输强度为:
设数据帧排队长度为L,当L过大时,以太网处于繁忙期,可能使得缓存队尾的部分数据帧在一次传输周期内不能及时传输而被丢弃,需要等到下一次传输周期的到来,导致排队延时较长,影响了系统性能;当L过小时,以太网处于闲置期,其通讯利用率很低。如何找到合适的缓存队列长度,保证在VxWorks系统中,缓存队列中的所有数据帧都能成功发送,同时以太网的利用率最高是本文研究的核心问题。为方便问题研究,本文做出如下假设。
设在VxWorks系统中最佳缓存队列长度为L0,当数据帧排队长度L>L0时,不能及时发送而被丢弃的每个数据帧的损失代价为c1,当数据帧排队长度L 大多数情况下,数据帧在发送缓存队列中未能及时传输而被丢弃造成的损失对VxWorks系统性能的影响较大,即损失代价c1较大。而由于以太网闲置造成的损失对VxWorks系统性能的影响较小,即损失代价c2较小,所以满足c1≥c2. 2 需要注意的问题 为保证VxWorks系统网络传输的可靠性,缓解网络拥塞,提高网络传输性能,在实际应用中需要重点关注以下几点问题。:①合理设计网络拓扑结构,这是提高网络性能的关键。针对不同的节点采用不同的拓扑结构。对于某些重要节点,应设计成网状拓扑结构,增加冗余度。②在VxWorks系统中,通讯双方都应有信息发送缓冲队列和信息接收缓冲队列。对于发送方来说,可不必考虑接收方死时间,信息产生后立即将其填入信息发送队列,并且在填入过程中仍然响应其它信息的产生,相当于在操作层面实现了零通信死时间。使用缓冲队列实现了 信息的流水线处理,降低了信息通信双方时间上的关联性,带来了操作人员层面的系统零死时间。同时,提高了CPU的利用率和软件的效率。③通过增加资源能力来避免拥塞。比如,增加网络带宽,将传输分配在多个路由器进行,也可使用备份路由器来增加网络带宽等。④在VxWorks系统中,通讯双方建立超时和确认重传机制,但超时太短将造成不必要的重传,既浪费主机的处理时间,又浪费网络资源。超时太长,又将导致数据的低吞吐量和短响应时间。理想化的超时值应正好等于一个数据包穿过网络到达目的地,接收方对它进行处理,然后发回的确认包又回到发送方的时间。合适的超时时间是实施超时重传的关键。⑤为加强网络拥塞控制,通讯双方各建立两个socket端口,一个作为数据通道专门用来传递数据信息,另一个用作监控通道,传递应答信号,监测网络的连通性,并监控通道负责管理和维护数据通道。在每个循环周期内,采样节点都会向服务器发起一次连接,服务器端收到采样节点的连接请求后,与其建立连接,然后向其发送命令信号。采样节点收到信号指令后,向服务器发送应答信号,服务器如果能在规定的时间内收到应答信号,则判定网络通畅,否则认为网络中断。如果某时刻网络出现断线,那么重新建立连接后,服务器会向采样节点发送重新连接指令,采样节点收到重新连接指令后,会关闭原有的数据传输socket,重新和服务器建立数据传输通道。上述做法使系统能够快速发现网络故障并作出响应,待网络故障排除后系统仍可正常运行。 3 结束语 本文对实时以太网在VxWorks系统数据链路层协议栈中发送数据帧的过程中建立数学模型,得出数据帧排队延时及丢包是影响VxWorks系统通信性能的主要因素。结合排队论推导出通讯损失代价最小的最佳消息缓存队列长度,从而对VxWorks系统缓冲队列的长度进行了优化,并给出了实现网络数据可靠传输的一些思路和建议,在一定程度上对改善在VxWorks系统中以太网的通讯性能具有指导意义。 参考文献 [1]王刚,岳韶华,李延磊,等.网络化作战指挥控制系统软件体系结构研究[J].现代防御技术,2013(2). [2]邱爱华,张涛,顾逸东.航天器可应用实时以太网分析[J].空间科学学报,2015(3). [3]缪学勤.基于国际标准的十一种工业实时以太网体系结构研究(上)[J].仪器仪表标准化与计量,2009(3). [4]陆传来.排队论[M].北京:北京邮电大学出版社,2000. 〔编辑:王霞〕