麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 嵌入式開發:如何用RTOS實現實時動態負載平衡

嵌入式開發:如何用RTOS實現實時動態負載平衡

來源:千鋒教育
發布人:xqq
時間: 2023-12-10 06:15:51 1702160151

人們很容易忘記,嵌入式Linux不能為所有嵌入式開發者做所有的事情。雖然它適用于一些具有許多兆字節內存和強大處理器的應用程序,但有越來越多的使用案例表明,嵌入式Linux和類似操作系統的開銷會對確定性和內存消耗產生負面影響。

蜂窩調制解調器、高性能視頻處理和復雜的汽車控制器只是在小尺寸、低功耗多核平臺上的對稱多處理(SMP)架構下運行的高度確定性應用的幾個例子。這種系統需要底層操作系統的核心分配和任務調度支持,以滿足嚴格的實時要求,同時不影響資源的使用。

對于資源受限的平臺上的SMP來說,嵌入式Linux不是一個可行的選擇,而且很少有實時操作系統(RTOS)支持SMP。因此,開發人員必須創建自己的方法來跨多個內核調度和管理任務。

隨著越來越多的嵌入式設備需要在多個內核上部署確定性工作負載,RTOS級的動態負載平衡需求只會越來越大。

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

SMP和非對稱多處理(AMP)是兩個或多個處理器協同工作來調度和運行工作負載的架構模型。雖然SMP系統具有相同的內核,可以運行分配給它們的任何任務,但AMP系統通常依賴單個主內核來根據可用性和優先級調度和分配任務。在AMP下,內核本身不需要相同的類型或架構(例如,MPU可以與GPU協同工作),任務通常特定于內核類型。

當嵌入式開發人員可以依賴一個穩定且可預測的環境,以便操作系統可以有效地分配工作負載而沒有顯著的開銷時,AMP模型工作得最好。相比之下,對于在事件不斷變化并需要在內核間動態轉移工作負載的環境中運行的應用程序,SMP模型通常效果最佳。例如,許多手機使用SMP,例如那些在ArmCortex-A53平臺上實現蜂窩調制解調器功能的手機。

為了在多個內核之間有效地分配應用線程,嵌入式軟件開發人員使用了動態負載平衡技術。主要目標是確保應用在運行時在內核之間平均分配計算工作負載,并保證優先級最高的線程不會被優先級較低的線程搶占。

動態負載平衡背后的原則

動態負載平衡中的“動態”是指在運行時對線程調度的持續評估,它使應用程序能夠適應不斷變化的任務需求和系統條件。動態負載平衡對于以下方面至關重要:

l提高利用率:通過在多個內核之間分配任務,嵌入式開發人員可以充分利用每個內核的計算能力,從而提高整體系統利用率。

l縮短響應時間:適當的負載平衡可確保將關鍵任務分配給競爭最少的內核,從而縮短響應時間并提高任務執行的可預測性。

l容錯:負載平衡可將任務重新分配給未發生故障的內核,從而確保系統功能持續運行,有助于減輕軟件故障和硬件故障的影響。

l可擴展性:隨著系統需求的增長和更多內核的添加,平均分配任務對于擴展容量而不引入瓶頸至關重要。

嵌入式Linux帶有負載平衡機制,但有一個缺點:操作系統會產生很高的開銷,這可能會嚴重影響確定性。由于大多數硬實時RTOS不支持SMP架構上的負載平衡,開發者通常求助于構建他們自己的支持。這項工作本身也存在挑戰:

l資源使用:由于每個內核都有自己的緩存、寄存器和其他獨特的功能,嵌入式開發人員必須花時間徹底了解平臺,以便在不影響性能或資源爭用的情況下有效地分配任務。

l內存訪問:如果開發人員將具有公共內存池的任務分配給不同的內核,如果沒有充分考慮應用程序的控制和數據流,就可能會出現內存訪問爭用問題。

l任務優先級:開發人員必須了解所有任務的優先級和截止日期,以確保高優先級任務被分配了足夠的資源和時間來避免延遲。

l動態適應:因為負載平衡是一個適應不斷變化的系統條件的過程,所以開發人員必須實現某種反饋循環或控制機制,以便在運行時不斷重新評估線程分配并調整策略。

l同步開銷:開發人員必須最大限度地減少內核間任務切換所需的開銷,以減少延遲并保持系統的實時響應能力。

RTOS級別的負載平衡

像PX5RTOS這樣的RTOS是為基于多核MPU的應用程序設計的,它提供了內置的負載平衡,與嵌入式Linux和其他操作系統相比,它可以以顯著更低的開銷滿足硬實時決定論。PX5RTOS實現了本機POSIXpthreadsAPI,運行所需空間小于10KB,具有極強的可移植性和資源效率,使嵌入式開發人員無需構建自己的負載均衡器。

這款RTOS本地負載平衡器的運行方式與許多流行的負載平衡技術相同:

1.給定任意數量的內核,RTOS會跟蹤每個內核上運行的線程。當一個內核變得空閑并且一個線程可用于調度時,RTOS調度該線程在該內核上運行。

2.如果沒有空閑的內核,并且有一個新線程準備就緒,則RTOS使用該線程的優先級進行調度:如果其優先級高于當前正在運行的任何其他線程,則RTOS會調度新線程來搶占正在運行的線程。如果其優先級低于當前運行的任何線程,RTOS將等待下一個可用的內核運行。

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

并非所有線程都被認為是平等的

在典型的單核、基于優先級的搶占式調度環境中,嵌入式開發人員一次只能運行一個線程。在SMP環境中,這種情況無法保證,因為多線程可以在任意數量的內核上并行運行。為了避免這種行為對要求在給定時間只運行最高優先級線程的系統的潛在負面影響,PX5RTOS使開發人員能夠配置調度,只允許同等優先級的線程在所有內核上并行運行。這種方法加強了更嚴格的并行度,使開發人員對他們系統的可預測性更有信心。

結論

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

RTOS本機負載平衡使嵌入式開發開發人員能夠專注于應用程序邏輯和測試,而不必構建自己的跨多個處理器分配工作負載的方法。

聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 伊人久久久大香线蕉综合直播| 色婷婷视频| 国产成a人片在线观看视频下载| 亚洲二区电影| 性做久久久久免费观看| 红色一片免费高清影视| 又粗又硬又大又爽免费观看| 免费大片黄国产在线观看| 国产精品久久一区二区三区| 毛片免费观看网址| 中文字幕无线码中文字幕免费 | 精品视频一区二区三三区四区| 波多野结衣三人蕾丝边| 国产午夜精品一区二区三区不卡| 一级毛片无毒不卡直接观看| 亚洲人成网站在线播放2019| 日韩一级高清| 玖玖玖影院| 风间由美juy135在线观看| 高龄五十路中出| 五十路亲子中出中文字幕| 草莓污视频在线观看午夜社区 | 动漫精品动漫一区三区3d| 韩国爸爸的朋友10整有限中字| 学霸c了我一节课| 国产三区视频在线观看| 亚洲同性男gay网站在线观看| 精品亚洲欧美无人区乱码| 冬月枫在线观看| 成年在线观看免费人视频草莓| 欧美国产综合| 国内一级黄色片| 波多野结衣痴女系列88| 好妈妈5高清中字在线观看| 抽搐一进一出在深一点| 欧美三级在线播放| а√最新版在线天堂| 天天操夜| 久久99精品九九九久久婷婷| 北条麻妃大战黑人| 直接进入免费看黄的网站|