国产睡熟迷奷白丝护士系列精品,中文色字幕网站,免费h网站在线观看的,亚洲开心激情在线

      <sup id="hb9fh"></sup>
          1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

            手機(jī)站
            千鋒教育

            千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

            千鋒教育

            掃一掃進(jìn)入千鋒手機(jī)站

            領(lǐng)取全套視頻
            千鋒教育

            關(guān)注千鋒學(xué)習(xí)站小程序
            隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

            當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > 嵌入式開發(fā):如何用RTOS實(shí)現(xiàn)實(shí)時(shí)動(dòng)態(tài)負(fù)載平衡

            嵌入式開發(fā):如何用RTOS實(shí)現(xiàn)實(shí)時(shí)動(dòng)態(tài)負(fù)載平衡

            來(lái)源:千鋒教育
            發(fā)布人:xqq
            時(shí)間: 2023-12-10 06:15:51 1702160151

            人們很容易忘記,嵌入式Linux不能為所有嵌入式開發(fā)者做所有的事情。雖然它適用于一些具有許多兆字節(jié)內(nèi)存和強(qiáng)大處理器的應(yīng)用程序,但有越來(lái)越多的使用案例表明,嵌入式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)度支持,以滿足嚴(yán)格的實(shí)時(shí)要求,同時(shí)不影響資源的使用。

            對(duì)于資源受限的平臺(tái)上的SMP來(lái)說(shuō),嵌入式Linux不是一個(gè)可行的選擇,而且很少有實(shí)時(shí)操作系統(tǒng)(RTOS)支持SMP。因此,開發(fā)人員必須創(chuàng)建自己的方法來(lái)跨多個(gè)內(nèi)核調(diào)度和管理任務(wù)。

            隨著越來(lái)越多的嵌入式設(shè)備需要在多個(gè)內(nèi)核上部署確定性工作負(fù)載,RTOS級(jí)的動(dòng)態(tài)負(fù)載平衡需求只會(huì)越來(lái)越大。

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

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

            當(dāng)嵌入式開發(fā)人員可以依賴一個(gè)穩(wěn)定且可預(yù)測(cè)的環(huán)境,以便操作系統(tǒng)可以有效地分配工作負(fù)載而沒(méi)有顯著的開銷時(shí),AMP模型工作得最好。相比之下,對(duì)于在事件不斷變化并需要在內(nèi)核間動(dòng)態(tài)轉(zhuǎn)移工作負(fù)載的環(huán)境中運(yùn)行的應(yīng)用程序,SMP模型通常效果最佳。例如,許多手機(jī)使用SMP,例如那些在ArmCortex-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)度的持續(xù)評(píng)估,它使應(yīng)用程序能夠適應(yīng)不斷變化的任務(wù)需求和系統(tǒng)條件。動(dòng)態(tài)負(fù)載平衡對(duì)于以下方面至關(guān)重要:

            l提高利用率:通過(guò)在多個(gè)內(nèi)核之間分配任務(wù),嵌入式開發(fā)人員可以充分利用每個(gè)內(nèi)核的計(jì)算能力,從而提高整體系統(tǒng)利用率。

            l縮短響應(yīng)時(shí)間:適當(dāng)?shù)呢?fù)載平衡可確保將關(guān)鍵任務(wù)分配給競(jìng)爭(zhēng)最少的內(nèi)核,從而縮短響應(yīng)時(shí)間并提高任務(wù)執(zhí)行的可預(yù)測(cè)性。

            l容錯(cuò):負(fù)載平衡可將任務(wù)重新分配給未發(fā)生故障的內(nèi)核,從而確保系統(tǒng)功能持續(xù)運(yùn)行,有助于減輕軟件故障和硬件故障的影響。

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

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

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

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

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

            l動(dòng)態(tài)適應(yīng):因?yàn)樨?fù)載平衡是一個(gè)適應(yīng)不斷變化的系統(tǒng)條件的過(guò)程,所以開發(fā)人員必須實(shí)現(xiàn)某種反饋循環(huán)或控制機(jī)制,以便在運(yùn)行時(shí)不斷重新評(píng)估線程分配并調(diào)整策略。

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

            RTOS級(jí)別的負(fù)載平衡

            像PX5RTOS這樣的RTOS是為基于多核MPU的應(yīng)用程序設(shè)計(jì)的,它提供了內(nèi)置的負(fù)載平衡,與嵌入式Linux和其他操作系統(tǒng)相比,它可以以顯著更低的開銷滿足硬實(shí)時(shí)決定論。PX5RTOS實(shí)現(xiàn)了本機(jī)POSIXpthreadsAPI,運(yùn)行所需空間小于10KB,具有極強(qiáng)的可移植性和資源效率,使嵌入式開發(fā)人員無(wú)需構(gòu)建自己的負(fù)載均衡器。

            這款RTOS本地負(fù)載平衡器的運(yùn)行方式與許多流行的負(fù)載平衡技術(shù)相同:

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

            2.如果沒(méi)有空閑的內(nèi)核,并且有一個(gè)新線程準(zhǔn)備就緒,則RTOS使用該線程的優(yōu)先級(jí)進(jìn)行調(diào)度:如果其優(yōu)先級(jí)高于當(dāng)前正在運(yùn)行的任何其他線程,則RTOS會(huì)調(diào)度新線程來(lái)?yè)屨颊谶\(yùn)行的線程。如果其優(yōu)先級(jí)低于當(dāng)前運(yùn)行的任何線程,RTOS將等待下一個(gè)可用的內(nèi)核運(yùn)行。

            這種方法使用與嵌入式Linux相同的處理器親和API,使得開發(fā)人員可以輕松地將線程分配給特定的內(nèi)核,并依靠RTOS來(lái)執(zhí)行這種分配。與大多數(shù)RTOS一樣,開發(fā)人員必須確保共享資源的正確管理,以避免爭(zhēng)用問(wèn)題。

            并非所有線程都被認(rèn)為是平等的

            在典型的單核、基于優(yōu)先級(jí)的搶占式調(diào)度環(huán)境中,嵌入式開發(fā)人員一次只能運(yùn)行一個(gè)線程。在SMP環(huán)境中,這種情況無(wú)法保證,因?yàn)槎嗑€程可以在任意數(shù)量的內(nèi)核上并行運(yùn)行。為了避免這種行為對(duì)要求在給定時(shí)間只運(yùn)行最高優(yōu)先級(jí)線程的系統(tǒng)的潛在負(fù)面影響,PX5RTOS使開發(fā)人員能夠配置調(diào)度,只允許同等優(yōu)先級(jí)的線程在所有內(nèi)核上并行運(yùn)行。這種方法加強(qiáng)了更嚴(yán)格的并行度,使開發(fā)人員對(duì)他們系統(tǒng)的可預(yù)測(cè)性更有信心。

            結(jié)論

            開發(fā)人員必須實(shí)現(xiàn)動(dòng)態(tài)負(fù)載平衡,才能在占地面積小、功耗低的多核平臺(tái)上實(shí)現(xiàn)硬實(shí)時(shí)性能和響應(yīng)能力。像PX5RTOS加載平衡功能這樣的機(jī)制支持就緒應(yīng)用程序線程與可用內(nèi)核的動(dòng)態(tài)配對(duì),所有這些都在一個(gè)超小型(小于10KB)、超可移植(具有完全兼容的pthreadsAPI)和經(jīng)過(guò)嚴(yán)格測(cè)試(每個(gè)版本的100%C語(yǔ)句和分支決策覆蓋率)的包中。

            RTOS本機(jī)負(fù)載平衡使嵌入式開發(fā)開發(fā)人員能夠?qū)W⒂趹?yīng)用程序邏輯和測(cè)試,而不必構(gòu)建自己的跨多個(gè)處理器分配工作負(fù)載的方法。

            聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
            10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
            請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
            免費(fèi)領(lǐng)取
            今日已有369人領(lǐng)取成功
            劉同學(xué) 138****2860 剛剛成功領(lǐng)取
            王同學(xué) 131****2015 剛剛成功領(lǐng)取
            張同學(xué) 133****4652 剛剛成功領(lǐng)取
            李同學(xué) 135****8607 剛剛成功領(lǐng)取
            楊同學(xué) 132****5667 剛剛成功領(lǐng)取
            岳同學(xué) 134****6652 剛剛成功領(lǐng)取
            梁同學(xué) 157****2950 剛剛成功領(lǐng)取
            劉同學(xué) 189****1015 剛剛成功領(lǐng)取
            張同學(xué) 155****4678 剛剛成功領(lǐng)取
            鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
            董同學(xué) 138****2867 剛剛成功領(lǐng)取
            周同學(xué) 136****3602 剛剛成功領(lǐng)取
            相關(guān)推薦HOT
            嵌入式培訓(xùn)課程:探索技術(shù)的無(wú)限可能

            近年來(lái),嵌入式系統(tǒng)的廣泛應(yīng)用已經(jīng)深刻改變了我們的生活方式。從智能手機(jī)到智能家居,從汽車到醫(yī)療設(shè)備,嵌入式技術(shù)已經(jīng)成為現(xiàn)代社會(huì)不可或缺的...詳情>>

            2023-12-12 11:02:35
            嵌入式開發(fā):Linux網(wǎng)絡(luò)編程的探索與實(shí)踐

            在當(dāng)今的科技世界中,嵌入式系統(tǒng)已經(jīng)滲透到我們生活的方方面面,從智能手機(jī)、電視、汽車到醫(yī)療設(shè)備等。而在這些設(shè)備中,Linux網(wǎng)絡(luò)編程扮演著至...詳情>>

            2023-12-12 09:55:55
            Java游戲項(xiàng)目開發(fā):技術(shù)概覽與實(shí)踐

            在數(shù)字化世界中,游戲已經(jīng)成為了人們休閑娛樂(lè)的重要方式之一。隨著科技的不斷進(jìn)步,游戲開發(fā)行業(yè)也在不斷發(fā)展,而Java作為一門廣泛使用的編程語(yǔ)...詳情>>

            2023-12-12 08:49:15
            Web前端的基石:HTML

            在數(shù)字化的時(shí)代,網(wǎng)頁(yè)設(shè)計(jì)已經(jīng)成為了一個(gè)重要的領(lǐng)域。而在這個(gè)領(lǐng)域中,HTML(HyperTextMarkupLanguage)無(wú)疑是最基礎(chǔ)、最重要的一環(huán)。它是構(gòu)建...詳情>>

            2023-12-12 08:15:55
            嵌入式開發(fā):內(nèi)存分配的方式

            嵌入式系統(tǒng)開發(fā)中,內(nèi)存分配是一個(gè)至關(guān)重要的話題。嵌入式系統(tǒng)通常具有有限的內(nèi)存資源,因此合理的內(nèi)存分配方式對(duì)系統(tǒng)的性能和穩(wěn)定性至關(guān)重要。...詳情>>

            2023-12-12 06:35:55
            快速通道