物聯(lián)網(wǎng)時代如何定義軟件新平臺
“在一個數(shù)字化轉(zhuǎn)型的大背景下,物聯(lián)網(wǎng)設(shè)備功能會越來越豐富,這些功能里絕大部分都需要通過軟件來實現(xiàn)的,如今的問題和挑戰(zhàn)就在于,如何將若干個軟件共享在一個平臺上”。這就話是張宇在英特爾一年一度的人工智能與物聯(lián)網(wǎng)生態(tài)合作伙伴峰會上,英特爾中國區(qū)物聯(lián)網(wǎng)事業(yè)部首席工程師及首席技術(shù)官張宇博士,介紹了英特爾在AI與物聯(lián)網(wǎng)領(lǐng)域所進行的多應(yīng)用融合與實踐,圍繞英特爾的單一平臺實現(xiàn)若干應(yīng)用的集成化,這也是英特爾在應(yīng)對AIoT時代所做的最大努力。
“對于物聯(lián)網(wǎng)平臺來說,通用處理器的開放平臺已經(jīng)能夠成為物聯(lián)網(wǎng)設(shè)備主流架構(gòu),再加上虛擬化軟件的成熟,我們就可以把若干不同應(yīng)用來共享一個硬件平臺,同時給應(yīng)用提供獨立性,來保證質(zhì)量。”
張宇表示,摩爾定律的推動下,計算性能的提升是驚人的,比如1994年的超算性能是每秒1300次,如今最新一期榜單超算的計算能力達到了每秒20億次,提升了百萬倍以上。算力提高的同時,算法也在不斷擴展,甚至迭代速度早已超過了硬件本身。也正因此,軟件定義系統(tǒng)這一概念頻頻在物聯(lián)網(wǎng)中出現(xiàn),張宇指出,軟件定義系統(tǒng)的本質(zhì)上是把硬件系統(tǒng)數(shù)字化、標(biāo)準(zhǔn)化,通過軟件賦能來實現(xiàn)各種虛擬化、多樣性的平臺。
統(tǒng)一平臺或者軟件定義系統(tǒng)的根基還是硬件平臺性能足夠高,同時也要足夠靈活。比如在工業(yè)領(lǐng)域,機器視覺、運動控制及人機界面等應(yīng)用已經(jīng)可以在統(tǒng)一平臺上實施。而在智慧城市領(lǐng)域,電子看板除了廣告推送之外,還具備了視頻采集、視頻分析、城市熱點以及更多功能,同時也催生了更多應(yīng)用與服務(wù)。對于交通領(lǐng)域,利用虛擬化的技術(shù),可以實現(xiàn)軟件定義駕艙,集成車載信息娛樂系統(tǒng)、一體化儀表盤以及后座娛樂系統(tǒng)在統(tǒng)一平臺上。
軟件定義系統(tǒng)的關(guān)鍵技術(shù)
虛擬化是軟件定義平臺的最關(guān)鍵要素,其中包括了硬件資源的虛擬化,也包括了平臺化的系統(tǒng)軟件。
硬件資源的虛擬化所實現(xiàn)是對硬件的抽象,來實現(xiàn)硬件資源的重配、重構(gòu),來提高硬件資源利用率。平臺化的系統(tǒng)軟件則是需要通過軟件實現(xiàn)對硬件資源的統(tǒng)一調(diào)配,需要提供標(biāo)準(zhǔn)化的中間層,來打破上層應(yīng)用和底層硬件資源之間的關(guān)系,從而提高系統(tǒng)的利用率。
如今包括軟件定義網(wǎng)絡(luò)SDN,網(wǎng)絡(luò)功能虛擬化NFV,以及軟件定義存儲SDS等概念均已成為現(xiàn)實,實際上這些新興應(yīng)用都是通過虛擬化技術(shù),將若干個應(yīng)用整合在統(tǒng)一平臺之上來提高整個平臺使用效率、降低系統(tǒng)總體應(yīng)用成本。
虛擬化技術(shù)離不開虛擬機監(jiān)視器,這項技術(shù)實現(xiàn)了實體硬件資源和虛擬資源之間轉(zhuǎn)換,比如說實體CPU向虛擬CPU的轉(zhuǎn)換,實體存儲到虛擬存儲轉(zhuǎn)換,實體網(wǎng)絡(luò)到虛擬網(wǎng)絡(luò)轉(zhuǎn)換。同時虛擬機監(jiān)視器還能監(jiān)視在這之上創(chuàng)建虛擬機運行的狀態(tài)?,F(xiàn)在業(yè)界虛擬機監(jiān)視器兩種類型,分別稱之為Type1和Type2,其中Type1的特點是能夠?qū)τ布Y源直接進行操作,不需要底層操作系統(tǒng)的支持,能夠達到更快的反映,從而減少響應(yīng)延遲,十分適合包括工業(yè)控制等在內(nèi)對實時性要求較高的場景。而Type2型虛擬機,需要建立在已有的主機操作系統(tǒng)之上,實現(xiàn)對硬件資源的訪問。
除了虛擬機監(jiān)視器之外,容器也是近年來流行的新技術(shù),容器技術(shù)可簡單理解為輕量化虛擬機,開發(fā)者可以把應(yīng)用及跟相關(guān)依賴打包放在容器中,通過容器發(fā)布。不同容器對主機操作系統(tǒng)實現(xiàn)共享,所以并不需要為每個容器建立各自操作系統(tǒng)。
相比而言,虛擬機能夠虛擬操作系統(tǒng),所以隔離性會更好,容器的隔離性較差,但系統(tǒng)資源占用較小,啟動也更迅速。
軟件定義系統(tǒng)離不開底層硬件的支持,比如CPU虛擬化、I/O虛擬化或者網(wǎng)絡(luò)虛擬化,必須使用像VTd,VTc、VTx等虛擬化技術(shù)。“硬件的虛擬化技術(shù)已經(jīng)成熟,但隨著人工智能的發(fā)展,需要這些硬件實現(xiàn)對人工智能應(yīng)用的支持,所以英特爾推出了HDDL (VAD) 加速卡,集成了8塊Movidius Myraid X芯片,提供8T的算力,基于PCI-e總線,總功耗僅為20瓦。”張宇介紹道。
而與加速卡配套的是OpenVINO軟件,可幫開發(fā)者迅速將人工智能網(wǎng)絡(luò)部署到加速卡中。
英特爾的多融合實踐
張宇表示,英特爾目前正在開發(fā)多應(yīng)用融合軟件,包含兩方面,一是集中在邊緣側(cè),是對英特爾現(xiàn)有工具比如OpenVINO等的擴展,使其更好地支持多應(yīng)用環(huán)境,而另一端是云端方案,提供了軟件管理平臺參考實踐,可在web上配置系統(tǒng)參數(shù),并自動生成安裝腳本,開發(fā)者可以直接部署到本地的多應(yīng)用環(huán)境中運行,同時我們也提供了包括應(yīng)用商城等在內(nèi)的參考實踐。
OpenVINO是張宇重點強調(diào)的項目,OpenVINO包括兩個核心組件,一個是模型優(yōu)化器,另外一個是推理引擎。模型優(yōu)化器可幫開發(fā)者將人工智能框架上所訓(xùn)練好的網(wǎng)絡(luò)模型下載到相應(yīng)的平臺上。模型優(yōu)化器的工作流程如下:通過模型優(yōu)化器,在保證質(zhì)量的同時進行模型優(yōu)化,把優(yōu)化結(jié)果轉(zhuǎn)變成中間表示文件,中間表示文件被推理引擎讀取,讀取完成,就可以通過硬件插件下載到指定平臺上執(zhí)行。目前的硬件插件包括CPU插件、FPGA插件、GPU插件和Movidus的Visual插件。
OpenVINO還包括資源調(diào)度器,可以把人工智能網(wǎng)絡(luò)分配到不同的VPU芯片上執(zhí)行,如果兩個應(yīng)用所選用的人工智能網(wǎng)絡(luò)相同,則可共享VPU資源,只需一次下載,從而減少模型數(shù)據(jù)的傳遞數(shù)量。
OpenVINO不能實現(xiàn)不同應(yīng)用之間的硬件隔離,如果需要隔離的話,需要做一定擴展,資源調(diào)度器中可以維護內(nèi)部資源分布,為應(yīng)用分配所需硬件,同時也可記錄不同應(yīng)用分配的資源數(shù)量、類型以及位置。
同時,HDDL支持靈活配置和隔離,比如其中4顆芯片分配給應(yīng)用一,四顆分配給應(yīng)用二,實現(xiàn)不同的人工智能網(wǎng)絡(luò)。此時,如果應(yīng)用需要更多的模型處理,可以利用負載整合,把VPU資源整合,空出新的模型應(yīng)用。利用8顆芯片,實現(xiàn)了不同應(yīng)用間的物理隔離,同時又實現(xiàn)了資源共享。
英特爾提供了圖形化UI,以方面用戶管理系統(tǒng),在邊緣側(cè)提供了圖形化的監(jiān)控軟件,展示應(yīng)用運行狀態(tài),而在云端也提供了圖形化的配置工具,只需要一步步按照系統(tǒng)要求即可輕松完成設(shè)置。
張宇在現(xiàn)場給出了幾個實際開發(fā)截圖,以證明英特爾軟件定義平臺方法論的效率。包括腳本安裝、虛擬機選型、資源配置、容器設(shè)置、系統(tǒng)監(jiān)控等一系列動作。
“我們現(xiàn)在所做的多任務(wù)融合軟件工具,目的是幫開發(fā)者更方便去構(gòu)建多應(yīng)用融合的系統(tǒng)。具體措施包括提供更多管理工具方便客戶進行負載整合與監(jiān)控,優(yōu)化軟件以發(fā)揮系統(tǒng)整體性能,同時也能保證系統(tǒng)的隔離度。”張宇總結(jié)道。