国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

多核系統中的自動分析并以圖形方式描述實時事件的工具

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:John A. Carbone ? 2022-06-14 15:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

實時系統必須對外部和內部需求做出快速反應。當系統使用多核架構時,交互的速度和數量會急劇上升。雖然這提高了系統性能,但它使應用程序事件的實時排序變得復雜,因為多核系統事件可以在多個獨立處理器上同時發生,而不是在單個處理器上順序發生。

對于多核開發人員而言,管理事件數量及其同時性質的復雜性增加代表了設計更具挑戰性的系統。與單處理器系統相比,多核系統診斷系統故障或效率低下的原因要困難得多。由于可用的多核工具很少,開發人員只能使用原始的打印語句技術,這些技術會在整個系統操作過程中留下面包屑,指示有關已發生的各種事件的數據。開發人員必須收集并理解碎屑并推斷系統的狀態,這一過程通常需要隨后重新測量以獲得更精細的粒度和重復該過程。

為了有效地解開多核系統上復雜的操作序列,開發人員需要即時回放,使他們能夠檢查緊接感興趣區域之前的系統操作。如圖 1 所示,一種新型調試工具準確顯示了多核系統在特定時間段內發生的情況。所有系統事件的圖形分析顯示在由應用程序線程組織并按處理器內核分組的單個時間尺度上。

圖 1: TraceX 提供多核系統中實時事件的圖形視圖。在此示例中,可以看到 Core-0 和 Core-1 同時執行不同的線程。

poYBAGKoNZ6AUF4JAAS1nT-0Zoo261.png

系統事件分析的傳統方法

實時程序員早就了解系統行為對其應用程序功能和性能的重要性。傳統方法通過切換 I/O 引腳、使用 printf、設置變量或將值寫入文件來在代碼到達某個階段時生成有關系統行為的數據來解決這些問題。

插入這樣的響應需要大量時間,尤其是考慮到檢測代碼在第一次時通常不能完全按預期工作,并且必須進行調試。一旦驗證了應用程序的該部分,就需要刪除檢測代碼,并且需要對其刪除進行調試。大多數檢測過程是手動的,因此很耗時并且容易出現額外的錯誤。

除了檢測代碼之外,開發人員還需要找到一種方法來解釋生成的數據。檢測代碼生成的大量信息使確定哪些系統事件以何種順序發生的任務變得復雜。

新方法提供優勢

與傳統方法相比,TraceX 自動分析并以圖形方式描繪運行期間在目標系統上捕獲的系統和應用程序事件。線程上下文切換、搶占、暫停、終止和系統中斷等事件都會留下調試工具識別和顯示的面包屑。這些面包屑描述了剛剛發生的事件、涉及哪個線程、該線程在哪個內核上運行、何時發生以及其他相關信息。

使用此工具,用戶可以使用應用程序編程接口 (API) 記錄任何所需的應用程序事件。事件信息存儲(記錄)在目標系統上的循環緩沖區中,緩沖區大小由應用程序確定。循環緩沖區可以隨時存儲最近的“n”個事件,并可在系統故障或其他重大事件的情況下進行檢查。

良好的多核調試工具允許應用程序在特定時間(例如遇到感興趣的區域時)動態停止和啟動事件記錄。這樣可以避免在系統正常運行時使數據庫混亂并消耗目標內存。當遇到斷點或系統崩潰或應用程序運行完成后,可以將事件日志上傳到主機進行分析。

一旦事件日志從目標內存上傳到主機,該工具就會在代表時間的水平軸上以圖形方式顯示事件(參見圖 1)。與事件相關的各種應用程序線程和系統例程沿縱軸列出,事件本身出現在相應的行中。對于多核系統,事件鏈接到它們各自的處理器內核并分組在一起,以便開發人員可以輕松查看內核的所有事件。

所有事件也顯示在頂部摘要行中,無論內核或線程如何,為開發人員提供了一種方便的方式來獲取系統事件的完整畫面,而無需向下滾動查看所有線程和內核。事件由位于沿水平時間線的發生點以及相關線程或系統例程的右側的顏色編碼圖標表示。軸可以展開以顯示更多事件詳細信息,也可以折疊以顯示更多事件。時間刻度可以向左(向后)或向右(向前)平移以顯示跟蹤緩沖區中的任何點。如圖2所示,選擇單個事件時,將為該事件提供詳細信息,包括核心,上下文,事件,線程指針,新狀態,堆棧指針和下一個線程點。

圖 2:單擊事件圖標可以顯示單個事件的詳細信息。

pYYBAGKoNaWAdReRAATErSUXoeg676.png

解決優先級反轉問題

最具挑戰性的實時問題之一是優先級反轉。優先級反轉的出現是因為實時操作系統 (RTOS) 采用基于優先級的搶占式調度程序來確保準備好運行的最高優先級線程實際運行。調度程序可以在執行過程中搶占一個較低優先級的線程來滿足這個目標。

當高優先級和低優先級線程共享資源(例如內存緩沖區)時,可能會出現問題。如果在高優先級線程準備運行時低優先級線程正在使用共享資源,則高優先級線程必須等待低優先級線程完成。如果較高優先級的線程必須滿足關鍵期限,則必須計算它可能必須等待其所有共享資源的最長時間,以確定其最壞情況下的性能。當 CPU 為低優先級線程提供服務時,高優先級線程被迫等待,就會發生優先級反轉。

優先級倒置很難識別和糾正。他們的癥狀通常是表現不佳,但表現不佳源于許多潛在原因。使確定原因的挑戰更加復雜的是,優先級倒置可以逃避測試,這可能意味著倒置是不確定的。

像 TraceX 這樣的系統事件工具可以輕松自動地識別優先級反轉。跟蹤緩沖區清楚地識別在任何時間點正在運行的線程并記錄線程就緒狀態的任何變化。因此,很容易及時返回以確定較高優先級線程是否已準備好運行但被持有較高優先級線程所需資源的較低優先級線程阻塞。圖 3 顯示了非確定性優先級反轉。

圖 3:高優先級線程必須等待低優先級線程在非確定性優先級反轉中釋放互斥鎖。

pYYBAGKoNa2ASxtwAAQoum3Fsjw353.png

如此圖所示,當 Low_thread 被 High_thread 搶占時,它持有一個互斥鎖。High_thread 然后尋找相同的互斥體,但必須等待 Low_thread 釋放它。但是,Medium_thread 進行了干預,可以運行不確定的時間長度,不僅延遲了 Low_thread,還延遲了 High_thread。只有當 Medium_thread 為 Low_thread 提供足夠的時間以完成其處理并釋放互斥鎖時,High_thread 才能恢復。

提高應用程序性能

雖然大多數開發人員使用支持多核的工具來理解和糾正問題,但好處并不止于此。這些工具提供了用于分析和改進系統級應用程序性能的執行配置文件。使用執行配置文件,開發人員可以看到每個線程和系統服務使用的 CPU 時間量(參見圖 4)。開發人員可以輕松地深入了解特定事件以進行診斷。

圖 4:執行配置文件顯示每個線程使用的 CPU 時間。

pYYBAGKoNbWAFdveAAKjHYwh4j8592.png

與多核系統操作更相關的是,平衡所有可用內核的處理負載可以實現更大的系統吞吐量。如果系統配置文件提供了有關哪些內核具有較長空閑時間的信息,如圖 4 所示,開發人員將獲得有關如何將處理轉移到其他空閑內核的有力線索。

支持多核的調試工具以標準調試器無法提供的方式繪制系統的圖形圖像。它為開發人員提供了對中斷、上下文切換和其他系統事件的清晰視圖,這些事件通常通過耗時的代碼檢測和對結果數據的繁瑣檢查來檢測。因此,與單獨使用標準調試工具相比,開發人員可以在更短的時間內找到并修復錯誤并優化應用程序性能。由于調試占應用程序開發的 70%,這些工具顯著改進了產品,同時減少了開發時間。

審核編輯:郭婷

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

    關注

    68

    文章

    11281

    瀏覽量

    225097
  • API
    API
    +關注

    關注

    2

    文章

    2375

    瀏覽量

    66805
  • RTOS
    +關注

    關注

    25

    文章

    866

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【原創】OpenHarmony系統投屏工具軟件 - OpenHarmony_OHScrcpy使用推薦

    側(服務端) :基于OpenHarmony系統C-API實現 特性 ??實時屏幕鏡像 :低延遲顯示OpenHarmony設備屏幕 ?設備控制 :支持點擊、滑動、按鍵等操作 ?多種連接方式 :支持USB
    發表于 01-22 18:34

    嵌入式軟件單元測試AI自動化與人工檢查的協同機制研究:基于專業工具的實證分析

    ? ?摘要****? 本文系統探討嵌入式軟件相較于通用軟件在單元測試層面的特殊性,分析其對高覆蓋率、可追溯性與實時性驗證的嚴苛需求,并以專業工具
    發表于 12-31 11:22

    C語言單元測試在嵌入式軟件開發的作用及專業工具的應用

    平臺和操作系統上運行,無需進行大量的修改 二、C語言單元測試在嵌入式開發的關鍵作用 嵌入式系統實時性和可靠性要求極高,單元測試是確保代碼質量的關鍵手段。單元測試在嵌入式開發
    發表于 12-18 11:46

    在線測徑儀是否配備測控軟件分析系統

    主流工業級在線測徑儀均標配專業測控軟件分析系統,這是實現實時監測、數據追溯、質量管控的核心組成部分,也是金屬加工等高精度生產場景不可或缺的功能模塊。但也有些廠家對
    發表于 12-03 14:10

    圖形界面模式下自定義檢查工具的應用

    此前文章已介紹 ANSA 的自定義檢查工具。本文將探討該功能在無圖形界面(No-GUI)模式下的應用,旨在滿足標準化工作流程的需求,適用于需要高度自動化的前處理場景。通過集成自定義檢
    的頭像 發表于 11-30 14:13 ?594次閱讀
    無<b class='flag-5'>圖形</b>界面模式下自定義檢查<b class='flag-5'>工具</b>的應用

    蜂鳥hbird sdk的Makefile架構分析

    一.前言 簡介: 蜂鳥系列的MCU開發工具分為基于SDK和圖形化的IDE兩種開發方式,我們采用了基于SDK的開發方式, SDK的構建主要由多個Makefile文件組成,本文主要介紹了各
    發表于 10-30 07:15

    嵌入式軟件測試與專業測試工具的必要性深度解析

    。提升測試效率與覆蓋率專業工具通過以下方式優化測試過程: ?靜態代碼分析?:通過MISRA-C等規則檢查防止緩沖區溢出等隱患 ?動態符號執行?:自動探索代碼路徑生成測試用例 ?目
    發表于 09-28 17:42

    不同類型的自動化工具在評估數據緩存效果時有哪些優缺點?

    在評估數據緩存效果時,不同類型的自動化工具實時監控類、性能測試類、深度分析類、云原生專屬類)因設計目標和技術特性不同,存在顯著的優缺點差異。以下結合工具類型與具體場景,
    的頭像 發表于 09-25 17:48 ?723次閱讀
    不同類型的<b class='flag-5'>自動化工具</b>在評估數據緩存效果時有哪些優缺點?

    EasyGo TestSim:新能源電力系統自動化測試的利器

    數據處理能力,讓工程師能夠即時了解系統的運行狀態,及時發現問題。 圖形繪制 :支持伯德圖和奈奎斯特圖的繪制,實時生成頻域響應曲線。用戶還可以根據需要調整坐標范圍和參數,使圖形更加直觀易
    發表于 09-03 18:35

    如何測試協議分析儀的實時響應效率?

    測試協議分析儀的實時響應效率需從硬件性能、軟件處理能力、協議解析精度和實際場景模擬四個維度綜合評估。以下是具體測試方法及步驟,結合工具與場景設計,幫助量化分析儀的
    發表于 07-24 14:19

    EastWave應用:負折射現象實時演示

    演示負折射現象。 觀察實時場 雙擊“進度條”相應任務或點擊工具“”,可以打開實時場觀測界面, 觀察電磁波的散射過程。
    發表于 06-13 08:41

    隧道人員定位管理系統簡要描述

    詳細介紹隧道人員定位管理系統系統架構、部署方式、基站設置、UWB定位技術、實時人員查看、電子圍欄功能及B/S系統查看等關鍵組成部分,并
    的頭像 發表于 06-06 09:27 ?801次閱讀
    隧道人員定位管理<b class='flag-5'>系統</b>簡要<b class='flag-5'>描述</b>

    米爾瑞芯微多核異構低功耗RK3506核心板重磅發布

    。 低延時、高實時性RK3506采用了AMP多核異構,具備強大的實時性能使得一顆芯片便能靈活搭配多種操作系統,確保系統能夠快速響應各類輸入信
    發表于 05-16 17:20

    PanDao:制造成本影響分析軟件工具

    摘要 . 本文介紹了一款名為“PanDao”的新軟件工具,專為光學系統設計人員打造。該工具能夠在設計階段模擬出最佳的制造流程和所需技術,并對設計參數和公差的制造成本影響進行分析。 在光
    發表于 05-12 08:55

    迅為RK3588開發板實時系統編譯-Preemption系統/ Xenomai系統編譯-實時系統測試-Preemption測試

    支持Preemption內核的實時系統有buildroot,debian和ubuntu。在buildroot系統自帶cyclictest ,如果是ubuntu
    發表于 03-11 10:54