0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

盟通技術(shù)干貨:通過(guò)Hypervisor技術(shù)在對(duì)稱多處理(SMP)處理器上實(shí)現(xiàn)多操作系統(tǒng)部署

盟通科技 ? 2023-11-16 15:00 ? 次閱讀

SMP和AMP不同的特點(diǎn)

隨著多核處理器的出現(xiàn),為了提高整個(gè)系統(tǒng)性能,誕生了不同的可部署技術(shù)。多處理主要有兩種類型:對(duì)稱多處理(SMP)和非對(duì)稱多處理(AMP)。

在SMP中,所有處理器或CPU內(nèi)核都被認(rèn)為是平等的,可以分享相同的系統(tǒng)資源,例如:操作系統(tǒng)、主存的地址空間、I/O和外部設(shè)備等;而AMP中,每個(gè)處理器或CPU有它們自己的軟件,它們獨(dú)立于其他處理器或內(nèi)核來(lái)處理應(yīng)用程序。

AMP的設(shè)計(jì)優(yōu)勢(shì)在于,每個(gè)CPU在處理特定的應(yīng)用程序時(shí),不會(huì)被其他CPU的任務(wù)打斷。正如前面所說(shuō),在AMP中每個(gè)處理器都有自己?jiǎn)为?dú)的內(nèi)核處理邏輯。這樣的設(shè)計(jì)更適合工業(yè)現(xiàn)場(chǎng)的實(shí)時(shí)性需求。

詳細(xì)的內(nèi)容可以看文末最后對(duì)SMP和AMP不同架構(gòu)的討論。

而我們提出了一種新的解決方案,通過(guò)Hypervisor技術(shù)對(duì)SMP架構(gòu)的CPU進(jìn)行資源劃分,讓其每個(gè)分割部分運(yùn)行獨(dú)立的操作系統(tǒng)和應(yīng)用程序,同時(shí)保證其不會(huì)被其他CPU的任務(wù)打斷。

在SMP架構(gòu)上實(shí)現(xiàn)多操作系統(tǒng)部署

SMP架構(gòu)上實(shí)現(xiàn)單操作系統(tǒng)——Linux使用多個(gè)CPU內(nèi)核

wKgZomVVpoqAFYrpAACzPKm3Is8113.png

在SMP中,大多數(shù)情況下一個(gè)計(jì)算系統(tǒng)運(yùn)行一個(gè)單一的操作系統(tǒng),如Linux。操作系統(tǒng)可以利用多個(gè)處理器或CPU內(nèi)核來(lái)運(yùn)行系統(tǒng)中的各種應(yīng)用程序。

02

SMP架構(gòu)CPU采用共享內(nèi)存

wKgaomVVppqAEUIAAAAeoI4jtF0067.png

在SMP中各個(gè)CPU通過(guò)共享內(nèi)存空間的方式進(jìn)行數(shù)據(jù)交互,所有的處理器都可以平等地訪問(wèn)內(nèi)存、I/O和外部中斷。

03

SMP架構(gòu)上實(shí)現(xiàn)多操作系統(tǒng)部署——實(shí)時(shí)Linux使用多個(gè)CPU內(nèi)核

wKgZomVVpqmAIyFFAAHqMCptVdA724.png

在工業(yè)現(xiàn)場(chǎng)上,單個(gè)計(jì)算系統(tǒng)上部署多個(gè)操作系統(tǒng)變得越來(lái)越普遍。在使用SMP的管理程序解決方案中,多個(gè)不同的操作系統(tǒng)(例如Windows + real-time Linux)可以各自獨(dú)立地利用一組多個(gè)處理器或CPU內(nèi)核。

Hypervisor技術(shù)可以很好的管理這些CPU內(nèi)核,正如之前所述的SMP的兩大特性:多核心處理單任務(wù)及共享內(nèi)存。在工業(yè)控制中為了保證實(shí)時(shí)性,必須確保運(yùn)行實(shí)時(shí)任務(wù)的CPU不被其他應(yīng)用占用;必須保證實(shí)時(shí)任務(wù)的內(nèi)存不被其他應(yīng)用占用。這些都需要Hypervisor在底層邏輯上將其完全劃分開(kāi)。通過(guò)Hypervisor技術(shù),我們可以將專用的CPU和內(nèi)存分配給實(shí)時(shí)操作系統(tǒng)。讓其他操作系統(tǒng)的應(yīng)用不能”觸碰“這些資源,

相比于直接使用異構(gòu)的CPU,SMP+Hypervisor的優(yōu)勢(shì)還在于可以按需分配整個(gè)設(shè)備資源,而AMP的異構(gòu)則是在系統(tǒng)設(shè)計(jì)之初就固定的了。比如說(shuō),我的實(shí)際應(yīng)用需要更強(qiáng)大的非實(shí)時(shí)應(yīng)用,需要更多相關(guān)資源。相比之下,AMP在異構(gòu)實(shí)現(xiàn)上就有很大的限制,無(wú)法按需分配,有時(shí)候不得不對(duì)應(yīng)用做減法。而SMP+Hypervisor則可以靈活的傾斜更多資源給非實(shí)時(shí)應(yīng)用,而給實(shí)時(shí)應(yīng)用的資源可能只需要整個(gè)CPU核心的10%。

wKgZomVVpr6AH6sIAALC4h2TeQg052.png

Hypervisor技術(shù)不僅僅可以構(gòu)建一個(gè)實(shí)時(shí)系統(tǒng),他還可以構(gòu)建多個(gè)實(shí)時(shí)系統(tǒng),只要硬件的資源足夠豐富,多個(gè)不同的操作系統(tǒng)部署在同一個(gè)硬件上面是完全可行的。


SMP和AMP不同架構(gòu)的討論

對(duì)稱多處理(SMP)

SMP通常用于高端計(jì)算,這些計(jì)算環(huán)境需要大量的計(jì)算能力去執(zhí)行應(yīng)用程序任務(wù)和進(jìn)程,許多多處理系統(tǒng)使用SMP架構(gòu)。SMP最適用于分時(shí)(timesharing)和多線程時(shí)間共享系統(tǒng)。分時(shí)是指將計(jì)算資源同時(shí)分配給多個(gè)用戶。類似地,多線程是中央處理器(CPU)的一個(gè)特性,它允許單個(gè)進(jìn)程同時(shí)執(zhí)行多個(gè)任務(wù)。更具體地說(shuō),多線程允許指令的多個(gè)線程獨(dú)立執(zhí)行,所有線程共享相同的處理資源。分時(shí)操作系統(tǒng)也使用SMP。這是因?yàn)橛?jì)算資源可以分配給多個(gè)用戶,多個(gè)進(jìn)程可以并行運(yùn)行。SMP支持該進(jìn)程,SMP旨在在不同的處理單元上運(yùn)行多個(gè)進(jìn)程。出于同樣的原因,SMP也是多線程的。這是因?yàn)槎嗑€程同時(shí)處理多個(gè)進(jìn)程,而SMP在每個(gè)處理器之間劃分線程。但是,SMP通常不會(huì)用于那些未針對(duì)多線程編程進(jìn)行修改的pc或應(yīng)用程序。應(yīng)用程序和程序集應(yīng)該設(shè)計(jì)成允許多線程。允許在不同的并行處理器上調(diào)度線程。

? SMP架構(gòu)CPU采用共享內(nèi)存

wKgaomVVp-qAMqXPAAAetVA-2JI316.png

不對(duì)稱多處理(AMP)

傳統(tǒng)的單處理器系統(tǒng)提供的執(zhí)行環(huán)境與非對(duì)稱多處理的工作方式非常相似。它提供了一種相對(duì)簡(jiǎn)單的方式來(lái)移植代碼,并提供了一種控制CPU使用的直接機(jī)制。在大多數(shù)情況下,你可以使用標(biāo)準(zhǔn)的調(diào)試工具和技術(shù)。AMP系統(tǒng)可以是同構(gòu)的(每個(gè)CPU運(yùn)行相同類型和版本的操作系統(tǒng))或異構(gòu)的(每個(gè)CPU運(yùn)行不同的操作系統(tǒng)或相同操作系統(tǒng)的不同版本)。此外,AMP最有可能用于不同的CPU架構(gòu)對(duì)特定應(yīng)用的優(yōu)化,如數(shù)字信號(hào)處理器(DSP)和微控制器(MCU)。在AMP系統(tǒng)中,可以在每個(gè)處理器或CPU內(nèi)核上部署不同的操作系統(tǒng)。

如果你的操作系統(tǒng)支持特定的分布式編程模型,則可以充分利用同構(gòu)環(huán)境中的多個(gè)cpu。在特定CPU上運(yùn)行的應(yīng)用程序?qū)⒛軌蚺c其他CPU上的應(yīng)用程序和系統(tǒng)服務(wù)(例如,協(xié)議棧、設(shè)備驅(qū)動(dòng)程序等)透明地通信,而不需要傳統(tǒng)的處理器間通信所帶來(lái)的高CPU負(fù)載。在異構(gòu)系統(tǒng)中,必須選擇兩個(gè)共享公共基礎(chǔ)資源(最常見(jiàn)的是基于ip的)的操作系統(tǒng),或者為處理器間的通信實(shí)現(xiàn)專有的通信方案。操作系統(tǒng)還應(yīng)該提供訪問(wèn)共享硬件組件的機(jī)制,以幫助避免資源沖突。使用AMP,應(yīng)用程序使用的共享硬件資源必須在CPU之間分配。外設(shè)、物理內(nèi)存以及中斷處理等資源通常是在啟動(dòng)時(shí)靜態(tài)分配的。

動(dòng)態(tài)分配資源會(huì)導(dǎo)致CPU之間復(fù)雜的協(xié)調(diào)。在AMP系統(tǒng)中,即使其他CPU空閑,一個(gè)進(jìn)程也總是運(yùn)行在同一個(gè)CPU上。因此,CPU可能會(huì)輕負(fù)荷或過(guò)載。為了解決這個(gè)問(wèn)題,系統(tǒng)可以允許應(yīng)用程序動(dòng)態(tài)地從一個(gè)CPU遷移到另一個(gè)CPU。然而,這可能涉及復(fù)雜的狀態(tài)信息檢查,如果應(yīng)用程序在一個(gè)CPU上停止,而在另一個(gè)CPU上重新啟動(dòng),可能會(huì)中斷服務(wù)。此外,如果cpu運(yùn)行不同的操作系統(tǒng),這樣的遷移即使不是不可能,也是非常困難的。

? 使用AMP在不同的cpu上分區(qū)內(nèi)存和I/O

wKgaomVVp_-ATx0pAABmtvGD5Ys130.png

聯(lián)系盟通

北京盟通科技有限公司成立于2013年,是工業(yè)自動(dòng)化領(lǐng)域的高新技術(shù)企業(yè)。公司專注于實(shí)時(shí)現(xiàn)場(chǎng)總線技術(shù)及工業(yè)通訊技術(shù)的研發(fā)、推廣及技術(shù)支持服務(wù)。依托于核心團(tuán)隊(duì)多年的海外和行業(yè)經(jīng)驗(yàn),盟通科技與歐洲多家自動(dòng)化領(lǐng)域的佼佼者達(dá)成戰(zhàn)略合作關(guān)系,為客戶提供EtherCAT主站協(xié)議棧、OPC UA SDK軟件開(kāi)發(fā)包、CANopen協(xié)議棧、FSoE協(xié)議軟件、CAN總線硬件、DINA安全模塊、艾默生Connext軟件等工業(yè)協(xié)議的標(biāo)準(zhǔn)和定制化產(chǎn)品

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19103

    瀏覽量

    228829
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6689

    瀏覽量

    123142
  • ethercat
    +關(guān)注

    關(guān)注

    18

    文章

    633

    瀏覽量

    38547
  • 操作系統(tǒng)內(nèi)核

    關(guān)注

    0

    文章

    8

    瀏覽量

    2362
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    混合部署 | 在迅為RK3568同時(shí)部署RT-Thread和Linux系統(tǒng)

    (非對(duì)稱多處理)是一種更靈活的架構(gòu),允許不同的核心運(yùn)行不同的操作系統(tǒng),實(shí)現(xiàn)更高效的資源利用和任務(wù)分配。通過(guò) AMP,系統(tǒng)可以為不同的任務(wù)選擇
    發(fā)表于 11-01 10:31

    盛顯科技:拼接處理器如何實(shí)現(xiàn)高效數(shù)據(jù)拼接操作?

    眾所周知,高效的數(shù)據(jù)拼接操作無(wú)疑是數(shù)據(jù)處理領(lǐng)域的核心優(yōu)勢(shì),它能極大地縮短了處理時(shí)間,讓拼接處理器能夠迅速應(yīng)對(duì)海量數(shù)據(jù)的挑戰(zhàn),實(shí)現(xiàn)數(shù)據(jù)的快速整
    的頭像 發(fā)表于 10-23 10:58 ?163次閱讀
    盛顯科技:拼接<b class='flag-5'>處理器</b>如何<b class='flag-5'>實(shí)現(xiàn)</b>高效數(shù)據(jù)拼接<b class='flag-5'>操作</b>?

    【「嵌入式Hypervisor:架構(gòu)、原理與應(yīng)用」閱讀體驗(yàn)】+ 了解Hypervisor

    被稱為主管(Supervisor),而虛擬機(jī)監(jiān)控程序用來(lái)托管主管,稱為超級(jí)主管,即Hypervisor,也被稱為虛擬機(jī)管理??磥?lái)Hypervisor是用來(lái)實(shí)現(xiàn)主機(jī)虛擬化的,同時(shí)管理多
    發(fā)表于 10-13 16:47

    對(duì)稱多處理器的特點(diǎn)是什么

    的主要特點(diǎn)是處理器之間的對(duì)稱性,這意味著每個(gè)處理器都可以執(zhí)行任何任務(wù),并且它們?cè)?b class='flag-5'>處理能力是等價(jià)的。 1.
    的頭像 發(fā)表于 10-10 16:36 ?202次閱讀

    對(duì)稱多處理器系統(tǒng)中的進(jìn)程分配包括

    在現(xiàn)代計(jì)算機(jī)系統(tǒng)中,對(duì)稱多處理器SMP)架構(gòu)已經(jīng)成為主流。這種架構(gòu)允許多個(gè)處理器共享相同的內(nèi)存地址空間和系統(tǒng)資源,從而提高了
    的頭像 發(fā)表于 10-10 16:34 ?173次閱讀

    對(duì)稱多處理器和非對(duì)稱多處理器的區(qū)別

    隨著計(jì)算需求的日益增長(zhǎng),單處理器系統(tǒng)已經(jīng)無(wú)法滿足高性能計(jì)算的需求。多處理器系統(tǒng)應(yīng)運(yùn)而生,它們通過(guò)將多個(gè)
    的頭像 發(fā)表于 10-10 15:58 ?368次閱讀

    【「嵌入式Hypervisor:架構(gòu)、原理與應(yīng)用」閱讀體驗(yàn)】+第三四章閱讀報(bào)告

    通過(guò)時(shí)間片輪轉(zhuǎn)、內(nèi)存分頁(yè)等技術(shù),實(shí)現(xiàn)資源的公平分配和高效利用。 中斷與異常處理 :學(xué)習(xí)了Hypervisor如何
    發(fā)表于 10-09 18:29

    【「嵌入式Hypervisor:架構(gòu)、原理與應(yīng)用」閱讀體驗(yàn)】+第一二章讀后感

    我對(duì)本書(shū)后續(xù)章節(jié)的學(xué)習(xí)充滿了期待。我希望通過(guò)深入學(xué)習(xí)PRTOS Hypervisor的設(shè)計(jì)與實(shí)現(xiàn)技術(shù),以及其在RTOS、Linux等操作系統(tǒng)
    發(fā)表于 10-09 18:22

    混合部署 | 在迅為RK3568同時(shí)部署RT-Thread和Linux系統(tǒng)

    (非對(duì)稱多處理)是一種更靈活的架構(gòu),允許不同的核心運(yùn)行不同的操作系統(tǒng),實(shí)現(xiàn)更高效的資源利用和任務(wù)分配。通過(guò) AMP,系統(tǒng)可以為不同的任務(wù)選擇
    發(fā)表于 09-18 10:54

    【本周六-上?!?b class='flag-5'>SMP對(duì)稱多處理 線下培訓(xùn)

    對(duì)稱多處理(SymmetricMultiprocessing,SMP)是一種常見(jiàn)的并行計(jì)算架構(gòu),其中多個(gè)處理器核心共享相同的內(nèi)存和總線系統(tǒng)。這種架構(gòu)允許多個(gè)
    的頭像 發(fā)表于 06-13 08:35 ?253次閱讀
    【本周六-上海】<b class='flag-5'>SMP</b><b class='flag-5'>對(duì)稱多處理</b> 線下培訓(xùn)

    RT-Thread?SMP培訓(xùn)即將來(lái)襲,提升嵌入式開(kāi)源開(kāi)發(fā)技能,快來(lái)報(bào)名!

    對(duì)稱多處理(SymmetricMultiprocessing,SMP)是一種常見(jiàn)的并行計(jì)算架構(gòu),其中多個(gè)處理器核心共享相同的內(nèi)存和總線系統(tǒng)。這種架構(gòu)允許多個(gè)
    的頭像 發(fā)表于 06-06 08:35 ?308次閱讀
    RT-Thread?<b class='flag-5'>SMP</b>培訓(xùn)即將來(lái)襲,提升嵌入式開(kāi)源開(kāi)發(fā)技能,快來(lái)報(bào)名!

    精進(jìn)嵌入式開(kāi)源開(kāi)發(fā)技能,RT-Thread?SMP培訓(xùn)即將來(lái)襲!

    對(duì)稱多處理(SymmetricMultiprocessing,SMP)是一種常見(jiàn)的并行計(jì)算架構(gòu),其中多個(gè)處理器核心共享相同的內(nèi)存和總線系統(tǒng)。這種架構(gòu)允許多個(gè)
    的頭像 發(fā)表于 05-31 08:35 ?442次閱讀
    精進(jìn)嵌入式開(kāi)源開(kāi)發(fā)技能,RT-Thread?<b class='flag-5'>SMP</b>培訓(xùn)即將來(lái)襲!

    如何在多處理器系統(tǒng)中使用EMIF?

    我想在多處理器系統(tǒng)中使用 EMIF。 為此,應(yīng)不時(shí)將地址和數(shù)據(jù)總線設(shè)置為高阻抗?fàn)顟B(tài)。 可能嗎? 我找不到圖紙中連接 EMIF 總線的位置? 直接連接到 PIN 或
    發(fā)表于 03-05 06:51

    SMP是什么 啟動(dòng)方式介紹

    SMP是什么? SMP 英文為Symmetric Multi-Processing ,是對(duì)稱多處理結(jié)構(gòu)的簡(jiǎn)稱,是指在一個(gè)計(jì)算機(jī)上匯集了一組處理器
    的頭像 發(fā)表于 12-05 15:23 ?1708次閱讀

    基于VPX6-460的多處理器通信設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于VPX6-460的多處理器通信設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 11-13 10:13 ?0次下載
    基于VPX6-460的<b class='flag-5'>多處理器</b>通信設(shè)計(jì)