实时计算的意义远不止按下Enter键后得到看似立即的响应。事实上,它的真正含义是与真实的机器进行交互,在它们自己的实时中做真实的事情。
以……为例格里森600HTL涡轮研磨机,其控制器由角度系统纽约州罗彻斯特市基本上,这圈斜齿轮(也就是说,它们之间通过研磨抛光磨料悬浮液)直到他们网如此完美的咕噜声而不是哗啦声——一个属性重要的汽车制造商在汽车中使用斜齿轮差异,约翰·坎贝尔解释说,副总统的观点。
抛光后的两个齿轮以直角相互啮合,以每分钟3100转的速度旋转,每秒钟通过同一接触点约52次。但是Viewpoint能够将实时计算系统整合到控制器中国家仪器(NI),它可以分析齿轮的响应大约比它快20倍,或每秒约1000倍。
坎贝尔解释说:“通过观察旋转速度的变化,我们能够检测到齿轮的高低点,并驱动一个二级电机来调整扭矩,在高点更用力地推动,在低点后退。”因此,它可以在识别出问题点的同时纠正问题点,而纺丝齿轮仍在该点啮合。
坎贝尔补充说:“最终,我们能够将研磨时间提高30%,”因为机器能够准确地知道何时抛光一个齿轮,而不是依赖平均值。
实时的,实时的
但是,尽管结果是积极的,每秒1000次的频率在这个千兆赫处理器的时代几乎不值得注意。然而,事实证明,实时计算与速度无关。
“当人们谈论实时计算时,有一些常见的误解,尤其是认为在微秒或纳秒内做出反应就能使系统实时,而花五分钟就意味着它不是实时的,”Prashant Dubal说风河系统的子公司英特尔也是VxWorks实时操作系统.“但实时意味着系统每次做某件事所花的时间是相同的。持续时间并不重要。”
Dubal解释说:“如果系统的最高优先级是闪烁红色LED,它总是遵守这个优先级,无论发生什么,当灯需要闪烁时,它会把所有事情放在一边,并且动作迅速。”
“传统上,实时是从人类耐心的角度来衡量的,如果你按下一个按钮,并在一秒钟内获得信息,那就是实时的,”David Barnett同意实时创新加州森尼维尔的一家系统集成商。“但实时系统的行为是确定性的,对输入或环境变化做出可预测的响应。通常这些是用于管理物理进程的网络物理系统。
“观察者经常混淆实时计算和高速计算,比如金融交易或体育博彩,”Barnett补充道。“高速计算和实时计算的区别在于,高速计算指的是平均速度——你可以说平均一次操作需要一毫秒。但千载难逢的机会需要更长的时间。有了实时计算,你就有信心在截止日期内完成操作,或者你知道它没有发生。”
确定性响应不是偶然的,需要一个实时操作系统(RTOS),市场上有几十个这样的系统——尽管和许多成熟的行业一样,有三个领导者。
“风河与VxWorks是整体的领导者,”Barnett说,“然后还有青山软件与完整性,在航空航天和国防领域很流行;和QNX从QNX软件系统旗下黑莓在汽车和医疗行业很受欢迎。”风河也有Linux的实时版本.
“必须融入决定论;你不会在台式机上看到它,”QNX产品管理总监格兰特•库维尔(Grant Courville)表示。“你必须关注每一个CPU周期和每微秒。它的设计必须保持一致性。”
而NI能够制作一个实时版本的Linux(倪Linux实时)NI的嵌入式系统产品营销总监杰米•史密斯(Jamie Smith)指出,在美国,所涉及的努力并非微不足道。“我们在内核层面进行了评估,深入研究并进行了广泛的修改和测试。这个团队相当大。但这将实时计算交给了非嵌入式软件工程师。”
当然,系统在不同时刻执行相同任务所需的时间会有所不同,这种公差称为抖动。
Dubal说:“它决定了实时操作系统的好坏,但它也非常依赖硬件。”“我们的通常是两位数纳秒。”
Barnett说,在现代处理器中,抖动通常以微秒为单位,这对于大多数应用来说已经足够好了。
对于Java这样的通用编程环境,Jitter不值得讨论,因为它们是围绕典型情况进行优化的,Barnett补充道。如果内存不足,需要做垃圾收集来释放内存,它会停止这样做,并阻塞所有其他处理。在实时计算中,你会在每个周期中为类似的事情投入一点额外的工作,以避免以后更长的延迟。”
“像(标准)Linux这样的东西的抖动是几百毫秒,”Dubal补充说。(NI产品文献说NI Linux Real-Time的抖动与其他NI Real-Time环境相当。)
物联网
但消息人士一致认为,最大的趋势是(就像计算机行业的其他行业一样),当系统变得越来越强大时,价格正在下降。就实时系统而言,这意味着在物联网开始需要它们的时候,价格低廉、功能强大的控制器即将问世,这些控制器为机器之间的交互进行了优化。