快速业务通道

实时Java,第5部分 - 编写和部署实时Java应用程序 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16

实时Java,第5部分 - 编写和部署实时Java应用程序

时间:2011-06-22 Caroline Gough

本系列 的前几篇文章讨论了 IBM WebSphere Real Time 如何解决了不确定性问题,从而获得极低的 timescale 值(延迟值)。这种功能将 Java 平台的范围和收益扩展到原本仅适用于特定的实时(RT)编程语言(如 Ada)的领域之中。RT 硬件和操作系统往往是定制的,难以理解。与之不同,WebSphere Real Time 运行在兼容 IBM BladeCenter® LS20(请参见 参考资料)和类似硬件的 Linux® RT 版本之上。它支持典型 RT 应用程序的需求:

低延迟:确保在有限时间内响应信号。

确定性:不存在垃圾收集(GC)的无限暂停。

可预测性:线程优先级监管执行的次数,执行时间一致。

无优先级反转:高优先级的线程不会因中优先级线程正在运行,而被持有其所需锁的低优先级线程阻塞。

对物理存储器的访问:诸如设备驱动程序之类的 RT 应用程序总是需要追溯根源。

这篇文章展示了如何使用 WebSphere Real Time 提供的工具编写和部署 RT Java 应用程序。文中引用了本系列之前的文章,以展示如何使程序以更高级别的 RT 确定性执行。(这可能很有帮助,但阅读之前的文章并非必需。)您将看到如何使用一种 RT GC 策略(如 Metronome)在 WebSphere Real Time 附带的 Lunar Lander 示例应用程序中改进可预测性。您还会学习如何预编译(AOT)您的应用程序,以便改进一个 RT 环境中的确定性。最后,您将使用不受垃圾收集器控制的存储器设计和实现一个 RT 应用程序,发现使您的 RT Java 应用程序发挥最大效能的提示与技巧。

如果您希望运行本文介绍的某些程序 —— 当然,最好是编写您自己的 RT Java 应用程序 —— 那么您就需要访问一个安装了 WebSphere Real Time 的系统(关于获得此技术的更多信息,请参见 参考资料)。

Metronome 垃圾收集器的优势

Metronome 是 WebSphere Real Time 的垃圾收集器。您可以通过启动 WebSphere Real Time 附带的示例应用程序来观察其优势。安装 WebSphere Real Time 后,可以在安装目录 /sdk/demo/realtime/sample_application.zip 处找到这个示例应用程序。

示例应用程序模拟了无人值守的 Lunar Lander 登月舱的控制技术。为实现安全着陆,登月舱的火箭推进器必须正确部署:

降低下降速率的垂直推进器。

对准着陆地点的水平推进器。

为了计算出 Lander 登月舱的位置,Controller 利用为雷达脉冲获取的时间返回这个位置。图 1 展示了这一模拟:

图 1. Lunar Lander

实时Java,第5部分 - 编写和部署实时Java应用程序 - 编程入门网

实时Java,第5部分 - 编写和部署实时Java应用程序(2)

时间:2011-06-22 Caroline Gough

如果在所返回的信号中出现任何延迟(例如,因 GC 暂停引起的延迟),计算出的登月舱位置就是错误的。所返回的雷达脉冲时间较长就意味着更远的距离,Controller 随后将根据不正确的估计位置作出调整。显然,这会给登月舱或任何 RT 系统造成灾难性的后果。

显示标准 Java 不适合运行 RT 应用程序的方法之一就是:度量 Controller 能够多么准确地保持登月舱位于正确的轨道上,以及着陆的成功情况如何。图 2 中的图表显示了对使用标准 Java VM 的 Controller 的模拟。红线显示了登月舱的实际位置,蓝线显示了雷达度量的位置。

图 2. 使用标准 Java VM 的 Controller 的模拟

实时Java,第5部分 - 编写和部署实时Java应用程序 - 编程入门网

尽管这次飞行以成功着陆结束,图 2 中的图表还是显示出一些陡峭的峰值(蓝线)。这些峰值对应于 GC 暂停。在有些时候,GC 暂停会使位置度量中产生极其严重的错误,从而因着陆速度过高(垂直位置错误)或着陆地点丢失(水平位置错误)导致事故。这种不确定的运行时行为阐明了 RT 应用程序一直未应用标准 Java 平台的主要原因之一。

Java 实时规范(RTSJ)为

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号