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

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

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

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

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

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

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

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

對(duì)稱多處理與非對(duì)稱多處理

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

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

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

動(dòng)態(tài)負(fù)載均衡的原理

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

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

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

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

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

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

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

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

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

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

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

RTOS層的負(fù)載均衡

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

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

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

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

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

并非所有線程都是平等的

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

結(jié)論

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

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





審核編輯:劉清

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

    關(guān)注

    68

    文章

    18927

    瀏覽量

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

    關(guān)注

    3

    文章

    836

    瀏覽量

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

    關(guān)注

    0

    文章

    70

    瀏覽量

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

    關(guān)注

    0

    文章

    333

    瀏覽量

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

    關(guān)注

    18

    文章

    1006

    瀏覽量

    47355

原文標(biāo)題:在資源受限的MPU上使用SMP的新方法

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    實(shí)踐JLink 7.62手動(dòng)增加新MCU型號(hào)支持新方法

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

    一種無透鏡成像的新方法

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

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

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

    軋機(jī)牌坊滑板壓虧修復(fù)的新方法

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

    氫壓機(jī)軸承位磨損維修的新方法

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    一種改善微波模塊增益指標(biāo)溫度特性的新方法

    電子發(fā)燒友網(wǎng)站提供《一種改善微波模塊增益指標(biāo)溫度特性的新方法.pdf》資料免費(fèi)下載
    發(fā)表于 10-25 10:05 ?0次下載
    一種改善微波模塊增益指標(biāo)溫度特性的<b class='flag-5'>新方法</b>