关键词:
ReWorks嵌入式实时操作系统
内核测试
负载测试
优化评估
摘要:
随着软件开发技术的不断进步,测试验证方法和手段也需要不断完善,常见的负载压力测试已被广泛应用于服务器、Web应用、各类信息系统、网络系统等领域。但是专门针对嵌入式实时操作系统的相应负载压力测试研究还不够广泛和深入。中电32所自主研发的ReWorks嵌入式实时操作系统已被广泛应用于轨道交通、信息系统和工业机器等多种行业中,并被国防军事领域的多型装备所采用,是装备国产化的典型代表。,没有考虑到该操作系统在实际使用过程中可能面临的各种负载和压力,因此不能准确反映出该操作系统应用中的真实性能和实际工况下的执行能力。正是基于上述原因陆军某型装甲装备的核心处理机系统在使用中出现了内存溢出、系统死机等故障。据了解,目前暂无成熟开发的嵌入式实时操作系统负载测试工具,本文采用手工测试的方式设定负载,开展ReWorks内核测试研究。我们根据ReWorks实际运行过程中可能面临各种负载环境,设计了CPU负载、I/O负载、内存负载和网络负载四种负载模型和实现算法,并对负载测试环境构建和负载参数设定进行分析和研究,构建了单一负载和混合负载两种测试环境,提出各负载模型的负载率设定方法。所提四种负载模型因采用随机数构成线程保证了负载随机性达到90%以上,填补了ReWorks负载测试模型的空白。随后分别开展了基于单一负载条件下ReWorks任务、内存、中断和时钟定时器等管理的基本功能测试,测试结果表明:引入负载对内核功能测试影响并不大,但是功能实现会存在一定延迟。为了能够定量的分析引入负载产生的影响,文中选取任务切换、任务抢占、中断响应、中断恢复四个与系统实时性关联较大的内核性能指标,提出了一系列测试方法,在多种单一负载条件下进行了测试。从测试结果可得:引入负载后,系统的性能指标均有所下降,不同负载对系统性能指标的影响也有一定差异,其中以网络负载影响最为剧烈,分析原因为网络负载下中断较多,大量的中断会使系统的运行受到强烈干扰。据我们所知在ReWorks性能测试中引入单一负载的测试方法尚属首次,该方法为定量分析不同负载对系统的性能影响提供依据,并为发掘系统的缺陷或弱项提供针对性手段。在单一负载测试的基础上,为了使负载测试更贴近实际,能够充分反映系统在实际工作中同时面临多种负载作用的真实表现,文中进一步提出了一个适用于ReWorks的混合负载测试基准和相应的混合负载测试方法,并在该基准下对系统的功能和性能再一次进行测试和对比分析,所测试四项性能指标平均结果与无负载条件下测试结果相差19.46%。所提混合负载测试方法与其它方法相比,测试环境更加贴近系统运行的真实环境,测试结果较为真实地反映了系统的性能,为系统的评估、选择以及进一步优化改进等均提供了较好的依据。最后,对基于负载条件下的性能评估和优化进行了讨论,设计了一种引入负载并剔除硬件影响的评估方案。所提方案与其它方案相比,不仅引入了负载使测试结果更贴近于实际,又避免了引入负载带来的硬件性能下降影响,能够更加精确地评估系统的性能,有效改善了现有评估系统对嵌入式实时操作系统内核性能评估失真的问题。