99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

poYBAGKoNZ6AUF4JAAS1nT-0Zoo261.png

系統(tǒng)事件分析的傳統(tǒng)方法

實時程序員早就了解系統(tǒng)行為對其應(yīng)用程序功能和性能的重要性。傳統(tǒng)方法通過切換 I/O 引腳、使用 printf、設(shè)置變量或?qū)⒅祵懭胛募碓诖a到達某個階段時生成有關(guān)系統(tǒng)行為的數(shù)據(jù)來解決這些問題。

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

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

新方法提供優(yōu)勢

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

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

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

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

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

圖 2:單擊事件圖標(biāo)可以顯示單個事件的詳細信息。

pYYBAGKoNaWAdReRAATErSUXoeg676.png

解決優(yōu)先級反轉(zhuǎn)問題

最具挑戰(zhàn)性的實時問題之一是優(yōu)先級反轉(zhuǎn)。優(yōu)先級反轉(zhuǎn)的出現(xiàn)是因為實時操作系統(tǒng) (RTOS) 采用基于優(yōu)先級的搶占式調(diào)度程序來確保準(zhǔn)備好運行的最高優(yōu)先級線程實際運行。調(diào)度程序可以在執(zhí)行過程中搶占一個較低優(yōu)先級的線程來滿足這個目標(biāo)。

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

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

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

圖 3:高優(yōu)先級線程必須等待低優(yōu)先級線程在非確定性優(yōu)先級反轉(zhuǎn)中釋放互斥鎖。

pYYBAGKoNa2ASxtwAAQoum3Fsjw353.png

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

提高應(yīng)用程序性能

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

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

pYYBAGKoNbWAFdveAAKjHYwh4j8592.png

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

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

審核編輯:郭婷

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

    關(guān)注

    68

    文章

    11080

    瀏覽量

    217097
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    1620

    瀏覽量

    64048
  • RTOS
    +關(guān)注

    關(guān)注

    24

    文章

    851

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    隧道人員定位管理系統(tǒng)簡要描述

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

    米爾瑞芯微多核異構(gòu)低功耗RK3506核心板重磅發(fā)布

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

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

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

    SEGGER SystemView支持多核行為的觀察和驗證

    2025年2月,SEGGER宣布其實時軟件驗證和可視化工具SystemView增加了多核支持,將其功能擴展到單個芯片上具有多個CPU內(nèi)核的系統(tǒng)。
    的頭像 發(fā)表于 02-07 11:24 ?651次閱讀
    SEGGER SystemView支持<b class='flag-5'>多核</b>行為的觀察和驗證

    智能化雨水情自動測報系統(tǒng)實時發(fā)布降水預(yù)警信息

    雨水情自動測報系統(tǒng)是基于現(xiàn)代信息技術(shù)的一套完整的降水量監(jiān)測和氣象預(yù)警系統(tǒng)。它通過水位傳感器、雨量傳感器、無線通信網(wǎng)絡(luò)以及大數(shù)據(jù)分析技術(shù),實現(xiàn)降水?dāng)?shù)據(jù)的
    的頭像 發(fā)表于 02-06 15:12 ?842次閱讀
    智能化雨水情<b class='flag-5'>自動</b>測報<b class='flag-5'>系統(tǒng)</b>:<b class='flag-5'>實時</b>發(fā)布降水預(yù)警信息

    VirtualLab Fusion案例:K域和X域中的系統(tǒng)建模

    算法。有關(guān)更多信息,請查看下面的用例! 系統(tǒng)建模分析 在本文中,系統(tǒng)建模分析工具的應(yīng)用和優(yōu)勢將在兩個不同的示例中演示。 自由空間傳播算子
    發(fā)表于 01-15 08:56

    反射光柵的光學(xué)系統(tǒng)結(jié)構(gòu)光柵系統(tǒng)的配置與優(yōu)化

    作為諧振器的反射鏡之一,或在單色器和光譜儀。 在本周的時事通訊,我們展示了兩個與Littrow配置光柵相關(guān)的例子。首先,我們演示了如何利用VirtualLab Fusion
    發(fā)表于 01-11 13:19

    電能質(zhì)量分析儀在電力監(jiān)測的應(yīng)用

    電能質(zhì)量分析儀在電力監(jiān)測具有廣泛的應(yīng)用,以下是對其在電力監(jiān)測應(yīng)用的介紹: 一、實時監(jiān)測與分析 電能質(zhì)量
    的頭像 發(fā)表于 01-08 10:03 ?757次閱讀

    Littrow結(jié)構(gòu)光柵系統(tǒng)的配置與優(yōu)化

    作為諧振器的反射鏡之一,或在單色器和光譜儀。 在本周的時事通訊,我們展示了兩個與Littrow配置光柵相關(guān)的例子。首先,我們演示了如何利用VirtualLab Fusion
    發(fā)表于 12-25 15:35

    自動零件分析儀的原理和應(yīng)用

    、自動控制技術(shù)和數(shù)據(jù)處理技術(shù)。其主要由進樣系統(tǒng)、分析系統(tǒng)和數(shù)據(jù)處理系統(tǒng)三部分組成。 進樣系統(tǒng):負
    發(fā)表于 12-23 15:22

    自動控制系統(tǒng)與物聯(lián)網(wǎng)的結(jié)合 自動控制系統(tǒng)實時監(jiān)測技術(shù)

    自動控制系統(tǒng)與物聯(lián)網(wǎng)的結(jié)合為實時監(jiān)測技術(shù)帶來了革命性的變化。以下是對這一結(jié)合以及自動控制系統(tǒng)實時監(jiān)測技術(shù)的分析: 一、
    的頭像 發(fā)表于 12-18 10:00 ?868次閱讀

    Jtti:有哪些工具可以幫助我監(jiān)控自動更新過程中系統(tǒng)狀態(tài)?

    監(jiān)控自動更新過程中系統(tǒng)狀態(tài)對于確保系統(tǒng)的穩(wěn)定性和性能至關(guān)重要。以下是一些可以幫助你監(jiān)控系統(tǒng)狀態(tài)的工具: 1.
    的頭像 發(fā)表于 12-10 15:46 ?499次閱讀

    邊緣計算在工業(yè)自動的應(yīng)用

    自動系統(tǒng),需要處理大量的數(shù)據(jù)。邊緣計算可以在設(shè)備附近進行本地的數(shù)據(jù)處理和分析,減少數(shù)據(jù)傳輸?shù)臅r間,提高系統(tǒng)
    的頭像 發(fā)表于 10-24 14:30 ?1331次閱讀

    嵌入式系統(tǒng)的未來趨勢有哪些?

    (ML)技術(shù)的快速發(fā)展,嵌入式系統(tǒng)將更多地整合這些先進技術(shù),以支持智能決策和自動化。在設(shè)備上直接運行AI和ML模型,進行圖像識別、自然語言處理、預(yù)測分析等任務(wù),將極大提升嵌入式系統(tǒng)的智
    發(fā)表于 09-12 15:42

    萊迪思Propel工具套件加速FPGA應(yīng)用開發(fā)

    許多嵌入式系統(tǒng)的開發(fā)者都對使用基于FPGA的SoC系統(tǒng)感興趣,但是基于傳統(tǒng)HDL硬件描述語言的FPGA開發(fā)工具和復(fù)雜流程往往會令他們望而卻步。為了解決這一問題,萊迪思的Propel
    的頭像 發(fā)表于 08-30 17:23 ?1384次閱讀