嵌入式虛擬化帶動混合關鍵性的物聯網系統
隨著工業物聯網 (IIoT) 持續擴展,有越來越多的系統在即時處理以外,還需要執行企業應用程式。但在單一裝置上執行混合關鍵性的工作負載,可能會降低工業工作負載的決定性。為了克服這個問題,開發人員正在採用嵌入式虛擬化技術。
回顧企業與嵌入式虛擬化
虛擬化會建立一個抽象層,讓多個虛擬機器 (VM) 在相同的硬體上執行。在特定虛擬機器內的程式會表現得如同在專用硬體上執行,藉由監管程式 (Hypervisor) 管理共用的硬體。
在企業環境中,虛擬化可增進彈性並最大化資源利用率。運用對稱多元處理 (SMP) 技術,Microsoft Windows 或 Linux 等一般用途的作業系統可將工作負載平均分散至多個同質核心或處理器。(圖 1)。以這種方式分散應用程式可提高運算密度、降低硬體需求、減少耗電量,並節省維護成本。
企業虛擬化的另一種常見用途是在虛擬機器中執行不同的作業系統。舉例來說,相同的實體系統雲端可執行 Windows、Linux 和 macOS(圖 2)。
適用於工業物聯網系統的嵌入式虛擬化可為其企業對應提供類似的優勢,但導入此技術亦伴隨著更多細微的挑戰。
為了確保安全可靠的營運,工業程序經常藉由即時作業系統 (RTOS) 或裸機韌體管理。這些工作負載必須綁定專用的硬體資源以確保決定性,並需要安全地與企業應用程式隔離。同時,也必須保持與企業軟體的處理序間通訊 (IPC),才能首先保證工作負載整合。
不幸地,採用 Windows 等作業系統的 SMP 在配置核心、記憶體和 I/O 資源時,與生俱來會產生非決定性的管理負荷。這種形式的虛擬化也無法將處理器資源專用於決定性的工業工作負載上。
另一方面,嵌入式監管程式可將工作負載隔離到特定硬體資源,但也會導致效能降低。
有個替代方案是運用非對稱多元處理 (AMP)。
適用於混合關鍵性運算的非對稱多元處理
AMP 的設計是為了實現 SMP 的擴充,不過是針對具有多種不同處理器架構的系統。AMP 的附帶效果就是可將工作負載指派到一或多個特定處理器核心,藉此維持決定性,即使系統採用單一處理器架構。(圖 3)
在多核心的主機處理器上,這代表如 TenAsys 的 INtime for Windows 等啟用 AMP 的 RTOS,可以和標準的一般用途作業系統安全地共存在相同的工業物聯網系統上。
透過修改 Windows 開機設定、INtime 分割記憶體、I/O、中斷,以及其他系統資源,可為 RTOS 執行個體專門保留一個區域。因此,兩種作業系統類型可原生執行在各自明確的處理器上,為工業工作負載提供決定性,同時最大化整體系統效能(圖 4)。
對採用 AMP 的虛擬化架構來說,IPC 仍是一項挑戰。因為缺少共用記憶體,使得一個作業系統無法成為所有系統程序的主要通訊服務。
為了防止這個問題發生,INtime 將所有系統核心當成 IPC 主機,運用「全域物件」在執行個體之間傳遞處理序資訊(圖 5)。全域物件可攜帶時間同步、警報、佇列及其他資訊,亦可與 RTOS 核心分享 HMI 等 Windows 資源。
Intel® 處理器納入整合式記憶體管理單元 (MMU) 和 Intel® 虛擬化技術等硬體輔助功能,可簡化 INtime for Windows 等技術的部署過程。Intel Atom®、Intel® Core™ 和 Intel® Xeon® 處理器具有可擴充的核心數量、時脈速度、記憶體,以及 I/O,可協助開發人員滿足確切的虛擬化需求。
使用嵌入式虛擬化實現工業物聯網
透過虛擬化,工業物聯網設計師可針對之前專用於馬達控制或電力傳輸等工作的工業裝置,新增諸如分析、遠端管理和 IT 安全性等企業功能。結合 IT 與 OT 技術所提供的洞見開啟了一扇能節省成本並創造潛在收益流的大門,但要實現這個目標,需要採用不同的虛擬化方式。
若要確保工業物聯網系統上嵌入式程序的安全性與可靠度,AMP 就是您理想的虛擬化架構選擇。透過 AMP、INtime for Windows 這類的解決方案和 Intel 處理器可為工業工程師所信任的技術提供企業虛擬化的優勢。