在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

將舊版應用程序遷移到多核并沒有那么可怕

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:BILL GRAHAM ? 2022-11-07 14:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

多核處理器嵌入式系統帶來了顯著的性能和功耗優勢,但它們也增加了傳統遷移工作負載的多處理復雜性。盡管如此,開發團隊可以通過遵循一些簡單的技術來成功管理向多核的過渡。

移植到便攜式標準

通常,遷移到多核不僅僅涉及遷移到新處理器。在許多情況下,開發人員必須首先將舊代碼移植到新的編程語言、編譯器或操作系統。 強烈建議使用 POSIX 等開放標準,因為它支持許多通用和實時操作系統。這樣做將有助于確保應用程序的大部分內容(包括其與操作系統的接口)是可移植的。同樣重要的是,POSIX標準在多處理系統中有著悠久的歷史,而多核處理器只是多處理片上系統(SoC)。

分而治之

支持對稱多處理 (SMP) 的操作系統是同構多核處理器的最佳選擇。SMP 將分配 CPU 資源的復雜細節留給操作系統,而不是應用程序。從應用程序的角度來看,與操作系統的接口保持不變,無論內核數量如何,從 1 到 N。因此,隨著更多內核的添加,應用程序可以輕松擴展。

在 SMP 模式下運行的多核系統提供了真正的并行性,但一些傳統應用程序從未設計為并行執行。通常,大部分代碼不使用線程,這將允許應用程序的不同部分并行運行,或者僅使用線程來隔離阻塞系統調用,例如文件或網絡 I/O。

另一個典型的陷阱發生在代碼使用優先級方案來控制對共享內存的訪問時。例如,在單處理器嵌入式系統中,軟件開發人員通??梢约僭O高優先級線程和低優先級線程不會同時訪問內存,因為高優先級線程將始終搶占低優先級線程。因此,許多程序無法使用互斥鎖(互斥鎖)來正確同步對內存的訪問。但是,在 SMP 多核系統中,這兩個線程可以并行運行,因此會同時訪問內存,從而產生不可預測的結果。由于同步錯誤,可能存在其他隱蔽問題,這些錯誤在單處理器系統上完美運行,但僅在多處理器執行中出現。

為了解決這樣的問題,開發人員可以分而治之:將問題代碼隔離在多核芯片的單個內核上,直到代碼可以修復。為此,開發人員可以使用綁定多處理 (BMP),這是 SMP 的擴展,允許選定的進程僅在指定的內核或 CPU 上運行。實際上,BMP 為遺留代碼提供了一個單核、非并行執行環境,同時允許其他代碼利用 SMP 的完全并行性。開發團隊在修改舊代碼以在其新的并行環境中正常運行后,可以隨后刪除 CPU 綁定。

利用這些工具

開發團隊還必須使用正確的工具。特別是,他們需要可視化工具來幫助他們查明并行環境中代碼行為異常的區域。大多數情況下,這項工作涉及檢測和糾正前面提到的同步錯誤。

一旦應用程序正常運行,它仍然可能無法利用多核芯片的所有 CPU 容量??梢暬ぞ咴谶@方面也可以提供幫助,它允許開發人員減少對共享資源(熱點)的爭用,消除過多的線程遷移或內核之間的通信,并找到并行化代碼的機會。隨著多核平臺內核數量的增加,可視化工具將是成功利用多核提供的性能優勢的關鍵。

為了提供這樣的分析,多核可視化工具必須超越傳統調試工具的范圍。例如,它們必須在線程從一個內核遷移到另一個內核時跟蹤線程,并診斷在內核之間流動的消息。他們還必須靈活控制記錄哪些事件以及何時記錄,以便開發人員可以專注于關注的領域。

進行過渡

“多核”不需要是一個壞詞,也不需要為傳統遷移添加另一個障礙。采用POSIX等可移植編程標準,使用專為多核平臺設計的操作系統,隔離遺留代碼以在單個內核上運行,以及使用可視化工具,所有這些都使過渡變得不那么令人生畏。

審核編輯:郭婷

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

    關注

    68

    文章

    19851

    瀏覽量

    234138
  • 嵌入式
    +關注

    關注

    5145

    文章

    19597

    瀏覽量

    316144
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    客戶改了一個電阻就炸機?原因并沒有那么簡單

    客戶改了一個電阻就炸機?原因并沒有那么簡單【樣機芯片介紹】本次調試的樣機主控IC為思睿達主推的成都啟臣微的CR6853B,該IC為副邊控制IC,該IC是一款高集成度,低功耗的電流模PWM控制芯片,該
    的頭像 發表于 05-08 09:59 ?206次閱讀
    客戶改了一個電阻就炸機?原因<b class='flag-5'>并沒有</b><b class='flag-5'>那么</b>簡單

    如何項目從IAR遷移到Embedded Studio

    本文描述如何IAR EWARM項目遷移到SEGGER Embedded Studio(簡稱SES)中。
    的頭像 發表于 02-25 17:11 ?533次閱讀
    如何<b class='flag-5'>將</b>項目從IAR<b class='flag-5'>遷移到</b>Embedded Studio

    從INA219遷移到INA232

    電子發燒友網站提供《從INA219遷移到INA232.pdf》資料免費下載
    發表于 11-14 14:17 ?1次下載
    從INA219<b class='flag-5'>遷移到</b>INA232

    從USCI模塊遷移到eUSCI模塊

    電子發燒友網站提供《從USCI模塊遷移到eUSCI模塊.pdf》資料免費下載
    發表于 10-18 10:39 ?0次下載
    從USCI模塊<b class='flag-5'>遷移到</b>eUSCI模塊

    從OMAP3530遷移到AM37x

    電子發燒友網站提供《從OMAP3530遷移到AM37x.pdf》資料免費下載
    發表于 10-14 11:39 ?0次下載
    從OMAP3530<b class='flag-5'>遷移到</b>AM37x

    從TMS320DM644x v.2.1 ROM引導加載程序遷移到2.3版本

    電子發燒友網站提供《從TMS320DM644x v.2.1 ROM引導加載程序遷移到2.3版本.pdf》資料免費下載
    發表于 10-14 10:50 ?0次下載
    從TMS320DM644x v.2.1 ROM引導加載<b class='flag-5'>程序</b><b class='flag-5'>遷移到</b>2.3版本

    從OMAP3530遷移到AM35x

    電子發燒友網站提供《從OMAP3530遷移到AM35x.pdf》資料免費下載
    發表于 10-12 09:26 ?0次下載
    從OMAP3530<b class='flag-5'>遷移到</b>AM35x

    DSP/BIOS 5應用程序遷移到SYS/BIOS 6

    電子發燒友網站提供《DSP/BIOS 5應用程序遷移到SYS/BIOS 6.pdf》資料免費下載
    發表于 09-27 10:54 ?0次下載
    <b class='flag-5'>將</b>DSP/BIOS 5<b class='flag-5'>應用程序</b><b class='flag-5'>遷移到</b>SYS/BIOS 6

    硬件遷移到CC2652R7和CC2652P7

    電子發燒友網站提供《硬件遷移到CC2652R7和CC2652P7.pdf》資料免費下載
    發表于 09-26 11:07 ?0次下載
    <b class='flag-5'>將</b>硬件<b class='flag-5'>遷移到</b>CC2652R7和CC2652P7

    IT資源遷移到云服務器的關鍵因素

    隨著云計算技術的不斷成熟和普及,越來越多的企業選擇將他們的IT資源遷移到云服務器上。這種轉變不僅可以降低成本、提高靈活性,還可以提升安全性和效率。本文深入探討IT資源遷移到云服務器
    的頭像 發表于 09-18 11:21 ?560次閱讀

    遷移到基于Arm STM32的MSPMO指南

    電子發燒友網站提供《從遷移到基于Arm STM32的MSPMO指南.pdf》資料免費下載
    發表于 09-07 11:17 ?0次下載
    從<b class='flag-5'>遷移到</b>基于Arm STM32的MSPMO指南

    為什么INA188的GBW并沒有1Mhz?

    請問下,為什么INA188的GBW并沒有1Mhz, 但是在官方推薦的應用(TIDA-01063)中卻可以適用于20Mhz的傳感器的檢測?
    發表于 08-02 10:39

    單獨使用AFE031芯片并沒有任何輸出怎么解決?

    你好,在使用AFE031芯片與非C2000系列芯片連接時,按照C2000Ware中boostxl_afe031_f28379d_dacmode示例中初始化完成后,使用SPI任意向AFE031芯片發送一個數據,示波器中并沒有數據變化,請問這種情況怎么解決呢?
    發表于 07-30 06:48

    編譯運行ESP8266_RTOS_SDK-master,發現程序并沒有正確執行,為什么?

    ,eagle.irom0text.bin---->0x20000燒寫到相應地址,程序運行后,發現并沒有正確執行,請問是否燒寫地址錯誤,或者是配置FLASH錯誤
    發表于 07-12 08:21

    靜態庫中定義的INIT_DEVICE_EXPORT函數并沒有被系統調用,為什么?

    1,一段代碼編譯成靜態庫 2,主工程鏈接這個靜態庫 3,靜態庫里的函數并沒有被主工程調用 4,靜態庫中定義了一些 INIT_DEVICE_EXPORT 函數 問題: 靜態庫中定義的 INIT_DEVICE_EXPORT 函數并沒有
    發表于 07-04 06:49
    主站蜘蛛池模板: 精品伊人久久大香线蕉网站 | 免费国产小视频 | 久久综合九色综合97婷婷群聊 | 狼色网 | 国产精品香蕉成人网在线观看 | 老师办公室高h文小说 | 黄色免费三级 | 国产伦一区二区三区免费 | 丁香六月激情网 | 四虎影院国产 | 伊人成综合 | 天天干天天操天天爽 | 精品在线视频一区 | 亚洲一区 在线播放 | 国产一级特黄老妇女大片免费 | 夜色成人 | 午夜欧美 | 国产三级观看 | 五月婷婷七月丁香 | 999久久精品国产 | 久久中文字幕综合婷婷 | 色多多在线观看播放 | 年轻护士3的滋味 | 三级理论在线 | 好男人社区www在线观看 | 激情综合网五月激情 | 亚洲国产情侣偷自在线二页 | 大尺度视频在线 | 在线色资源 | 激情综合在线 | 成人伊在线影院 | 天天插综合 | 最新大黄网站免费 | 国产在线99| 国产美女流出白浆在线观看 | 亚洲аv电影天堂网 | 国产精品久久久久久久免费 | 一级片在线免费观看 | 7777奇米影视 | 国产精品久久久亚洲 | 韩国午夜精品理论片西瓜 |