4月17-18日,由SDN/NFV/AI標準與產業推動委員會主辦的「2019中國SDN/NFV大會」在北京新雲南皇冠假日酒店舉行。九州雲技術總監黃舒泉應邀出席這次會議,並在多接入邊緣計算分論壇上分享了《基於StarlingX的邊緣計算機器學習優化》主題演講,向參會嘉賓演示了基於StarlingX架構的實時人臉識別場景。css
黃舒泉是九州雲技術總監,從事開源軟件工做超過10年。2011年起,他便積極參與OpenStack發展貢獻,擔任技術貢獻者、演講者和***鬆主席。2018年,黃舒泉成爲StarlingX技術指導委員會的首位中國技術委員。九州雲也是StarlingX項目始創成員單位之一。後端
SDN 將機器學習和邊緣計算結合起來的應用程序爲各類行業帶來了新的經驗和機遇,例如監視中的實時預測、汽車中的自動駕駛汽車等。然而,構建和培訓ML模型須要大量的資源,這並不適合edge。並且推理所需的資源要少得多,而這一般是在有新數據可用時實時完成的。安全
在本次演講中,黃舒泉分享瞭如何經過只將識別任務放在邊緣來優化它。使用StarlingX構建一個用於模型訓練的中心雲和一個用於識別的邊緣雲。經過利用StarlingX的分佈式雲特性,能夠將在中心雲中構建和訓練的模型部署到邊緣雲中,並使用鏈接的設備(如攝像頭和加速器)在邊緣雲上本地運行推理。黃舒泉現場在邊緣展現了一個基於StarlingX架構的實時人臉識別演示。如下是演講概覽:
服務器
隨着AR、VR、無人駕駛、物聯網和視頻智能分析等新興應用的產生,以及5G時代的即將到來,推進了邊緣計算的興起。從我自身的理解來看,邊緣計算實際上是雲計算的一個延伸。網絡
邊緣計算是在靠近物或數據源頭的網絡邊緣側,融合網絡、計算、存儲、應用核心能力的分佈式開放平臺,就近提供邊緣智能服務,知足行業數字化在敏捷聯接、實時業務、數據優化、應用智能、安全與隱私保護等方面的關鍵需求。架構
它能夠做爲聯接物理和數字世界的橋樑,使能智能資產、智能網關、智能系統和智能服務。邊緣計算能夠提供雲計算沒法提供的低延時、高響應服務,如邊緣分析、邊緣安全防火牆等。框架
我認爲有四大因素推進了邊緣計算髮展,包括延遲、帶寬、安全、連接。雲計算的不少問題是經過OpenStack來解決,而邊緣計算幫助咱們在靠近用戶或者靠近數據端去產生計算,它一樣須要計算、網絡、存儲等資源。機器學習
雲計算一樣也是針對計算、存儲、網絡基礎設施進行一些管理,邊緣計算與雲計算在解決問題上是有諸多共性的,但它們也有很大的不一樣。分佈式
數據中心可能在防塵、溫度等上面會有更高的一個要求,而邊緣計算它的環境是比較惡劣的,邊緣計算更多的會考慮一些無人值守以及高可用等。ide
StarlingX是一個針對高性能和低延遲應用進行優化的開源邊緣計算和物聯網雲平臺。該項目由OpenStack基金會支持,這是新的頂級OpenStack基金會試點項目。它提供可擴展且可靠度高的邊緣基礎架構,已通過測試,並可做爲一個完整的堆棧使用。它的可應用在包括工業物聯網,電信,視頻傳輸以及其餘超低延遲等領域。StarlingX確保了各類開源組件之間的兼容性,併爲故障管理和服務管理提供獨特的項目組件,以保證用戶應用程序的高可用性。StarlingX是可擴展解決方案中實現邊緣計算的基礎,而且已準備好部署。
StarlingX繼承了OpenStack在雲計算領域的一些最新實踐,同時結合咱們發現邊緣計算的一些特定問題而進行優化。因此從技術線路上也不難發現,邊緣計算並非徹底跟雲計算割裂的,它是順應了雲計算技術發展趨勢,甚至產生了更高的要求。
我很榮幸在StarlingX創立之初加入到了TSC技術委員會。StarlingX TSC主要成員分別來自Intel、風河、華爲、Ericsson、Interdynamx。
剛剛提到StarlingX是基於OpenStack,它解決了什麼問題呢?我認爲有四點:
邊緣計算基礎設施的架構不一樣於傳統雲計算:傳統雲計算是在機房裏面,規模都比較大,而邊緣計算它所處的環境會比較惡劣,例如在電信局端進行部署,每每只需一臺服務器運行一個完整的架構來管理網絡。它須要有更輕量級的部署,或者單臺的這種部署方式。
邊緣計算比傳統雲計算對穩定性和健壯性有更高的要求:隨着邊緣計算節點的部署,可能會有成千上萬的邊緣節點,若是將來部署在咱們COS,它的這個數量會急劇加大,邊緣計算的軟件須要有無人值守,有自動恢復等更高的功能。
大規模邊緣節點的管理不一樣於傳統雲計算:其複雜度難度會更高。
邊緣雲和中心雲之間的互動協做:須要作好邊緣節點與邊緣節點之間的協同,邊緣節點與中心節點的協同。
將已經通過驗證的雲技術應用在邊緣計算上,而後來發展邊緣計算的管理框架,簡化部署邊緣雲,最後把它應用在交通運輸、能源、製造業、零售、視頻、智慧城市、無人駕駛、醫療衛生等等領域中。咱們經過邊緣計算總體去編排中心雲與邊緣雲之間的全部資源,這是StarlingX的一個願景。
StarlingX 提供了一個可靈活部署、方便擴展和高可用的邊緣雲軟件平臺。目前StarlingX主要包含以下新功能:
配置管理:StarlingX的代碼提供了節點配置以及庫存管理服務,帶有對新節點的自動發現及配置功能,這些對部署相當重要而且管理着大量遠端或者難以訪問的站點。Horizon的圖形用戶界面以及一個命令行交互接口管理着CPU,GPU,內存,大內存頁以及加密/壓縮頁面的庫存。
故障管理:用戶便可以在基礎架構節點上,也能夠在諸如虛擬機和網絡等虛擬資源上設定,清除或者查詢爲重要事件自定義的報警以及日誌。用戶能夠在Horizon的圖形用戶界面上訪問主動報警列表(Active Alarm List)以及主動報警計數面板(Active Alarm Counts Banner)。
主機管理:StarlingX軟件提供生命週期管理功能,經過一個REST API接口管理主機。 這種與供應商無關的工具能夠檢測主機故障而且經過爲集羣的鏈接,關鍵進程故障,資源利用率閾值以及硬件故障提供監控和警報的方式來啓動自動修復。 這個工具還與主板管理控制器鏈接,用於輔助復位(out-of-band reset),電源開/關機以及硬件傳感器監控,並與其餘的StarlingX組件共享主機狀態。」
服務管理:經過基於跨多個節點的N + M或N等冗餘模型來提供高可用性,實現提供服務的生命週期管理。 這項服務支持使用多個消息傳遞路徑來避免腦裂(split-brain)通訊故障,以及支持使用主動或被動監視,經過徹底數據驅動的體系結構來明肯定義服務故障的影響。
軟件管理:這項服務容許用戶使用適用於從內核到OpenStack服務的全部基礎架構堆棧的一種一致性機制,來部署糾正內容和新功能的更新。 這個模塊能夠完成滾動升級,包括並行化和對主機從新啓動的支持,容許經過使用實時遷移將工做負載從節點移出。
以上是StarlingX支持的三種部署模式,從小到大的可擴展性。
Single Server:運行全部服務,支持單機的部署
Dual Server:冗餘設計
Multiple Server :徹底彈性、自主分配,支持多節點部署
今年Open Infrastructure丹佛峯會以後會發佈一個StarlingX新版本,基於容器化部署,把OpenStack部署在K8S之上。也會整合K8S等:
StarlingX 的發展方向:OpenStack容器化、部署在Kubernetes集羣上、基於OpenStack-Helm管理集羣的生命週期。
整合Kubernetes:Docker Runtime、Calico CNI plugin、CEPH做爲持久存儲後端、HELM做爲包管理、本地Docker鏡像倉庫。
支持其餘容器化的邊緣應用部署。
接下來爲你們現場在邊緣展現了一個基於StarlingX架構的實時人臉識別demo。
一臺裸機啓動2個虛擬機,用來部署高可用中心雲。另一臺裸機部署一套Simplex邊緣雲。邊緣雲上啓動openvino虛擬機,從中心雲下載openvino鏡像,同時在邊緣雲使用openvino鏡像建立虛擬機。邊緣虛擬機升級方面,上傳升級後的openvino鏡像到中心雲,在邊緣雲使用升級後的openvino鏡像重建虛擬機。
邏輯流程首先是邊緣盒子識別對接攝像頭,接下來是邊緣雲運行基礎人臉識別,從中心雲拉取其餘AI計算功能模型並加載運行,最後邊緣應用將攝像頭採集的影像數據進行處理,在模型中進行AI識別。
在本次會議的展臺,九州雲工做人員向參會嘉賓全程展現了基於StarlingX架構的實時人臉識別demo,成爲整個會議的一大亮點,吸引諸多專業人士的駐足。
目前,九州雲已積極參與到Akraino Edge Stack社區、OpenStack基金會邊緣計算工做組、邊緣計算產業聯盟以及SDN/NFV產業聯盟的各項工做,全面進軍邊緣計算領域。九州雲但願能與各聯盟成員共同努力,讓邊緣計算生態逐漸繁榮,成爲支撐邊緣計算落地的關鍵力量,深化行業數字化轉型。