论文部分内容阅读
随着实时CORBA(Common Object Request Broker Archi tecture,通用对象请求代理体系结构)技术的日趋完善及应用的需求,越来越多的分布式实时系统建立于其之上。在分布式实时系统中,一个特定的功能,往往分割成由多个任务组成的任务链,这个任务链的每个任务在相应的节点上顺序执行,从而形成一条任务通道。任务通道带有优先级。一条紧急任务通道是指在系统运行过程中,可通过动态提高优先级从而紧急执行的任务通道。本论文研究目的是在现有实时CORBA系统ORTBUS的基础上,实现一个能适应紧急通道应用需求的实时CORBA系统,对这些任务通道进行合理调度,保证紧急任务通道的优先执行。在大量的军事应用中都有对紧急通道处理的需求。
面向紧急通道任务调度的主要问题是如何保障紧急通道的优先执行,避免任务通道优先级倒置。实时CORBA规范中的调度模型是在每个节点上进行相对独立的调度,当应用行为涉及到多个节点时,可以从客户端ORB获得该行为的端到端属性,并通过客户端传递模式传递到服务端的ORB。该节点调度服务根据任务的属性对任务进行调度,与在此节点上的其它任务竞争。但是这种自组织的任务通道组织方式,会因为系统状态的切换,造成任务通道全局状态的“不一致”性,而引起任务通道优先级倒置问题,导致紧急通道的不可控性,无法满足紧急通道的应用需求。
本论文主要工作和贡献包括:(1)分析了紧急通道的应用需求和任务调度,找出导致优先级倒置的原因;(2)针对上述需求,提出了面向紧急通道的实时任务调度算法。算法考虑到任务通道的状态切换,有效解决了优先级倒置问题;(3)分析了实时CORBA的体系结构和实现模型,根据面向紧急通道的任务调度的要求,提出了对ORTBUS的改进目标和需求;(4)设计并实现了调度模块、连接管理模块和线程池管理模块,并对系统进行了功能和性能测试。功能测试表明,系统满足各项应用需求。性能测试表明,任务通道状态切换和任务数量对紧急任务的响应时间影响都比较小,有效控制了优先级倒置问题。保证了紧急通道的优先执行,提高了紧急通道的可控性,满足应用需求。