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