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