实时Java规范1.1版对多处理器的支持
1. 引言
多处理器平台(多核或多芯片系统)正变得越来越普遍,它们在各种实时和嵌入式系统中的作用也在不断增加。特别是对称多处理器(SMP)系统,现在通常是大型实时系统的默认平台,而非单处理器系统。
自实时规范(RTSJ)诞生以来,它在多处理器问题上一直保持沉默。它允许供应商支持多处理器实现,但没有提供如何在这一领域解释该规范的指导方针,也没有提供帮助开发人员配置系统的编程抽象。最新版本的RTSJ认识到这种立场已不再可行。然而,多处理器,尤其是多核架构,正以惊人的速度发展,操作系统标准(特别是POSIX标准套件)尚未跟上。因此,很难确定该规范应提供的支持水平。这还需要考虑RTSJ的指导原则,包括:
- 可预测执行是所有权衡中的首要任务。
- 一次编写,随处运行,但不能以牺牲可预测性为代价(后来重新表述为“谨慎编写一次,有条件地随处运行”)。
- 关注当前实践,但允许未来的实现包含增强功能。
- 允许实现决策的多样性。
2. 动机和约束
虽然许多应用程序不需要对可调度对象到处理器的映射进行更多控制,但在某些情况下,这种控制很重要。这里主要关注对称多处理器(SMP)系统,即具有统一访问时间的共享主内存的相同多处理器。非统一内存架构的影响以及异构处理器架构或具有不同性能特征的同质处理器架构系统,将留给未来版本的规范来处理。
2.1 动机:获得性能提升
从单处理器迁移到多处理器实现平台的主要动机是提高性能。将一个CPU专用于特定的可调度对象将确保该对象的最大执行速度。将可调度对象限制在单个CPU上运行,还可以避免因可调度对象在不同CPU上切换
超级会员免费看
订阅专栏 解锁全文
44

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



