1 引言
2021年11月16日印發(fā)的《“十四五”信息通信行業(yè)發(fā)展規(guī)劃》 [1] 中有多處重點提到邊緣計算, 分別是:云邊協(xié)同、邊緣計算深化應用、時間敏感邊緣計算網絡和電力桿塔變電站邊緣數據中心的建設等。2021年11月30日印發(fā)的《“十四五”軟件和信息技術服務業(yè)發(fā)展規(guī)劃》 [2]重點提到了發(fā)展工業(yè)控制軟件和操作系統(tǒng), 大力支持開展“軟件定義”及泛在操作系統(tǒng)平臺相關理論和技術研究,加強政產學研用對接,構建“軟件定義”核心技術體系。長期以來,國內IT底層標準、架構、生態(tài)等大多數都由國外IT巨頭制定,存在諸多安全風險。為了建立自有開放生態(tài),國產“信創(chuàng)”得以實施,形成了巨大的市場需求[3]。根據百度百科統(tǒng)計, 目前國產主流操作系統(tǒng)達24種之多[4] ,主要分為通用桌面操作系統(tǒng)、通用服務器操作系統(tǒng)、專用實時操作系統(tǒng)、專用安全操作系統(tǒng)和通用云操作系統(tǒng)等。一般情況下,操作系統(tǒng)與硬件之間的緊耦合給應用軟件的遷移帶來了困難。云計算操作系統(tǒng)雖然實現(xiàn)了標準計算機的解耦,但又失去了針對工業(yè)場合的直接I/O驅動能力,影響了自動化和智能化的發(fā)展進程。雖然我國操作系統(tǒng)種類繁多,但卻鮮有基于邊緣計算的特定行業(yè)操作系統(tǒng),因此研究此類系統(tǒng)對我國智能制造的發(fā)展具有十分重要的價值和意義。
2 邊緣計算操作系統(tǒng)的演進
2.1 單機操作系統(tǒng)
最初,計算機并沒有操作系統(tǒng),直到今天,嵌入式和單片機仍然存在直接以無操作系統(tǒng)的模式進行單一任務開發(fā),其優(yōu)勢在于具有高實時性能。最早的操作系統(tǒng)可以追溯到1964年美國MULTICS,其特點是面向單一硬件多路信息計算,雖然該項目以失敗告終,但卻成就了后續(xù)操作系統(tǒng)三個階段的發(fā)展[5]。第一個階段是1971年為了增加不同硬件系統(tǒng)的移植性,肯·湯普森和丹尼斯·里奇創(chuàng)造了C語言,并在1973年創(chuàng)造了Unix;第二個階段是進入1980年后,商業(yè)版本的Mac OS和Windows視窗操作系統(tǒng)的相繼產生;第三個階段是因1979年Unix轉為商用,林納斯·托瓦茲在其老師開源Minix的基礎上構建了Linux的初代系統(tǒng)。在這一期間操作系統(tǒng)也從單一的硬件逐漸發(fā)展為支持不同指令集硬件模式,有了操作系統(tǒng),同一架構不同硬件配置的程序可以相互兼容,但不同架構仍然互不兼容,比如X86的程序不能在Risc指令集平臺上運行,使得操作系統(tǒng)發(fā)展成為了與計算機單一閉合硬件緊耦合的模式,只能協(xié)調和管理單核或多核CPU、南北橋芯片、總線、內存、硬盤、顯卡等內外設的基礎硬件。這種單一閉合的緊耦合模態(tài)也導致了計算機IT資源不能充分被利用,造成了計算機資源的閑置和浪費。
2.2 從虛擬化到云計算
進入2000年,虛擬化被逐漸提出,其目的是實現(xiàn)對IT資源的充分利用[6] ,一時之間包括FreeBSD jail、QEMU、XEN、KVM等紛紛涌現(xiàn)。如同Virtual Box或VMware work station,這一時期的虛擬化是對計算機硬件的模擬,一定程度上緩解了軟件與硬件的緊耦合。但是操作系統(tǒng)安裝于虛擬機與安裝于物理主機的模式仍然相同,因此虛擬機只是改變了平臺,并非系統(tǒng)。
2006年,Google首席執(zhí)行官埃里克?施密特在搜索引擎大會首次提出云計算 [7] 。數以千計的集群服務器同時運行,通過網格技術或分布式技術等功能,用戶能夠像使用電力、自來水等公用設施一樣使用計算能力,并按量計費。對于云計算的新需求,VMware vsphere、OpenStack得以廣泛使用,在中國,為了優(yōu)化計算實現(xiàn)軟硬件解耦,阿里飛天、安超云OS相繼誕生。雖然云計算構造了新的平臺,但是卻拋下了曾與其緊密結合的工業(yè)I/O,導致失去了控制側的實時性能。
2.3 邊緣計算的提出
由于云計算體量龐大,而且遠離了終端控制設備,新的近端控制需求不斷產生。業(yè)界希望把“浮于高空的云下沉”以滿足低時延、高可靠要求,于是“霧計算”隨之誕生,2012年被思科引入到行業(yè)應用中,后來邊緣計算隨之誕生[8]。與云計算不同,邊緣計算既有霧一側的“虛計算”,又有設備一側的“實計算”,因此有學者曾擔心云計算將被邊緣計算替代。后來被證實它們屬于互補融合關系[9] ,因此“云邊協(xié)同”成為了普遍共識。
針對邊緣計算的操作系統(tǒng),目前業(yè)界并沒有統(tǒng)一的標準。由于邊緣計算既有虛部又有實部,在實部一側還包括不同操作系統(tǒng)、不同計算設備、不同指令集,甚至有的設備沒有操作系統(tǒng)。“異構”成為了邊緣計算的一個主要特征,使得邊緣計算是一種多硬件、多系統(tǒng)、多網絡的協(xié)作模型。
3 邊緣計算操作系統(tǒng)參考模型
由于邊緣計算需要管理更大范圍的硬件與軟件資源。狹義的操作系統(tǒng)是對單一閉合硬件架構的抽象,不能滿足邊緣計算的需求,需要開發(fā)廣義、多接入、異構、軟硬件解耦的新型操作系統(tǒng)。本工程研究中心通過調查、實驗和文獻檢索,得到了三種可參考模型。
3.1 容器化模型
目前最具影響力的容器技術即Docker[10] ,它具有輕量化、速度快、兼容性特征。由鏡像實例化的容器可以是主流的Ubuntu、Centos等Linux操作系統(tǒng),也可以是一段可執(zhí)行的程序。容器技術實現(xiàn)了硬件與軟件的完全解耦,因此可以把不同的微服務編排到異構計算宿主機,包括虛擬機、實體機等,增加了細粒度[11]。在國內,華為推出了Isula,進一步輕量化了Docker應用,加上k3s或KubeEdge編排技術 [12,13] (源自于kubernetes的邊緣計算運用)為物聯(lián)網及邊緣計算提供了極佳的平臺。容器技術提供了一種類似于Linux Shell的CLI指令, 可以認為它是建立于宿主機上的分布式操作系統(tǒng),在容器與云計算之間,Kata起到了極佳的整合作用[14] ,能夠更好地輔助云邊協(xié)同。在我國,容器已經成為大型互聯(lián)網公司的重要工具,包括百度、阿里巴巴、騰訊、360、京東、大眾點評等都在應用。
3.2 分布式軟總線模型
鴻蒙系統(tǒng)[15]是第一款面向萬物互聯(lián)時代的全場景分布式操作系統(tǒng),也是一款真正意義上的國產自主系統(tǒng),鴻蒙系統(tǒng)的重要突破在于“分布式軟總線”,具備自發(fā)現(xiàn)、自組織、高帶寬、低時延和異構網絡組網的特點。分布式軟總線打破了傳統(tǒng)計算機單一封閉式硬件架構,實現(xiàn)了軟硬件的解耦,因此鴻蒙系統(tǒng)符合邊緣計算在末端I/O接入的要求,是一個極其重要的參考模型。截至目前,華為鴻蒙系統(tǒng)已經突破了1.5億用戶數。
3.3 再抽象元操作系統(tǒng)模型
元操作系統(tǒng) [16] 是構建于操作系統(tǒng)、容器及各種硬件上的寄生操作系統(tǒng)。Linux、Windows是對單體封閉硬件的抽象,假設把裝有操作系統(tǒng)或無操作系統(tǒng)的實體機、虛擬機、容器等看作硬件對象(或功能塊),那么針對這些“硬件”就可以再抽象,組建上層操作系統(tǒng)。美國斯坦福大學在2000年展開了(STandford AI Robot,STAIR)項目等,2007年,Willow Garage將其進行擴展和完善, 同時, 在無數研究人員的共同努力下推出了特定行業(yè)的機器人操作系統(tǒng)(Robot Operating System,ROS) [17] ,早期的ROS是對Ubuntu Linux的再抽象,新的ROS版本新增了Debain、Windows和容器。按照傳統(tǒng),運行于操作系統(tǒng)上的軟件一般被稱為應用程序,但ROS不同,由于提供了標準的操作系統(tǒng)服務,例如硬件抽象,底層設備控制,常用功能實現(xiàn),進程間消息以及數據包管理,構造了機器人控制的分布式模型以及激光雷達、SLAM等硬件驅動和機器人的運行庫等,使得ROS成為了機器人這一特定行業(yè)的元操作系統(tǒng) [18]
4 ICICOS的研究計劃
在國內,容器模型和分布式軟總線模型已經取得了技術突破。ROS作為一種機器人行業(yè)的開源元操作系統(tǒng)也獲得了廣泛的關注和大量應用研究。但是目前我國仍然沒有像ROS一樣的特定行業(yè)操作系統(tǒng)研究, 更是缺少面向邊緣計算的開源元操作系統(tǒng)開發(fā)。
圖1 ICICOS元操作系統(tǒng)的研究愿景
ICICOS(Industrial Cyber Intelligent Control Operating System)作為云南省高校邊緣計算網絡工程研究中心的重點打造對象,從誕生伊始就確定了面向工業(yè)自動化的實現(xiàn)人工智能的發(fā)展方向。如圖1所示,ICICOS把底層的物理對象稱之為智能單元(Smart Unit,SMU),通過對SMU的抽象,在邊緣計算中間層生成可供調用的功能塊(Function Block Diagram,F(xiàn)BD)。最后依靠云原生的方式連接功能塊,那么底層的SMU就可自動地組合成為新的生產線。針對于圖1所示的愿景,本工程研究中心確定了ICICOS的研究方向、任務和目標。
4.1 ICICOS的研究方向
ICICOS并非通用的計算機操作系統(tǒng),它既不是Windows也不是Linux。事實上,它是一個特殊的工業(yè)體系,ICICOS計劃集成MATiec[19]和4diac[20,21]技術實現(xiàn)人工智能與工業(yè)自動化的融合(AI & IA)。自2016年提出以來,目的就是方便電氣工程師采用IEC 61131-3和IEC 61499的編程方式實現(xiàn)在云計算與邊緣計算平臺的自動化和智能化編程。圖2是其基本流程:通過云平臺配置硬件、網絡和編譯底層執(zhí)行代碼, 使用Isula或Docker容器構建邊緣計算中間平臺。接著,在邊緣計算底層,通過時間敏感網絡(Time Sensitive Network,TSN)保證離散設備之間的時間精準度,構建分布式時序驅動序列(Distributed Driver Series Container,DDSC),控制I/O采集數據和驅動執(zhí)行器動作。
圖2 ICICOS的研究方向
4.2 ICICOS的研究任務
ICICOS具有五項研究任務,分別是:
(1)基于嵌入式實時系統(tǒng)或單片機建立邊緣節(jié)點,組建分布式節(jié)點,具備多點通信接入能力,支持DDSC驅動I/O接口技術。
(2)構建Isula或Docker容器云后端,能夠動態(tài)安裝、實例化和撤銷所有程序和硬件配置。利用微服務增加容器的細粒度,支持云邊協(xié)同。
(3)支持IEC 61131-3或IEC 61499編程,能夠基于邊緣計算平臺監(jiān)控運行狀態(tài)和動態(tài)配置硬件。
(4)支持時間敏感網絡TSN而且能夠接入其它主流的現(xiàn)場總線,如Modbus、PROFIBUS等。
(5)能夠以多點通信接入方式連接物理對象I/O模塊,包括數字量輸入、輸出和模擬量輸入、輸出等。
4.3 ICICOS的研究目標
在工業(yè)自動化行業(yè),電氣自動化工程師擅長于使用梯形圖(Ladder Diagram,LD)編程,電子電路工程師擅長于使用功能塊(Function Block Diagram,F(xiàn)BD)編程。ICICOS參考MATiec、4diac開源編譯器,將程序的硬件組態(tài)遷移到云計算層,工程師可以在該層開發(fā)、調試和維護程序等。圖3展示了ICICOS取代傳統(tǒng)PLC的方案目標。左側灰色部分表示傳統(tǒng)PLC程序開發(fā)流程。由于算力有限,傳統(tǒng)架構阻礙了人工智能在工業(yè)中的發(fā)展。通過云邊協(xié)同,可以增強算力,彌補PLC中CPU的算力不足,故應當刪除PLC的CPU模塊,取消其兩地編程功能,僅僅留下I/O,以便邊緣計算中間層管理。
圖3 ICICOS取代PLC的目標
P L C平臺的遷移必然造成實時性能的損失,使工業(yè)自動化(Industrial Automation, IA) 從單機控制結構中脫離,但也增加了人工智能(Artificial Intelligence,AI)。若把各行各業(yè)比喻為齒條機構,人工智能、工業(yè)自動化和邊緣計算比喻為三個齒輪,那么利用邊緣計算就可以有效地把AI & IA嚙合,如圖4所示。
圖4 ICICOS人工智能與工業(yè)自動化融合目標
在實際應用中雖然AI齒輪和IA齒輪總會在資源爭奪的過程中較勁,但是通過研究和利用邊緣計算的三實時架構[22] ,可以有效地兼顧AI & IA的產業(yè)融合,這也是構建ICICOS邊緣計算元操作系統(tǒng)的宗旨目標。
5 總結與展望
本文通過綜述操作系統(tǒng)的發(fā)展歷程,總結了邊緣計算操作系統(tǒng)的三種模型,提出發(fā)展元操作系統(tǒng)的設想。依托云南省高校邊緣計算網絡工程研究中心,本文提出了ICICOS計劃, 擬實現(xiàn)云、邊、端系統(tǒng)互聯(lián)互通,提供一種多系統(tǒng)協(xié)同和異構計算的綜合元操作系統(tǒng)平臺。
未來三年,本工程研究中心擬通過開發(fā)ICICOS邊緣計算元操作系統(tǒng),在云端可以整合邊緣計算資源和終端設備的狀態(tài)和任務執(zhí)行情況,實現(xiàn)云邊協(xié)同的工業(yè)自動化和人工智能程序開發(fā)。 AP
★基金項目:云南省第七批高校重點實驗室和工程研究中心建設項目——云南省高校邊緣計算網絡工程研究中心;云南省教育廳科學研究基金項目(2022J1246)。
作者簡介:
蘇為斌 (1983-),男,云南通海人,電氣工程副教授,博士,ICICOS項目創(chuàng)始人,現(xiàn)就職于云南工商學院智能科學與工程學院,擔任云南省高校邊緣計算網絡工程研究中心負責人,主要研究方向為邊緣計算、工業(yè)自動化、人工智能等。
王依凱 (1984-),男,云南澄江人,網絡工程副教授,現(xiàn)就職于云南工商學院,擔任云南省高校邊緣計算網絡工程研究中心副主任,智能科學與工程學院計算機系主任,主要研究方向為邊緣計算網絡工程。
黃海軍 (1977-),男,浙江溫州人,副教授,碩士,現(xiàn)就職于云南工商學院,主要研究方向為網絡空間安全、邊緣計算網絡工程等。
董家瑞 (1983-),男,云南通海人,工程師,學士,ICICOS共同創(chuàng)始人,現(xiàn)就職于云南云創(chuàng)數字生態(tài)科技有限公司,主要研究方向為數據通信、區(qū)塊鏈、數據應用等。
李智新 (1979-),男,云南新平人,學士,現(xiàn)就職于中國電建集團昆明勘測設計研究院有限公司,主要從事國際EPC項目管理、招標采購管理工作及研究。
陳 巍 (1983-),男,博士,現(xiàn)任昆明鼎邦科技股份有限公司新材料事業(yè)部總監(jiān),主要研究方向為真空冶金裝備及技術及其自動化,為ICICOS提供真空冶金設備的應用試點。
雷小梅 (1984-),女,云南勐臘人,學士,現(xiàn)就職于云南工商學院智能科學與工程學院,主要研究方向為工業(yè)自動化。
李吉成 (1989-),男,山東臨沂人,講師,碩士,現(xiàn)就職于云南工商學院智能科學與工程學院,主要研究方向為工業(yè)仿真。
參考文獻:
[1] 中華人民共和國工業(yè)和信息化部. "十四五" 信息通信行業(yè)發(fā)展規(guī)劃[EB/OL].
[2] 中華人民共和國工業(yè)和信息化部. "十四五" 軟件和信息技術服務業(yè)發(fā)展規(guī)劃[EB/OL].
[3] 吳志紅, 齊向東: 中國的信創(chuàng)產業(yè)不是彎道超車, 是換道引領[N]. 人民政協(xié)報, 2021-11-26 (007).
[4] 百度百科. 國產操作系統(tǒng)[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]. 北京: 電子工業(yè)出版社, 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] 陳衛(wèi), 鄭煒, 湯毅. 基于KubeEdge的云邊協(xié)同技術架構的探索[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: 現(xiàn)在與未來[J]. 中國工業(yè)和信息化, 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月刊