實(shí)時計算:通往物聯(lián)網(wǎng)的網(wǎng)關(guān)?
下一個大的計算機(jī)趨勢可能涉及精準(zhǔn)度而不是速度
實(shí)時計算并不只是指在按下回車鍵后得到立即響應(yīng),事實(shí)上,它的真正含義是在實(shí)時與做實(shí)際事情的真實(shí)的機(jī)器進(jìn)行交互。
例如Gleason 600HTL Turbo Lapper型錐齒輪研齒機(jī),其控制器由Viewpoint Systems公司設(shè)計。Viewpoint公司副總裁John Campbell表示,基本上,它會磨合斜齒輪直到它們完全契合,對于使用斜齒輪的汽車制造商而言,這是非常重要的屬性。
兩個齒輪被打磨相互成直角,同時以3100rpm的相同速度旋轉(zhuǎn),每秒傳遞約52次相同的接觸點(diǎn)。Viewpoint在這個控制器中添加了National Instruments(NI)公司的實(shí)時計算系統(tǒng),它可以齒輪的響應(yīng),約快20倍,或者說約每秒1000次。
Campbell表示:“通過觀察旋轉(zhuǎn)速度的變化,我們能夠檢測齒輪中的高和低點(diǎn),并啟動第二組電機(jī)來調(diào)整扭矩。”這樣它可以在發(fā)現(xiàn)問題點(diǎn)時糾正問題點(diǎn),同時旋轉(zhuǎn)齒輪仍然在這個位置契合。他補(bǔ)充說:“最終我們能夠提高30%的研磨時間,因為機(jī)器準(zhǔn)確知道何時將完成齒輪拋光,而不是依靠平均水平。”
實(shí)時 vs. 真正的快速
雖然這些結(jié)果很好,但每秒千次的頻率在這個千兆赫處理器時代似乎不值得一提。但事實(shí)證明,實(shí)時計算不是關(guān)于速度。
“當(dāng)人們在談?wù)搶?shí)時計算時,存在一些共同的誤解,他們認(rèn)為在微妙或納秒水平做出反應(yīng)才可稱為實(shí)時系統(tǒng),五分鐘不是實(shí)時,”英特爾子公司同時也是VxWorks實(shí)時操作系統(tǒng)制造商Wind River Systesm公司產(chǎn)品管理高級主管Prashant Dubal表示,“”但實(shí)時意味著系統(tǒng)在做某件事情時每次都是使用相同的事件,間隔時間不計算在內(nèi)。
Dubal解釋說:“如果系統(tǒng)的最高優(yōu)先工作是閃爍紅色LED,那么無論發(fā)生什么其他事情,這將總是它的優(yōu)先事項,當(dāng)燈需要閃爍時,它會拋開一切做到這一點(diǎn),并且非常快速進(jìn)行。”
“傳統(tǒng)上來看,實(shí)時是從人的耐心角度來衡量,當(dāng)你按下按鈕時,在一秒內(nèi)獲得信息,這就是實(shí)時,”系統(tǒng)集成商Real-Time Innovations公司副總裁David Barnett表示同意,“但實(shí)時系統(tǒng)是以確定性工作的系統(tǒng),它會對輸入或環(huán)境變化做出可預(yù)見的響應(yīng)。通常來說,這些都是網(wǎng)絡(luò)物理系統(tǒng),曾通過物理過程來管理。”
“觀察家經(jīng)常混淆實(shí)時計算與高速計算,例如金融交易和體育博彩,”Barnett補(bǔ)充說,“高速計算和實(shí)時計算之間的區(qū)別是,對于高速計算你談?wù)摰氖瞧骄鶖?shù),你可以說,平均來說,一個操作需要一毫秒。而對于實(shí)時計算,你會很確定操作會在限期內(nèi)進(jìn)行,或者你知道這并沒有發(fā)生。”
確定性響應(yīng)不是偶然,而需要實(shí)時操作系統(tǒng)(RTOS),在市場上有幾十個這種產(chǎn)品,其中有三家領(lǐng)導(dǎo)供應(yīng)商。
“Wind River是主要的領(lǐng)導(dǎo)者,其產(chǎn)品為VxWorks,”Barnett稱(+本站微信networkworldweixin),“然后是Green Hills Software公司,其Integrity主要在航空航天和國防領(lǐng)域受歡迎;還有QNX Software Sysmtes公司的QNX,主要在汽車和醫(yī)療保健領(lǐng)域受歡迎。”Wind River還有實(shí)時版的Linux。
“確定性很重要;你不會在臺式機(jī)中看到確定性,”QNX公司產(chǎn)品管理主管Grant Courville表示,“你需要關(guān)注每個CPU周期和每個微妙,需要確保一致性。”
雖然NI能夠制造實(shí)時版的Linux(NI Linux Real-Time),其中需要大量的工作,該公司嵌入式系統(tǒng)產(chǎn)品營銷主管Jamie Smith表示,“我們在內(nèi)核級別做了評估,并進(jìn)行了廣泛的修改和測試,這個團(tuán)隊非常大,但這可以將實(shí)時計算推廣到非嵌入式軟件工程師的手中。”
當(dāng)然,在不同的時候,讓系統(tǒng)執(zhí)行相同任務(wù)的時間會存在細(xì)微差異,這種差異被稱為抖動。
“這可以確定RTOS有多好,但這也是非常依靠硬件,”Dubal表示,“我們通常為兩位數(shù)納秒。”
Barnett稱,對于現(xiàn)代處理器,抖動通常以微妙計算,這對于大多數(shù)應(yīng)用已經(jīng)足夠好了。
對于通用變成環(huán)境(例如Java),抖動不值得一提,因為它們都是專門優(yōu)化用于典型的用例。Barnett稱:“如果內(nèi)存不足,需要清理垃圾來釋放內(nèi)存,它會停止這樣做,并阻止所有其他處理。在實(shí)時計算中,你不需要額外的工作,以避免以后再拖延。”
標(biāo)準(zhǔn)Linux的抖動約為幾百毫秒。
物聯(lián)網(wǎng)
但總體趨勢是,價格在下跌,而系統(tǒng)正變得更加強(qiáng)大。在實(shí)時系統(tǒng)中,這意味著我們將看到價格低廉且功能強(qiáng)大的控制器,讓機(jī)器更好地與其他機(jī)器交互。