RT - OSGi中的准入控制与相关分析
1. 准入控制概述
为了给组件提供CPU资源预留,需要对当前部署组件中的线程执行计算时间预算,并控制CPU负载(从要安装/更新的组件数量方面)。OSGi框架为组件开发者提供了生命周期操作,允许在运行时安装、更新、卸载、启动和停止组件。这些生命周期操作有两种来源:组件代码调用的组件派生生命周期操作和用户通过OSGi框架交互界面调用的用户派生生命周期操作。
安装和更新操作可能会增加CPU负载,因为它们允许部署更多线程,且生命周期操作可随时发生,这可能导致CPU因重复使用安装/更新操作而过载。为了让组件有资源预留并执行成本控制,引入了准入控制机制。准入控制通过接受测试过滤部署请求,只有通过测试的实体才能部署。对OSGi的安装和更新操作应用准入控制后,如果这些操作会使系统不可调度,操作将失败。组件派生和用户派生的生命周期操作都需要准入控制,但两者的准入控制协议不同。
2. 组件派生生命周期操作
2.1 安装期间的准入控制
安装时的准入控制需要了解组件的资源需求以及系统是否有足够资源满足这些需求。具体通过以下三个方面实现:
- 服务器参数选择 :组件的服务器(PGP)需分配计算时间(C)、周期(T)和截止时间(D)等参数,确保组件线程有足够CPU时间完成任务。但参数不能过于悲观,否则可能导致组件因可调度性问题无法通过准入控制,减少可部署组件数量。服务器参数选择算法可分为离线和在线算法。离线算法生成的参数悲观程度低,但执行时间长;在线算法执行时间短,但生成的参数更悲观,会过度分配CPU。组件开发者可离线生成参数并包含在组件清单文件中,也可在安装/更新操作的
超级会员免费看
订阅专栏 解锁全文
28

被折叠的 条评论
为什么被折叠?



