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

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

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

淺析在資源受限的MPU上使用SMP的新方法

麥克泰技術(shù) ? 來源:麥克泰技術(shù) ? 2023-12-19 11:12 ? 次閱讀

在很多人看來,似乎嵌入式Linux可以為嵌入式開發(fā)人員做所有的事情。雖然嵌入式Linux可以適用于一些具有數(shù)兆內(nèi)存和強大處理器的應(yīng)用,但越來越多的案例表明,嵌入式Linux和類似操作系統(tǒng)的開銷會對確定性和內(nèi)存消耗產(chǎn)生負面影響。

蜂窩調(diào)制解調(diào)器、高性能視頻處理和復雜的汽車控制器只是在小尺寸、低功耗多核平臺的對稱多處理(SMP)架構(gòu)下運行的,高度確定性應(yīng)用的幾個案例。此類系統(tǒng)需要底層操作系統(tǒng)的核心分配和任務(wù)調(diào)度能力,以滿足硬實時要求,同時又不影響資源使用。

在資源受限的平臺上,嵌入式Linux不是SMP的可行選擇,支持SMP的實時操作系統(tǒng)(RTOS)也寥寥無幾。因此,開發(fā)人員必須創(chuàng)建自己的方法來跨越多個內(nèi)核進行調(diào)度和管理任務(wù)。隨著越來越多的嵌入式設(shè)備需要跨多個內(nèi)核部署確定性工作負載,RTOS層的動態(tài)負載均衡需求只會不斷增長。

對稱多處理與非對稱多處理

SMP和非對稱多處理(AMP)是兩種多個處理器協(xié)同工作來調(diào)度和運行工作負載的架構(gòu)模式。SMP系統(tǒng)的處理器內(nèi)核是完全相同,可以運行分配給它們的任何任務(wù),而AMP系統(tǒng)通常依賴于單個主內(nèi)核,根據(jù)可用性和優(yōu)先級來調(diào)度和分配任務(wù)。在AMP系統(tǒng)中,核心本身不需要是相同的類型或架構(gòu)(例如,MPU可以與GPU協(xié)同工作),并且任務(wù)通常是針對內(nèi)核類型的。

當開發(fā)人員可以依賴于一個穩(wěn)定且可預測的環(huán)境時,AMP模式效果最佳,因為操作系統(tǒng)可以有效地分配工作負載,而不會產(chǎn)生大量開銷。相比之下,對于在事件不斷變化的環(huán)境中運行的應(yīng)用,需要在不同內(nèi)核之間動態(tài)轉(zhuǎn)移工作負載時,SMP模式通常效果最佳。例如,許多手機都使用SMP,像是在Arm Cortex-A53平臺上實現(xiàn)蜂窩調(diào)制解調(diào)器功能的手機。

為了有效地跨多個內(nèi)核分配應(yīng)用線程,嵌入式軟件開發(fā)人員使用了動態(tài)負載均衡技術(shù)。其主要目標是確保應(yīng)用在運行時在內(nèi)核之間均勻分配計算工作負載,并保證優(yōu)先級最高的線程不會被優(yōu)先級較低的線程搶占。

動態(tài)負載均衡的原理

動態(tài)負載均衡中的“動態(tài)”是指運行時對線程調(diào)度進行持續(xù)評估,使應(yīng)用能夠適應(yīng)不斷變化的任務(wù)需求和系統(tǒng)條件。動態(tài)負載均衡對于以下方面至關(guān)重要:

* 提高利用率:通過將任務(wù)分配到多個核心,開發(fā)人員可以充分利用每個核心的計算能力,提高系統(tǒng)整體利用率。

* 縮短響應(yīng)時間:適當?shù)呢撦d均衡可確保將關(guān)鍵任務(wù)分配給占用最少的核心,從而縮短響應(yīng)時間并增強任務(wù)執(zhí)行的可預測性。

* 容錯:通過將任務(wù)重新分配給未出現(xiàn)故障的核心,負載均衡可以幫助減輕軟件故障和硬件故障的影響,從而確保系統(tǒng)功能的持續(xù)運行。

* 可擴展性:隨著系統(tǒng)需求的增長和更多內(nèi)核的增加,均勻地分配任務(wù)對于在不引入瓶頸的情況下擴展容量至關(guān)重要。

嵌入式Linux自帶負載均衡機制,但也有缺點:操作系統(tǒng)會產(chǎn)生高昂的開銷,這可能會嚴重影響確定性。由于大多數(shù)硬實時RTOS不支持SMP架構(gòu)上的負載均衡,因此開發(fā)人員通常會自行構(gòu)建支持機制。這項工作本身也存在挑戰(zhàn):

* 資源使用:由于每個核心都有自己的緩存、寄存器和其他功能,開發(fā)人員必須花時間了解平臺,以便在不影響性能或不造成資源爭搶的情況下有效地分配任務(wù)。

* 內(nèi)存訪問:如果開發(fā)人員將具有公共內(nèi)存池的任務(wù)分配給不同的內(nèi)核,并且沒有充分考慮應(yīng)用的控制和數(shù)據(jù)流,則可能會出現(xiàn)內(nèi)存訪問問題。

* 任務(wù)優(yōu)先級:開發(fā)人員必須了解所有任務(wù)優(yōu)先級和截止時間,以確保為高優(yōu)先級任務(wù)分配足夠的資源和時間,避免延遲。

* 動態(tài)適應(yīng):由于負載均衡是一個適應(yīng)不斷變化的系統(tǒng)條件的過程,因此開發(fā)人員必須實現(xiàn)某種反饋回路或控制機制,以便在運行期間不斷重新評估線程分配并調(diào)整策略。

* 同步開銷:開發(fā)人員必須最大限度地減少內(nèi)核之間任務(wù)切換所需的開銷,以減少延遲并保持系統(tǒng)的實時響應(yīng)能力。

RTOS層的負載均衡

像是PX5 RTOS這類專為基于多核MPU的應(yīng)用而設(shè)計的RTOS可以提供內(nèi)置負載均衡功能,能夠滿足硬實時確定性的要求,且開銷遠遠低于嵌入式Linux和其他操作系統(tǒng)。PX5 RTOS采用原生POSIX pthreads API,運行所需的內(nèi)存不到10KB,具有極高的可移植性和資源效率,使開發(fā)人員無需構(gòu)建自己的負載均衡器。

這種RTOS原生負載均衡器的運行方式與許多流行的負載均衡技術(shù)相同:

1、給定任意數(shù)量的核心,RTOS會跟蹤每個核心上運行的線程。當核心空閑并且線程可用于調(diào)度時,RTOS會調(diào)度該線程在該核心上運行。

2、如果沒有空閑核心并且新線程已就緒,則RTOS會使用該線程的優(yōu)先級進行調(diào)度:如果其優(yōu)先級高于當前運行的任何其他線程的優(yōu)先級,則RTOS會調(diào)度新線程以搶占正在運行的線程。如果其優(yōu)先級低于當前運行的任何線程的優(yōu)先級,則RTOS會等待下一個可用核心運行。

這種方法使用與嵌入式Linux相同的處理器關(guān)聯(lián)API,使開發(fā)人員可以輕松地將線程分配給特定內(nèi)核并依賴RTOS來強制執(zhí)行此類分配。與大多數(shù)RTOS一樣,開發(fā)人員必須確保共享資源的恰當管理,以避免出現(xiàn)爭用問題。

并非所有線程都是平等的

在典型的單核、基于優(yōu)先級的搶占式調(diào)度環(huán)境中,開發(fā)人員一次只能依賴一個運行的線程。在SMP環(huán)境中,由于多個線程可以在任意數(shù)量的內(nèi)核上并行運行,因此這一條件無法保證。為了避免這種行為對系統(tǒng)的潛在負面影響,即要求在給定時間內(nèi)只運行優(yōu)先級最高的線程,PX5 RTOS讓開發(fā)人員能夠配置調(diào)度,僅允許相同優(yōu)先級的線程在所有內(nèi)核上并行運行。這種方法強制執(zhí)行更嚴格程度的并行,使開發(fā)人員對其系統(tǒng)的可預測性更有信心。

結(jié)論

開發(fā)人員要在小尺寸、低功耗的多核平臺上實現(xiàn)極高的實時性能和響應(yīng)速度,就必須實現(xiàn)動態(tài)負載均衡。像是PX5 RTOS負載均衡功能這樣的機制支持將就緒的應(yīng)用線程與可用內(nèi)核動態(tài)配對,所有這些都在一個超小(小于10KB)、超便攜(具有完全兼容的pthreads API),并且經(jīng)過嚴格測試(每個版本的C語句和分支決策覆蓋率都達到100%)的封裝內(nèi)實現(xiàn)的。

RTOS原生負載均衡使開發(fā)人員能夠?qū)W⒂趹?yīng)用和測試,而不必自己構(gòu)建在多個處理器之間分配工作負載的方法。





審核編輯:劉清

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

    關(guān)注

    68

    文章

    19048

    瀏覽量

    228515
  • 調(diào)制解調(diào)器

    關(guān)注

    3

    文章

    838

    瀏覽量

    38711
  • SMP
    SMP
    +關(guān)注

    關(guān)注

    0

    文章

    71

    瀏覽量

    19601
  • MPU
    MPU
    +關(guān)注

    關(guān)注

    0

    文章

    336

    瀏覽量

    48669
  • 嵌入式開發(fā)
    +關(guān)注

    關(guān)注

    18

    文章

    1012

    瀏覽量

    47436

原文標題:在資源受限的MPU上使用SMP的新方法

文章出處:【微信號:麥克泰技術(shù),微信公眾號:麥克泰技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    保護4-20 mA,±20-mA模擬輸入的新方法

    電子發(fā)燒友網(wǎng)站提供《保護4-20 mA,±20-mA模擬輸入的新方法.pdf》資料免費下載
    發(fā)表于 09-24 09:27 ?0次下載
    保護4-20 mA,±20-mA模擬輸入的<b class='flag-5'>新方法</b>

    實踐JLink 7.62手動增加新MCU型號支持新方法

    大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家分享的是實踐JLink 7.62手動增加新MCU型號支持新方法。
    的頭像 發(fā)表于 08-08 15:25 ?492次閱讀
    實踐JLink 7.62手動增加新MCU型號支持<b class='flag-5'>新方法</b>

    一種無透鏡成像的新方法

    使用OAM-HHG EUV光束對高度周期性結(jié)構(gòu)進行成像的EUV聚光顯微鏡 為了研究微電子或光子元件中的納米級圖案,一種基于無透鏡成像的新方法可以實現(xiàn)近乎完美的高分辨率顯微鏡。 層析成像是一種強大的無
    的頭像 發(fā)表于 07-19 06:20 ?263次閱讀
    一種無透鏡成像的<b class='flag-5'>新方法</b>

    使隱形可見:新方法可在室溫下探測中紅外光

    MIR振動輔助發(fā)光(MIRVAL) 來自伯明翰大學和劍橋大學的科學家們開發(fā)了一種新方法,利用量子系統(tǒng)室溫下探測中紅外線(MIR)光。 這項研究成果發(fā)表《自然·光子學》雜志
    的頭像 發(fā)表于 04-19 06:31 ?256次閱讀
    使隱形可見:<b class='flag-5'>新方法</b>可在室溫下探測中紅外光

    軋機牌坊滑板壓虧修復的新方法

    電子發(fā)燒友網(wǎng)站提供《軋機牌坊滑板壓虧修復的新方法.docx》資料免費下載
    發(fā)表于 03-14 16:16 ?0次下載

    氫壓機軸承位磨損維修的新方法

    電子發(fā)燒友網(wǎng)站提供《氫壓機軸承位磨損維修的新方法.docx》資料免費下載
    發(fā)表于 03-01 16:23 ?0次下載

    imec提出以亞微米像素尺寸分離顏色的新方法賦能CMOS圖像傳感器

    據(jù)麥姆斯咨詢報道,近期,美國加利福尼亞州舊金山舉行的國際電子器件會議(IEEE IEDM 2023),比利時納米電子學和數(shù)字技術(shù)研究與創(chuàng)新中心imec展示了一種“300mm晶圓
    的頭像 發(fā)表于 12-19 16:13 ?605次閱讀
    imec提出以亞微米像素尺寸分離顏色的<b class='flag-5'>新方法</b>賦能CMOS圖像傳感器

    一種產(chǎn)生激光脈沖新方法

    等離子體中脈沖壓縮的概念 英國和韓國的科學家提出了一種產(chǎn)生激光脈沖的新方法,其功率是現(xiàn)有激光脈沖的1000多倍。 科學家們使用計算機模擬聯(lián)合研究,展示了一種壓縮光的新方法,以充分提高光的強度,從真空
    的頭像 發(fā)表于 12-07 06:32 ?426次閱讀
    一種產(chǎn)生激光脈沖<b class='flag-5'>新方法</b>

    IC封裝中快速創(chuàng)建結(jié)構(gòu)的新方法

    IC封裝中快速創(chuàng)建結(jié)構(gòu)的新方法
    的頭像 發(fā)表于 12-06 16:34 ?506次閱讀
    IC封裝中快速創(chuàng)建結(jié)構(gòu)的<b class='flag-5'>新方法</b>

    應(yīng)對傳統(tǒng)摩爾定律微縮挑戰(zhàn)需要芯片布線和集成的新方法

    應(yīng)對傳統(tǒng)摩爾定律微縮挑戰(zhàn)需要芯片布線和集成的新方法
    的頭像 發(fā)表于 12-05 15:32 ?495次閱讀
    應(yīng)對傳統(tǒng)摩爾定律微縮挑戰(zhàn)需要芯片布線和集成的<b class='flag-5'>新方法</b>

    基于PMSM 控制系統(tǒng)仿真建模的新方法

    電子發(fā)燒友網(wǎng)站提供《基于PMSM 控制系統(tǒng)仿真建模的新方法.pdf》資料免費下載
    發(fā)表于 11-29 11:22 ?1次下載
    基于PMSM 控制系統(tǒng)仿真建模的<b class='flag-5'>新方法</b>

    一種產(chǎn)生激光脈沖的新方法

    英國和韓國的科學家提出了一種產(chǎn)生激光脈沖的新方法,其功率是現(xiàn)有激光脈沖的1000多倍。
    的頭像 發(fā)表于 11-20 16:56 ?505次閱讀
    一種產(chǎn)生激光脈沖的<b class='flag-5'>新方法</b>

    VLSI系統(tǒng)設(shè)計的最新方法

    電子發(fā)燒友網(wǎng)站提供《VLSI系統(tǒng)設(shè)計的最新方法.pdf》資料免費下載
    發(fā)表于 11-20 11:10 ?0次下載
    VLSI系統(tǒng)設(shè)計的最<b class='flag-5'>新方法</b>

    研究人員開發(fā)出定制薄膜的新方法

    爾層沉積工藝示意圖。 德國耶拿萊布尼茨光子技術(shù)研究所(Leibniz IPHT)領(lǐng)導的一個德美科學家團隊開發(fā)出一種新方法,可自動沉積具有明確特性的有機半導體薄膜。 這一方法發(fā)表《先進材料》(Advanced Materials
    的頭像 發(fā)表于 11-17 16:09 ?354次閱讀
    研究人員開發(fā)出定制薄膜的<b class='flag-5'>新方法</b>

    戶外全彩LED顯示屏亮度色度檢測新方法

    電子發(fā)燒友網(wǎng)站提供《戶外全彩LED顯示屏亮度色度檢測新方法.doc》資料免費下載
    發(fā)表于 11-02 11:05 ?1次下載
    戶外全彩LED顯示屏亮度色度檢測<b class='flag-5'>新方法</b>