1 引言
2021年11月16日印發的《“十四五”信息通信行業發展規劃》 [1] 中有多處重點提到邊緣計算, 分別是:云邊協同、邊緣計算深化應用、時間敏感邊緣計算網絡和電力桿塔變電站邊緣數據中心的建設等。2021年11月30日印發的《“十四五”軟件和信息技術服務業發展規劃》 [2]重點提到了發展工業控制軟件和操作系統, 大力支持開展“軟件定義”及泛在操作系統平臺相關理論和技術研究,加強政產學研用對接,構建“軟件定義”核心技術體系。長期以來,國內IT底層標準、架構、生態等大多數都由國外IT巨頭制定,存在諸多安全風險。為了建立自有開放生態,國產“信創”得以實施,形成了巨大的市場需求[3]。根據百度百科統計, 目前國產主流操作系統達24種之多[4] ,主要分為通用桌面操作系統、通用服務器操作系統、專用實時操作系統、專用安全操作系統和通用云操作系統等。一般情況下,操作系統與硬件之間的緊耦合給應用軟件的遷移帶來了困難。云計算操作系統雖然實現了標準計算機的解耦,但又失去了針對工業場合的直接I/O驅動能力,影響了自動化和智能化的發展進程。雖然我國操作系統種類繁多,但卻鮮有基于邊緣計算的特定行業操作系統,因此研究此類系統對我國智能制造的發展具有十分重要的價值和意義。
2 邊緣計算操作系統的演進
2.1 單機操作系統
最初,計算機并沒有操作系統,直到今天,嵌入式和單片機仍然存在直接以無操作系統的模式進行單一任務開發,其優勢在于具有高實時性能。最早的操作系統可以追溯到1964年美國MULTICS,其特點是面向單一硬件多路信息計算,雖然該項目以失敗告終,但卻成就了后續操作系統三個階段的發展[5]。第一個階段是1971年為了增加不同硬件系統的移植性,肯·湯普森和丹尼斯·里奇創造了C語言,并在1973年創造了Unix;第二個階段是進入1980年后,商業版本的Mac OS和Windows視窗操作系統的相繼產生;第三個階段是因1979年Unix轉為商用,林納斯·托瓦茲在其老師開源Minix的基礎上構建了Linux的初代系統。在這一期間操作系統也從單一的硬件逐漸發展為支持不同指令集硬件模式,有了操作系統,同一架構不同硬件配置的程序可以相互兼容,但不同架構仍然互不兼容,比如X86的程序不能在Risc指令集平臺上運行,使得操作系統發展成為了與計算機單一閉合硬件緊耦合的模式,只能協調和管理單核或多核CPU、南北橋芯片、總線、內存、硬盤、顯卡等內外設的基礎硬件。這種單一閉合的緊耦合模態也導致了計算機IT資源不能充分被利用,造成了計算機資源的閑置和浪費。
2.2 從虛擬化到云計算
進入2000年,虛擬化被逐漸提出,其目的是實現對IT資源的充分利用[6] ,一時之間包括FreeBSD jail、QEMU、XEN、KVM等紛紛涌現。如同Virtual Box或VMware work station,這一時期的虛擬化是對計算機硬件的模擬,一定程度上緩解了軟件與硬件的緊耦合。但是操作系統安裝于虛擬機與安裝于物理主機的模式仍然相同,因此虛擬機只是改變了平臺,并非系統。
2006年,Google首席執行官埃里克?施密特在搜索引擎大會首次提出云計算 [7] 。數以千計的集群服務器同時運行,通過網格技術或分布式技術等功能,用戶能夠像使用電力、自來水等公用設施一樣使用計算能力,并按量計費。對于云計算的新需求,VMware vsphere、OpenStack得以廣泛使用,在中國,為了優化計算實現軟硬件解耦,阿里飛天、安超云OS相繼誕生。雖然云計算構造了新的平臺,但是卻拋下了曾與其緊密結合的工業I/O,導致失去了控制側的實時性能。
2.3 邊緣計算的提出
由于云計算體量龐大,而且遠離了終端控制設備,新的近端控制需求不斷產生。業界希望把“浮于高空的云下沉”以滿足低時延、高可靠要求,于是“霧計算”隨之誕生,2012年被思科引入到行業應用中,后來邊緣計算隨之誕生[8]。與云計算不同,邊緣計算既有霧一側的“虛計算”,又有設備一側的“實計算”,因此有學者曾擔心云計算將被邊緣計算替代。后來被證實它們屬于互補融合關系[9] ,因此“云邊協同”成為了普遍共識。
針對邊緣計算的操作系統,目前業界并沒有統一的標準。由于邊緣計算既有虛部又有實部,在實部一側還包括不同操作系統、不同計算設備、不同指令集,甚至有的設備沒有操作系統?!爱悩嫛背蔀榱诉吘売嬎愕囊粋€主要特征,使得邊緣計算是一種多硬件、多系統、多網絡的協作模型。
3 邊緣計算操作系統參考模型
由于邊緣計算需要管理更大范圍的硬件與軟件資源。狹義的操作系統是對單一閉合硬件架構的抽象,不能滿足邊緣計算的需求,需要開發廣義、多接入、異構、軟硬件解耦的新型操作系統。本工程研究中心通過調查、實驗和文獻檢索,得到了三種可參考模型。
3.1 容器化模型
目前最具影響力的容器技術即Docker[10] ,它具有輕量化、速度快、兼容性特征。由鏡像實例化的容器可以是主流的Ubuntu、Centos等Linux操作系統,也可以是一段可執行的程序。容器技術實現了硬件與軟件的完全解耦,因此可以把不同的微服務編排到異構計算宿主機,包括虛擬機、實體機等,增加了細粒度[11]。在國內,華為推出了Isula,進一步輕量化了Docker應用,加上k3s或KubeEdge編排技術 [12,13] (源自于kubernetes的邊緣計算運用)為物聯網及邊緣計算提供了極佳的平臺。容器技術提供了一種類似于Linux Shell的CLI指令, 可以認為它是建立于宿主機上的分布式操作系統,在容器與云計算之間,Kata起到了極佳的整合作用[14] ,能夠更好地輔助云邊協同。在我國,容器已經成為大型互聯網公司的重要工具,包括百度、阿里巴巴、騰訊、360、京東、大眾點評等都在應用。
3.2 分布式軟總線模型
鴻蒙系統[15]是第一款面向萬物互聯時代的全場景分布式操作系統,也是一款真正意義上的國產自主系統,鴻蒙系統的重要突破在于“分布式軟總線”,具備自發現、自組織、高帶寬、低時延和異構網絡組網的特點。分布式軟總線打破了傳統計算機單一封閉式硬件架構,實現了軟硬件的解耦,因此鴻蒙系統符合邊緣計算在末端I/O接入的要求,是一個極其重要的參考模型。截至目前,華為鴻蒙系統已經突破了1.5億用戶數。
3.3 再抽象元操作系統模型
元操作系統 [16] 是構建于操作系統、容器及各種硬件上的寄生操作系統。Linux、Windows是對單體封閉硬件的抽象,假設把裝有操作系統或無操作系統的實體機、虛擬機、容器等看作硬件對象(或功能塊),那么針對這些“硬件”就可以再抽象,組建上層操作系統。美國斯坦福大學在2000年展開了(STandford AI Robot,STAIR)項目等,2007年,Willow Garage將其進行擴展和完善, 同時, 在無數研究人員的共同努力下推出了特定行業的機器人操作系統(Robot Operating System,ROS) [17] ,早期的ROS是對Ubuntu Linux的再抽象,新的ROS版本新增了Debain、Windows和容器。按照傳統,運行于操作系統上的軟件一般被稱為應用程序,但ROS不同,由于提供了標準的操作系統服務,例如硬件抽象,底層設備控制,常用功能實現,進程間消息以及數據包管理,構造了機器人控制的分布式模型以及激光雷達、SLAM等硬件驅動和機器人的運行庫等,使得ROS成為了機器人這一特定行業的元操作系統 [18]
4 ICICOS的研究計劃
在國內,容器模型和分布式軟總線模型已經取得了技術突破。ROS作為一種機器人行業的開源元操作系統也獲得了廣泛的關注和大量應用研究。但是目前我國仍然沒有像ROS一樣的特定行業操作系統研究, 更是缺少面向邊緣計算的開源元操作系統開發。
圖1 ICICOS元操作系統的研究愿景
ICICOS(Industrial Cyber Intelligent Control Operating System)作為云南省高校邊緣計算網絡工程研究中心的重點打造對象,從誕生伊始就確定了面向工業自動化的實現人工智能的發展方向。如圖1所示,ICICOS把底層的物理對象稱之為智能單元(Smart Unit,SMU),通過對SMU的抽象,在邊緣計算中間層生成可供調用的功能塊(Function Block Diagram,FBD)。最后依靠云原生的方式連接功能塊,那么底層的SMU就可自動地組合成為新的生產線。針對于圖1所示的愿景,本工程研究中心確定了ICICOS的研究方向、任務和目標。
4.1 ICICOS的研究方向
ICICOS并非通用的計算機操作系統,它既不是Windows也不是Linux。事實上,它是一個特殊的工業體系,ICICOS計劃集成MATiec[19]和4diac[20,21]技術實現人工智能與工業自動化的融合(AI & IA)。自2016年提出以來,目的就是方便電氣工程師采用IEC 61131-3和IEC 61499的編程方式實現在云計算與邊緣計算平臺的自動化和智能化編程。圖2是其基本流程:通過云平臺配置硬件、網絡和編譯底層執行代碼, 使用Isula或Docker容器構建邊緣計算中間平臺。接著,在邊緣計算底層,通過時間敏感網絡(Time Sensitive Network,TSN)保證離散設備之間的時間精準度,構建分布式時序驅動序列(Distributed Driver Series Container,DDSC),控制I/O采集數據和驅動執行器動作。
圖2 ICICOS的研究方向
4.2 ICICOS的研究任務
ICICOS具有五項研究任務,分別是:
(1)基于嵌入式實時系統或單片機建立邊緣節點,組建分布式節點,具備多點通信接入能力,支持DDSC驅動I/O接口技術。
(2)構建Isula或Docker容器云后端,能夠動態安裝、實例化和撤銷所有程序和硬件配置。利用微服務增加容器的細粒度,支持云邊協同。
(3)支持IEC 61131-3或IEC 61499編程,能夠基于邊緣計算平臺監控運行狀態和動態配置硬件。
(4)支持時間敏感網絡TSN而且能夠接入其它主流的現場總線,如Modbus、PROFIBUS等。
(5)能夠以多點通信接入方式連接物理對象I/O模塊,包括數字量輸入、輸出和模擬量輸入、輸出等。
4.3 ICICOS的研究目標
在工業自動化行業,電氣自動化工程師擅長于使用梯形圖(Ladder Diagram,LD)編程,電子電路工程師擅長于使用功能塊(Function Block Diagram,FBD)編程。ICICOS參考MATiec、4diac開源編譯器,將程序的硬件組態遷移到云計算層,工程師可以在該層開發、調試和維護程序等。圖3展示了ICICOS取代傳統PLC的方案目標。左側灰色部分表示傳統PLC程序開發流程。由于算力有限,傳統架構阻礙了人工智能在工業中的發展。通過云邊協同,可以增強算力,彌補PLC中CPU的算力不足,故應當刪除PLC的CPU模塊,取消其兩地編程功能,僅僅留下I/O,以便邊緣計算中間層管理。
圖3 ICICOS取代PLC的目標
P L C平臺的遷移必然造成實時性能的損失,使工業自動化(Industrial Automation, IA) 從單機控制結構中脫離,但也增加了人工智能(Artificial Intelligence,AI)。若把各行各業比喻為齒條機構,人工智能、工業自動化和邊緣計算比喻為三個齒輪,那么利用邊緣計算就可以有效地把AI & IA嚙合,如圖4所示。
圖4 ICICOS人工智能與工業自動化融合目標
在實際應用中雖然AI齒輪和IA齒輪總會在資源爭奪的過程中較勁,但是通過研究和利用邊緣計算的三實時架構[22] ,可以有效地兼顧AI & IA的產業融合,這也是構建ICICOS邊緣計算元操作系統的宗旨目標。
5 總結與展望
本文通過綜述操作系統的發展歷程,總結了邊緣計算操作系統的三種模型,提出發展元操作系統的設想。依托云南省高校邊緣計算網絡工程研究中心,本文提出了ICICOS計劃, 擬實現云、邊、端系統互聯互通,提供一種多系統協同和異構計算的綜合元操作系統平臺。
未來三年,本工程研究中心擬通過開發ICICOS邊緣計算元操作系統,在云端可以整合邊緣計算資源和終端設備的狀態和任務執行情況,實現云邊協同的工業自動化和人工智能程序開發。 AP
★基金項目:云南省第七批高校重點實驗室和工程研究中心建設項目——云南省高校邊緣計算網絡工程研究中心;云南省教育廳科學研究基金項目(2022J1246)。
作者簡介:
蘇為斌 (1983-),男,云南通海人,電氣工程副教授,博士,ICICOS項目創始人,現就職于云南工商學院智能科學與工程學院,擔任云南省高校邊緣計算網絡工程研究中心負責人,主要研究方向為邊緣計算、工業自動化、人工智能等。
王依凱 (1984-),男,云南澄江人,網絡工程副教授,現就職于云南工商學院,擔任云南省高校邊緣計算網絡工程研究中心副主任,智能科學與工程學院計算機系主任,主要研究方向為邊緣計算網絡工程。
黃海軍 (1977-),男,浙江溫州人,副教授,碩士,現就職于云南工商學院,主要研究方向為網絡空間安全、邊緣計算網絡工程等。
董家瑞 (1983-),男,云南通海人,工程師,學士,ICICOS共同創始人,現就職于云南云創數字生態科技有限公司,主要研究方向為數據通信、區塊鏈、數據應用等。
李智新 (1979-),男,云南新平人,學士,現就職于中國電建集團昆明勘測設計研究院有限公司,主要從事國際EPC項目管理、招標采購管理工作及研究。
陳 巍 (1983-),男,博士,現任昆明鼎邦科技股份有限公司新材料事業部總監,主要研究方向為真空冶金裝備及技術及其自動化,為ICICOS提供真空冶金設備的應用試點。
雷小梅 (1984-),女,云南勐臘人,學士,現就職于云南工商學院智能科學與工程學院,主要研究方向為工業自動化。
李吉成 (1989-),男,山東臨沂人,講師,碩士,現就職于云南工商學院智能科學與工程學院,主要研究方向為工業仿真。
參考文獻:
[1] 中華人民共和國工業和信息化部. "十四五" 信息通信行業發展規劃[EB/OL].
[2] 中華人民共和國工業和信息化部. "十四五" 軟件和信息技術服務業發展規劃[EB/OL].
[3] 吳志紅, 齊向東: 中國的信創產業不是彎道超車, 是換道引領[N]. 人民政協報, 2021-11-26 (007).
[4] 百度百科. 國產操作系統[EB/OL].
[5] O'Regan G. History of Operating Systems[M]. A Brief History of Computing. Springer, Cham, 2021 : 143 - 154.
[6] Barham P, Dragovic B, Fraser K, et al. Xen and the art of virtualization[J]. ACM SIGOPS operating systems review, 2003, 37 (5) : 164 - 177.
[7] Lohr S. Google and IBM join in 'cloud computing' research[J]. New York Times, 2007, 8.
[8] Bonomi F, Milito R, Zhu J, et al. Fog computing and its role in the internet of things[C]. Proceedings of the first edition of the MCC workshop on Mobile cloud computing. 2012 : 13 - 16.
[9] Singh S. Optimize cloud computations using edge computing[C]. 2017 International Conference on Big Data, IoT and Data Science (BID). IEEE, 2017 : 49 - 53.
[10] Randal A. The ideal versus the real: Revisiting the history of virtual machines and containers[J]. ACM Computing Surveys (CSUR), 2020, 53 (1) : 1 - 31.
[11] 張駿. 邊緣計算方法與工程實踐[M]. 北京: 電子工業出版社, 2019 (7) : 1.
[12] B?hm S, Wirtz G. Profiling Lightweight Container Platforms: MicroK8s and K3s in Comparison to Kubernetes[C]. ZEUS. 2021: 65 - 73.
[13] 陳衛, 鄭煒, 湯毅. 基于KubeEdge的云邊協同技術架構的探索[J]. 微型電腦應用, 2020, 36 (07) : 155 - 157.
[14] Randazzo A, Tinnirello I. Kata containers: An emerging architecture for enabling mec services in fast and secure way[C]. 2019 Sixth International Conference on Internet of Things: Systems, Management and Security (IOTSMS). IEEE, 2019: 209 - 214.
[15] 華林華. 鴻蒙2.0: 現在與未來[J]. 中國工業和信息化, 2021, (09) : 16 - 21.
[16] Debab R, Hidouci W K. Boosting the Cloud Meta-Operating System with Heterogeneous Kernels. A Novel Approach Based on Containers and Microservices[J]. Journal of Engineering Science & Technology Review, 2018, 11 (1).
[17] Rivera Z B, De Simone M C, Guida D. Unmanned ground vehicle modelling in Gazebo/ROS-based environments[J]. Machines, 2019, 7 (2) : 42.
[18] Joseph L, Cacace J. Mastering ROS for Robotics Programming: Design, build, and simulate complex robots using the Robot Operating System[M]. Packt Publishing Ltd, 2018.
[19] Homay A, Chrysoulas C, Sousa M D. Authentication Layer for IEC 61113-3 Applications[C]. 2019 10th IFIP International Conference on New Technologies, Mobility and Security (NTMS). 2019.
[20] Gl A, Afa B, Rwb A. Multi-Agent Modeling of Cyber-Physical Systems for IEC 61499 Based Distributed Automation[J]. Procedia Manufacturing, 2020, 51 : 1200 - 1206.
[21] Eclipse: Home page[EB/OL].
[22] 蘇為斌, 潘明波, 徐剛, 董家瑞. 基于邊緣計算的三實時IA & AI架構[J]. 自動化博覽, 2021, 38 (02) : 42 - 46.
摘自《自動化博覽》2022年2月刊