推演指令突发快速响应策略研究
2015-11-01张大永唐宇波柳少军齐大伟
张大永 唐宇波 柳少军 齐大伟
1.国防大学信息作战与指挥训练教研部,北京100091
计算机兵棋的广泛实践,为指挥训练、装备研发、方案推演等带来巨大变革.然而,受限模型的计算处理能力,计算机兵棋在使用过程中,经常会因推演指令的过度突发,产生推演指令阻塞,降低兵棋系统的执行效率,影响受训人员的沉浸感.
处理推演指令,通常是根据先来先服务的原则,随机抢先式的使用模型资源,如同数据通信“贪婪”地使用网络带宽资源,推演指令“贪婪”地使用兵棋系统的模型计算资源,就可能带来各方间下达的推演指令使用模型资源的不公平.因此,需要将符合规定的指令流与“贪婪”指令流区别开来,保证符合规定推演方的指令能够正常得到响应.
本文针对这类“贪婪”指令流与符合规定指令流的模型响应,提出了一种基于突发反馈的推演指令快速响应策略,并做了仿真测验.
1 兵棋推演应用服务特性分析
以一次中小规模的兵棋对抗推演为例,包含可操作实体数量多达2-3万,座席200以上,步长设置为1:20以下,网络带宽100Mb/s.主要分析兵棋推演两个重要应用服务报告与指令特性.
1.1 推演报告特性分析
在兵棋对抗推演过程中,通过格式化文本形式为受训者提供战况报告,主要包括指令执行、任务反馈、情报侦察、冲突事件、作战效果、后装保障等情况报告,以及各阶段定期情况汇总报告等内容,是指挥员了解战场情况、掌握敌我动向的重要的工具.
报告在大小上差别很大,大的报告可达20∼30Mb,小的报告不足 1kb,绝大多数是10∼30kb的中小报告,报告下发方式有两种:广播和单播.在极端情况下,广播一个大报告对I/O的需求就可能达4∼6Gb,甚至10Gb以上,处理这类极端的一个大报文就可能需要百秒级时间,将会带来大量短报文滞留、长时间等待、甚至丢失,有些是参演人员急需处理的短报文,严重影响对抗推演的真实感,不可忍受.因此,需要对这类报告业务进行分类,根据各业务要求,进行过滤筛选等调度.
1.2 推演指令特性分析
在兵棋对抗推演过程中,受训人员将作战决心、处置转换为作战指令并输入系统,从而实现对作战行动的推演.受训者通过下达推演指令,调整作战计划,实现对战场的管理与控制.兵棋推演指令的基本要求是“稳定、易用、适用”.“稳定”指尽量少错误和漏洞;“易用”指快捷性,也就是人机交互的友好性;“适用”就是满足不同作战任务参演部队的需求.
图1反应了一次中小规模的兵棋对抗推演中,红方作战集团3个不同时段的指令突发数量时序关系,模拟步长为1:3,指令下达为随机并发抢先.其主要特征可以归纳为如下3点:
1)突发随机,个别时段拥挤.从图1中3个图可以看出,3个对抗推演时段的突发比较随机,个别时段拥挤.
2)忙时短,闲时长.假设每5min(天文时间)的一方的指令数量大于200条为忙时,那么忙时的时间比较少,以此次红方作战集团3个时间段下达指令为例,其总天文时间505min,其中每5min大于200条的时间约25分钟,约占总时间的4.9%.
3)高并发访问.在这种中小规模的兵棋对抗推演中,指令并发访问规模在数百以上.一般在对抗推演刚开始阶段,会迎来一次指令下达突发的高峰期,主要是因为各方为了抢占战场先机,提前预置的很多指令,随着演习的开始各方突然下达,这对后台对模型都带来巨大挑战.如果再赶上快推,模拟步长加大,由1:3变成1:10、1:20,甚至更大,对模型的考验会成倍加大,甚至带来模型“死机”现象,表现为前台下不了指令,需要等上很长时间,才能回复正常的对抗推演,极大影响参演人员沉侵真实感.
可见,这类高并发、随机突发、忙时短、闲时长业务,在大型兵棋对抗推演过程中比较常见.通常的解决办法,在中小规模的情况下,增加服务器的规模数量,使服务器能满足最忙时节的需求,简单说就是满足最大需求.这样解决的优点是简单,缺点是浪费严重.因为,在全军大规模应用时,浪费过于严重、不可接受.本文在分析兵棋仿真推演特点的基础上,借鉴通信系统的有关技术提出一种基于指令突发反馈的快速响应策略.
2 问题描述
通过上一节兵棋推演应用服务特性的分析,我们知道推演指令作为兵棋重要的人机交互媒介,是改变模型状态,调整部队部署、达成作战企图等作战目的的重要手段.某种程度上说,推演指令的响应是提高参演人员训练效率和增强参演人员沉浸感的重要条件.但是,推演指令的下达使用,往往具有高并发、随机突发等特性,因此,采取合理措施,快速高效地响应推演指令将十分有利于提高兵棋推演多模型系统的处理效率.
图1 红方作战集团下达指令
2.1 推演中现实存在问题的描述
在分析以往历次多方兵棋推演指令时,我们发现各方推演指令的下达往往是随机突发的.如图2所示,在一次包含A、B、C三方的兵棋推演中,在不同的时间段(t1,t2)、(t2,ti)、(ti,tn)中三方推演指令的下达差距相当大,特别是在(t2,ti)时间段内B方下达很多条推演指令,假如达到模型系统的处理极限,而A、C方下达的推演指令相对较少.采取何种策略处理这些情况,对于提高模型的处理效率具有十分重要意义.
策略1:所有推演指令基于FIFO思想,随机抢先先到先服务.这种策略简单,工程上也易于实现,在推演规模相对有限和模型运算系统性能很高的情况下十分方便.但是,事实上模型的运算性能是有限的,且模型运算性能提高周期相对较长,而实际的演习需求又是规模越来越大,颗粒度越来越细,这样在图3中(t2,ti)时间段内B方发出的推演指令突发性比较大,FIFO思想下,模型系统将忙于运行B方发送的指令,而这时A、C方发送的指令数量实际上不是很大,只是因为B方突发性的指令而影响A、C方不能及时下达指令,严重影响参演A、C方的沉浸感,实际上这种情况也是和作战不相符的.
图2 兵棋推演指令突发响应时序示意图
策略2:在继承策略一FIFO思想的基础上稍作改进.将进入推演系统的指令做简单预先的分类,比如分成A、B、C方推演指令,在三方下达推演指令的突发性比较小的情况下,还是按照FIFO的方式去处理,这时基本不影响模型的处理效率和参演部队的沉浸感,改进的地方是遇有突发的情况,比如在(t2,ti)时间段时,B方突发很多指令,模型系统忙于应付,此时可以考虑轮训策略,按照预先的分类轮训处理A、B、C三方的指令,这种情况下仅仅只是对B方的推演指令下达有一定的影响,而对A、C方参演人员来说表现就比较正常,这也和实际的作战演习情况比较相符,因为实际作战过程中一方命令不加协同的下达时会带来很多问题.
由此可见,兵棋推演中影响参演人员沉浸感和模型有效响应效率的主要原因,就是对推演中各方下达的推演指令不加区分,随机抢先FIFO,当然,这在演习规模和演习颗粒度有限的情况下,突发的规模比较小时,效率比较高.但是在推演规模扩大和颗粒度要求较高时,突发的规模很大时,就需要采取相应的策略提高模型的效率.
2.2 推演指令快速响应的评价指标
推演指令快速响应问题是一类典型的“自适应控制”优化问题,其核心思想就是保证稀缺资源(兵器计算模型等资源)得到高效利用,并及时对运行中出现的问题,作出合理有序响应.其主要评价指标包括:
1)突发度:表示特定时间段内的峰值速率和平均速率之比,即:
2)突发持续时间:举个简单例子,兵棋推演中一方推演指令的峰值速率和平均速率分别为600/min、300/min,当一方推演指令是在1min内发送600条指令与在1s内发送60条指令可能具有相同的平均速率,所以,就需要在峰值速率平均速率之外,再附加突发持续时间.
3)指令延迟∆t:一条指令从下达,到模型计算中心响应等待的时间,主要包括两个部分,∆t0表示前台客户端指令下达到模型计算中心的路径传输时间,我们称之为固定延时,∆t00表示到达模型计算中心队列排队到响应的时间,我们称之为变动延时.这里我们主要研究∆t00可变延时.
4)平均指令延迟∆
5)延迟散布δ:
6)最大延迟∆tmax:表示一次兵棋推演指令下达最长延时.
2.3 推演指令响应性能综合判断函数
综合评价函数:
此函数用来评价参加兵棋推演的单方的综合性能,主要包括两个部分一个是平均指令延迟,一个是延迟散布.综合函数的值越大说明这一方的推演指令综合性能越高.各方的综合评价函数的大小差距表示不同方推演指令对于模型服务资源占用的公平性.
3 推演指令快速响应算法
快速高效响应推演指令,将十分有益于提高指挥员兵棋推演时的沉浸感,提高兵棋推演的训练效果.但是,我们知道在兵棋推演过程中,各方下达的推演指令都会“贪婪”地使用模型系统资源,这样在推演指令过度突发时就有可能产生一方前台“死等”现象.自适应过载反馈突发流控制,其核心思想是能够把模型系统资源比较公平地分给出现争抢的各方推演指令,也就是将产生突发与没有突发的各方指令区别开,保证模型计算资源得到高效合理利用.本文提出的突发权重推演指令公平调度算法,在遇有过度突发时,能兼顾各方的公平性,有效保证未突发方推演指令的有效响应.
3.1 推演指令响应的基本策略
推演指令流响应的基本策略如图3所示.
图3 推演指令流监管控制示意图
步骤1.在Ti周期,监管拍照测得第i方指令流速率为Li.
步骤2.IF(Li≤α1),转到Step4,进行FIFO随机抢先调度.
步骤3.IF(α2≥Li≥α1),根据随机函数rand()的值,如果大于0.5则进入步骤5.如果小于等于0.5则进入步骤4.
步骤4.IF(Li≥α2),直接进入步骤5.
步骤5.根据FIFO进行随机抢先调度,转入Ti+1周期.
步骤6.进行突发权重公平调度.转入Ti+1周期.
3.2 监管拍照策略
形象地说,突发拍照监管有点类似于现实社会上的交通警察,对推演指令突发的时刻流进行拍照检测,当其突发速率小于允许向模型推送的最大速率时,保障推演指令及时得到服务响应;当其突发速率大于允许向模型推送的最大速率时,为避免这一方突发指令过度“贪婪”使用系统的模型计算资源,将采取必要的措施避免突发方过度贪婪使用模型计算资源,从而保证其他方能公平得到模型的资源响应.如图4所示.
3.3 推演指令过度突发判断策略
一方推演指令流过度突发判断策略如图5所示.在图的右边指令缓存队列区域设置两个阈限.算法采用低通平均指令进行算法控制,算法结合现有多列长度Q以及低通平均指令数量现值进行一系列早期检测.如果低通平均指令数量小于阈限1的值,则不启动公平算法,如果大于阈限2则自动启动公平算法,如果大于阈限1小于阈限2,则根据概率随机启动公平算法.
图4 推演指令流监管拍照缓存调度
其中p是最大启动概率,α1、α2分别是阈限1、阈限2.
3.4 突发权重推演指令公平调度算法
突发权重推演指令公平调度算法,其核心思想就是尽量避免一方过度突发推演指令“贪婪”使用稀缺模型资源,从而保证未突发方能与突发方在资源竞争时避免长期处于不利地位,而较为公平的得到模型资源的响应.以一场A、B、C三方兵棋推演训练为例,当产生过度突发时,启动突发权重公平算法如下:
步骤1.KA=0;KB=0;KC=0;/*各方响应指令数.其中,KAKB,KC∈0、1、2、3、4、5*/
图5 指令流突发过载早期检测算法
步骤2.判断LA∗rand()、LB∗rand()、LC∗rand()的大小,得到它们大小关系
有LI∗rand()≥LJ∗rand()≥LK∗rand().
步骤3.如果KI<5,则响应该I方的指令,相应的KI+1,转到步骤2;否则令KI=0.
步骤4.如果KJ<5,则响应J方指令,相应的KJ+1,转到步骤2;否则KJ=0.
步骤5.如果KK<5,则响应K方指令,相应的KK+1,转到步骤2;否则KK=0,转到步骤3.
此算法能有效避免过度突发指令的“贪婪”行为,照顾各方对稀缺模型资源的响应.
4 仿真测验
4.1 仿真实验环境与平台构建
笔者以Visual Studio2010为开发平台,使用C#编程语言,开发了一种模拟多方推演指令快速响应分配平台.如图6所示,对多方推演指令响应进行仿真测试.
图6 多方推演指令响应分配平台
4.2 仿真实验设置
为了分析多方推演指令突发反馈快速响应策略的优越性,我们拿传统FIFC先来先服务调度策略与突发反馈策略进行比较.主要比较两种调度策略在遇到不同方突发时对指令的响应情况,包括平均延迟、延迟散布、最长延迟等评价指标分析两种策略的特性.
支撑多方推演指令响应分配平台的计算机硬件环境如下所示:
处理器:Intel(R)Core(TM)i7-3370 CPU 3.40FHz
内存:3.46GB
操作系统:Windows7 32位操作系统
对于多方推演指令响应的仿真测验,主要模拟三方下达推演指令的响应问题.为保障实验的广泛性在不同突发度情况下,分别进行实验,每组分别做10次实验,采集FIFC先来先服务策略与突发反馈快速响应策略的有关数据,包括平均延迟、延迟散布、最长延迟,并计算相应的综合评价函数值,比较两种策略的优劣.
其中,各方推演指令下达与模型计算中心的服务情况设置如下:
01 方指令下达与相应情况如下:
someordercome_1 = 100 - new Random().Next(10);
02 方指令下达与相应情况如下:
someordercome_2 = 300 - new Random().Next(10);
03 方指令下达与相应情况如下:
someordercome_3 = 500 - new Random().Next(10);
每条指令的服务所需时间如下所示:
Cost_time=30-new Random().Next(10);
4.3 仿真实验分析
4.3.1 吞吐量分析
如图7可以看出基于突发反馈快速公平调度较使用FIFC调度策略,在三方总体指令的执行上,吞吐量有较明显的提高,公平调度策略较FIFC调度策略提升23%左右.
图7 吞吐量分析
4.3.2 丢失率分析
从图8可以看出本文所提基于突发反馈的公平调度策略在丢失率方面均优于FIFC策略.
4.3.3 延迟分析
从图9可以看出10次不同实验本文所提基于突发反馈的快速调度策略与传统FIFC调度策略最大延迟相差不大,本文所提策略略好于传统策略.
5 结论
本文围绕如何控制大型兵棋推演指令,在过度突发情况下对模型等稀缺资源的“贪婪”使用问题.在分析以往推演指令基础上,引入监管拍照、过度突发判断以及权重公平等策略,提出一种基于分类的过度突发反馈推演指令快速响应策略,使得推演指令在快速响应的基础上,兼顾各方推演指令的公平性.并基于Visual Studio2010为开发平台,开发了多方推演指令响应分配平台.进行了仿真实验,结果表明所提基于过度突发反馈的调度策略在吞吐量、丢失率、响应时间上均优于传统调度策略.
图8 丢失率分析
图9 最大延迟分析