一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

緩存分區(qū)可提高安全關(guān)鍵型多核應(yīng)用程序的CPU利用率

星星科技指導(dǎo)員 ? 來源:嵌入式計(jì)算設(shè)計(jì) ? 作者:TIM KING ? 2022-11-08 14:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

緩存分區(qū)減少了關(guān)鍵任務(wù)的最壞情況下的執(zhí)行時(shí)間,從而提高了 CPU 利用率,尤其是對(duì)于多核應(yīng)用程序。

多核處理器 (MCP) 的可認(rèn)證、安全關(guān)鍵型軟件應(yīng)用程序的開發(fā)人員面臨的最大挑戰(zhàn)之一是管理對(duì)共享資源(如緩存)的訪問。MCP 顯著增加緩存爭(zhēng)用,導(dǎo)致最壞情況執(zhí)行時(shí)間 (WCET) 超過平均案例執(zhí)行時(shí)間 (ACET) 100% 或更多。由于安全關(guān)鍵型開發(fā)人員必須為 WCET 制定預(yù)算,因此平均分配的任務(wù)(關(guān)鍵和非關(guān)鍵)的時(shí)間超過了所需的時(shí)間,從而導(dǎo)致 CPU 利用率顯著降低。解決此問題的一種方法是利用支持緩存分區(qū)的 RTOS,它使開發(fā)人員能夠以減輕爭(zhēng)用和減少 WCET 的方式綁定和控制干擾模式,從而在不影響安全關(guān)鍵性的情況下最大化可用 CPU 帶寬。

緩存爭(zhēng)用

在簡(jiǎn)單的雙核處理器配置(圖 1)中,每個(gè)內(nèi)核都有自己的 CPU 和 L1 緩存。兩個(gè)內(nèi)核共享一個(gè)二級(jí)緩存。(請(qǐng)注意,未顯示共享內(nèi)存和可選 L3。

圖1:雙核配置,無需緩存分區(qū)

pYYBAGNp9jOAc1p6AAAzASo43tM277.jpg

在此配置中,在核心 0 上執(zhí)行的應(yīng)用程序與在核心 1 上執(zhí)行的應(yīng)用程序競(jìng)爭(zhēng)整個(gè)二級(jí)緩存。(請(qǐng)注意,同一內(nèi)核上的應(yīng)用程序也會(huì)相互競(jìng)爭(zhēng) L2;緩存分區(qū)也適用于這種情況。如果核心 0 上的應(yīng)用程序 A 使用的數(shù)據(jù)映射到與核心 1 上的應(yīng)用程序 B 相同的緩存行,則會(huì)發(fā)生沖突。

例如,假設(shè) A 的數(shù)據(jù)駐留在 L2 中;對(duì)該數(shù)據(jù)的任何訪問都將花費(fèi)很少的處理器周期。但假設(shè) B 訪問的數(shù)據(jù)恰好映射到與 A 的數(shù)據(jù)相同的 L2 緩存行。此時(shí),必須從 L2 中逐出 A 的數(shù)據(jù)(包括對(duì) RAM 的潛在“寫回”),并且必須將 B 的數(shù)據(jù)從 RAM 中引入緩存。處理此碰撞所需的時(shí)間通常由 B 收取。然后,假設(shè) A 再次訪問其數(shù)據(jù)。由于該數(shù)據(jù)不再位于 L2 中(B 的數(shù)據(jù)在其位置),因此必須從 L2 中逐出 B 的數(shù)據(jù)(包括潛在的“寫回”到 RAM),并且 A 的數(shù)據(jù)必須從 RAM 中恢復(fù)到緩存中。處理此碰撞所需的時(shí)間通常由 A 收取。

大多數(shù)時(shí)候,A和B很少會(huì)遇到這樣的碰撞。在這些情況下,它們各自的執(zhí)行時(shí)間可以被視為“平均情況”(ACET)。但是,有時(shí),它們的數(shù)據(jù)訪問會(huì)以高頻率發(fā)生沖突。在這些情況下,它們各自的執(zhí)行時(shí)間必須被視為“最壞情況”(WCET)。

在開發(fā)可認(rèn)證的安全關(guān)鍵型軟件時(shí),必須為最壞情況的行為預(yù)算應(yīng)用程序的執(zhí)行時(shí)間。此類軟件必須有足夠的時(shí)間預(yù)算才能在每次執(zhí)行時(shí)完成其預(yù)期功能,以免導(dǎo)致不安全的故障情況。安全關(guān)鍵型 RTOS 必須強(qiáng)制實(shí)施時(shí)間分區(qū),以便每個(gè)應(yīng)用程序都有固定的 CPU 時(shí)間預(yù)算來執(zhí)行。

由于多個(gè)內(nèi)核上的多個(gè)應(yīng)用程序可能會(huì)產(chǎn)生對(duì) L2 緩存的爭(zhēng)用,因此 MCP 上的 WCET 通常比 ACET 高得多。由于可認(rèn)證的安全關(guān)鍵型應(yīng)用程序必須有時(shí)間預(yù)算來容納其 WCET,這種情況會(huì)導(dǎo)致大量預(yù)算但未使用的時(shí)間,從而導(dǎo)致 CPU 利用率顯著下降。

緩存分區(qū)

緩存分區(qū)通過減少 WCET 來提高 CPU 利用率,從而減少必須預(yù)算以容納 WCET 的時(shí)間量。同樣,在簡(jiǎn)單的雙核處理器配置(圖 2)中,每個(gè)內(nèi)核都有自己的 CPU 和 L1 緩存,并且兩個(gè)內(nèi)核共享一個(gè) L2 緩存。

圖2:具有緩存分區(qū)的雙核配置

poYBAGNp9jWAU6wnAABFE6kB0AU379.jpg

在此配置中,RTOS 對(duì) L2 緩存進(jìn)行分區(qū),以便每個(gè)內(nèi)核都有自己的 L2 段,這意味著內(nèi)核 0 上的應(yīng)用程序使用的數(shù)據(jù)將僅緩存在內(nèi)核 0 的 L2 分區(qū)中。同樣,核心 1 上的應(yīng)用程序使用的數(shù)據(jù)將僅緩存在核心 1 的 L2 分區(qū)中。這種分區(qū)消除了不同內(nèi)核上的應(yīng)用程序通過 L2 沖突相互干擾的可能性。如果沒有這種干擾,應(yīng)用程序 WCET 和 ACET 之間的增量通常比沒有緩存分區(qū)的情況要低得多。通過限制和控制這些干擾模式,緩存分區(qū)使應(yīng)用程序執(zhí)行時(shí)間更具確定性,并使開發(fā)人員能夠更嚴(yán)格地預(yù)算執(zhí)行時(shí)間,從而保持較高的處理器利用率。

測(cè)試環(huán)境和應(yīng)用程序

為了演示緩存分區(qū)的優(yōu)勢(shì),DDC-I 使用 Deos(其可認(rèn)證、安全關(guān)鍵、時(shí)間和空間分區(qū)的 RTOS)來運(yùn)行一套四個(gè)內(nèi)存密集型測(cè)試應(yīng)用程序,所有這些應(yīng)用程序都具有一系列數(shù)據(jù)/代碼大小、順序和隨機(jī)訪問策略以及各種工作集大?。?/p>

只讀

只寫

復(fù)制

代碼執(zhí)行

測(cè)試是在具有 32 KB L1 數(shù)據(jù)緩存、24 KB L1 指令緩存和 512 KB 統(tǒng)一 L2 緩存的 1.6 GHz 凌動(dòng)處理器 (x86) 上進(jìn)行的。請(qǐng)注意,雖然這些測(cè)試使用了單核 x86 處理器,但 Deos 的緩存分區(qū)功能同樣適用于在同一內(nèi)核上執(zhí)行的應(yīng)用程序(這些應(yīng)用程序也競(jìng)爭(zhēng) L2)。此外,它不依賴于 x86 處理器所特有的任何功能,并且同樣適用于其他處理器類型(如 ARM 或 PowerPC)。

測(cè)試是在有和沒有“緩存垃圾箱”應(yīng)用程序的情況下運(yùn)行的,該應(yīng)用程序從L2中逐出測(cè)試應(yīng)用程序數(shù)據(jù)/代碼,并使用自己的數(shù)據(jù)/代碼“臟”L2。實(shí)際上,從測(cè)試應(yīng)用程序的角度來看,緩存垃圾程序?qū)?L2 置于最壞情況狀態(tài)。也就是說,緩存垃圾箱模擬真實(shí)場(chǎng)景,其中不同的應(yīng)用程序同時(shí)運(yùn)行并爭(zhēng)用共享的 L2 緩存。

每個(gè)測(cè)試應(yīng)用程序在三種情況下執(zhí)行。在場(chǎng)景 1 中,在沒有緩存分區(qū)或緩存垃圾的情況下執(zhí)行,測(cè)試應(yīng)用程序?qū)⒏?jìng)爭(zhēng)整個(gè) 512 KB 二級(jí)緩存以及 RTOS 內(nèi)核和各種調(diào)試工具。此測(cè)試建立基線平均性能,其中每個(gè)測(cè)試都以“平均”數(shù)量的 L2 爭(zhēng)用執(zhí)行。

在不使用緩存分區(qū)的場(chǎng)景 2 中,測(cè)試應(yīng)用程序與 RTOS 內(nèi)核、場(chǎng)景 1 中使用的同一組調(diào)試工具以及惡意緩存垃圾程序應(yīng)用程序競(jìng)爭(zhēng)整個(gè) 512 KB 二級(jí)緩存。此測(cè)試建立基線最壞情況性能,其中每個(gè)測(cè)試在來自其他應(yīng)用程序(主要是緩存垃圾程序)的最壞情況下執(zhí)行 L2 干擾。

在使用緩存分區(qū)和緩存垃圾的場(chǎng)景 3 中,將創(chuàng)建三個(gè) L2 分區(qū):

分配給測(cè)試應(yīng)用程序的 256 KB 分區(qū)

分配給 RTOS 內(nèi)核的 64 KB 分區(qū)以及方案 1 和方案 2 中使用的同一組調(diào)試工具

分配給惡意緩存垃圾程序應(yīng)用程序的 192 KB 分區(qū)。

此方案建立了優(yōu)化的最壞情況性能,其中每個(gè)測(cè)試在其自己的 L2 分區(qū)內(nèi)執(zhí)行,不受其他應(yīng)用程序(包括緩存垃圾程序)的干擾。

緩存分區(qū)結(jié)果、優(yōu)勢(shì)

圖 3 顯示了只讀測(cè)試應(yīng)用程序的結(jié)果。

圖3:緩存分區(qū)對(duì)只讀測(cè)試的影響

pYYBAGNp9jaAJhwZAABLOKtqL98240.jpg

例如,在沒有緩存分區(qū)和緩存垃圾的情況下(方案 1,ACET),只讀測(cè)試在工作集大小為 512 KB 的情況下,每次執(zhí)行的平均時(shí)間為 105 微秒。在方案 2(沒有分區(qū)的 WCET,添加了緩存垃圾箱)中,對(duì)于相同的 512 KB 工作集,測(cè)試平均每次執(zhí)行 400 微秒,增加了 280%。添加緩存分區(qū)(方案 3,帶緩存垃圾的 WCET)時(shí),平均執(zhí)行時(shí)間降至 117 微秒,僅比 ACET 高 11%。

這些結(jié)果證明了緩存分區(qū)對(duì)于每個(gè)周期執(zhí)行大量讀取的應(yīng)用程序的有效性。盡管由于量級(jí)差異,此處很難辨別,但當(dāng)應(yīng)用程序的工作集大小適合其使用的緩存分區(qū)(在本例中為 256 KB)時(shí),對(duì)邊界 WCET 的影響更為明顯。由于緩存的性質(zhì),此結(jié)果是預(yù)期的。也就是說,嵌入式實(shí)時(shí)應(yīng)用程序的工作集大小往往相對(duì)較小,因此我們預(yù)計(jì)緩存分區(qū)將使大多數(shù)應(yīng)用程序受益。

只寫測(cè)試的結(jié)果與只讀測(cè)試相似,但對(duì)于較小的工作集更明顯。對(duì)于較大的工作集,結(jié)果顯示具有和不具有緩存分區(qū)的 WCET 之間的差異相對(duì)較小。

復(fù)制測(cè)試的結(jié)果與只讀測(cè)試相似,但對(duì)于較小的工作集更明顯。對(duì)于較大的工作集,結(jié)果不那么顯著,但仍然顯示出具有緩存分區(qū)的 WCET 的顯著改進(jìn)(大約 2 倍)。

代碼執(zhí)行測(cè)試的結(jié)果與只讀測(cè)試類似,但稍微不那么引人注目。

請(qǐng)注意,在同一緩存分區(qū)中執(zhí)行的應(yīng)用程序可能會(huì)相互干擾。但是,與在具有共享緩存的不同內(nèi)核上執(zhí)行的應(yīng)用程序之間可能發(fā)生的不可預(yù)測(cè)的干擾模式相比,此類干擾通常更容易分析和綁定。在這些情況下,如果干擾不可預(yù)測(cè),則可以將應(yīng)用程序映射到單獨(dú)的緩存分區(qū)。

基準(zhǔn)測(cè)試結(jié)果清楚地表明,緩存分區(qū)提供了一種有效的方法來綁定和控制 MCP 上共享緩存中的干擾模式。特別是,在對(duì)緩存進(jìn)行分區(qū)時(shí),可以更嚴(yán)格地綁定和控制 WCET。這允許應(yīng)用程序開發(fā)人員設(shè)置相對(duì)緊湊但安全的執(zhí)行時(shí)間預(yù)算,從而最大限度地提高 MCP 利用率。

當(dāng)然,不同的應(yīng)用和硬件配置的結(jié)果會(huì)有所不同,并且需要額外的RTOS功能才能成功認(rèn)證基于安全關(guān)鍵型MCP的系統(tǒng)。無論如何,這些結(jié)果代表了在使用MCP托管可認(rèn)證的安全關(guān)鍵應(yīng)用程序的目標(biāo)方面的重大進(jìn)步。

審核編輯:郭婷

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

    關(guān)注

    68

    文章

    19890

    瀏覽量

    235134
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11078

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    高性能緩存設(shè)計(jì):如何解決緩存偽共享問題

    多核高并發(fā)場(chǎng)景下, 緩存偽共享(False Sharing) 是導(dǎo)致性能驟降的“隱形殺手”。當(dāng)不同線程頻繁修改同一緩存行(Cache Line)中的獨(dú)立變量時(shí),CPU
    的頭像 發(fā)表于 07-01 15:01 ?127次閱讀
    高性能<b class='flag-5'>緩存</b>設(shè)計(jì):如何解決<b class='flag-5'>緩存</b>偽共享問題

    海光DCU率先展開文心系列模型的深度技術(shù)合作 FLOPs利用率(MFU)達(dá)47%

    海光DCU實(shí)現(xiàn)文心4.5模型高效適配; FLOPs利用率突破47%。 2025年6月30日,在百度文心4.5系列大模型正式開源當(dāng)日,海光信息技術(shù)股份有限公司宣布其深度計(jì)算單元(DCU)率先完成對(duì)該系
    的頭像 發(fā)表于 07-01 14:35 ?536次閱讀

    拼版怎么拼好,板廠經(jīng)常說利用率太低,多收費(fèi)用?

    做板的時(shí)候,板廠經(jīng)常說我拼版利用率太低,要多收取費(fèi)用,哪位大神知道怎么算利用率
    發(fā)表于 05-14 13:42

    mes工廠管理系統(tǒng):如何讓設(shè)備利用率提升50%?

    在制造業(yè)競(jìng)爭(zhēng)日益激烈的今天,設(shè)備利用率直接決定了企業(yè)的盈利能力。許多工廠管理者都在思考同一個(gè)問題:如何在不增加設(shè)備投資的情況下,讓現(xiàn)有產(chǎn)能發(fā)揮出最大價(jià)值?MES工廠管理系統(tǒng)正是解決這一難題的金鑰匙
    的頭像 發(fā)表于 05-09 15:55 ?200次閱讀
    mes工廠管理系統(tǒng):如何讓設(shè)備<b class='flag-5'>利用率</b>提升50%?

    DeepSeek MoE架構(gòu)下的網(wǎng)絡(luò)負(fù)載如何優(yōu)化?解鎖90%網(wǎng)絡(luò)利用率關(guān)鍵策略

    、All-to-All等),網(wǎng)絡(luò)面臨高并發(fā)、低延遲、無損傳輸?shù)膰?yán)苛需求。然而,傳統(tǒng)以太網(wǎng)的網(wǎng)絡(luò)利用率長期徘徊在35%~40%,成為制約AI算力釋放的關(guān)鍵瓶頸。
    的頭像 發(fā)表于 04-28 12:04 ?383次閱讀
    DeepSeek MoE架構(gòu)下的網(wǎng)絡(luò)負(fù)載如何優(yōu)化?解鎖90%網(wǎng)絡(luò)<b class='flag-5'>利用率</b>的<b class='flag-5'>關(guān)鍵</b>策略

    TECS OpenStack資源池主機(jī)磁盤分區(qū)使用率過高的問題處理

    某運(yùn)營商TECS資源池上報(bào)“主機(jī)磁盤分區(qū)使用率過高”的告警,如下圖所示。
    的頭像 發(fā)表于 03-21 09:47 ?484次閱讀
    TECS OpenStack資源池主機(jī)磁盤<b class='flag-5'>分區(qū)</b>使<b class='flag-5'>用率</b>過高的問題處理

    如何提高嵌入式代碼質(zhì)量?

    的錯(cuò)誤和改進(jìn)點(diǎn),提高代碼的可讀性和健壯性。 4. 版本控制:使用版本控制系統(tǒng)如Git,可以追蹤代碼變更并輕松進(jìn)行團(tuán)隊(duì)協(xié)作,確保每個(gè)版本都是可控和重現(xiàn)的。 優(yōu)化性能和資源利用率 在嵌入式系統(tǒng)中
    發(fā)表于 01-15 10:48

    源網(wǎng)荷儲(chǔ)充一體化,提高能源利用率和電網(wǎng)消納能力

    是基于物聯(lián)網(wǎng)和大數(shù)據(jù)技術(shù)的充電設(shè)施管理系統(tǒng),實(shí)現(xiàn)對(duì)充電樁的監(jiān)控、調(diào)度和管理提高充電樁的利用率和充電效率,提升用戶充電體驗(yàn)和服務(wù)質(zhì)量
    的頭像 發(fā)表于 01-10 09:24 ?1204次閱讀
    源網(wǎng)荷儲(chǔ)充一體化,<b class='flag-5'>提高</b>能源<b class='flag-5'>利用率</b>和電網(wǎng)消納能力

    低空載功耗,高能源利用率 BDA5-20W BOSHIDA DCDC

    低空載功耗,高能源利用率 BDA5-20W BOSHIDA DCDC BDA5-20W系列產(chǎn)品具有以下特點(diǎn):寬輸入電壓范圍(4:1),可以適應(yīng)多種輸入電壓條件;高效率,能夠達(dá)到88%以上,節(jié)能環(huán)保
    的頭像 發(fā)表于 11-06 10:30 ?582次閱讀
    低空載功耗,高能源<b class='flag-5'>利用率</b> BDA5-20W BOSHIDA DCDC

    華納云:什么是負(fù)載均衡?優(yōu)化資源利用率的策略

    負(fù)載均衡是現(xiàn)代計(jì)算機(jī)網(wǎng)絡(luò)架構(gòu)中不可或缺的一部分,它通過智能分配請(qǐng)求和任務(wù),確保系統(tǒng)資源的高效利用。本文將探討負(fù)載均衡的概念、工作原理、優(yōu)化資源利用率的策略及其在實(shí)際應(yīng)用中的重要性。 1. 什么是負(fù)載
    的頭像 發(fā)表于 10-28 16:07 ?604次閱讀

    交換機(jī)內(nèi)存利用率過高會(huì)是什么問題

    在現(xiàn)代網(wǎng)絡(luò)架構(gòu)中,交換機(jī)扮演著至關(guān)重要的角色,負(fù)責(zé)在網(wǎng)絡(luò)設(shè)備之間高效地轉(zhuǎn)發(fā)數(shù)據(jù)包。然而,隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大和數(shù)據(jù)流量的增加,交換機(jī)的內(nèi)存資源可能會(huì)變得緊張,導(dǎo)致內(nèi)存利用率過高。這種情況如果不加
    的頭像 發(fā)表于 10-18 09:53 ?2158次閱讀

    服務(wù)器cpu用率高怎么解決

    服務(wù)器CPU用率高是一個(gè)常見的問題,它可能會(huì)導(dǎo)致服務(wù)器性能下降,甚至影響用戶體驗(yàn)。 一、了解服務(wù)器CPU用率高的原因 應(yīng)用程序問題
    的頭像 發(fā)表于 10-10 15:14 ?1844次閱讀

    什么是CPU緩存?它有哪些作用?

    CPU緩存(Cache Memory)是計(jì)算機(jī)系統(tǒng)中一個(gè)至關(guān)重要的組成部分,它位于CPU與內(nèi)存之間,作為兩者之間的臨時(shí)存儲(chǔ)器。CPU緩存的主
    的頭像 發(fā)表于 08-22 14:54 ?6114次閱讀

    多核CPU的優(yōu)勢(shì)是什么

    多核CPU(Central Processing Unit,中央處理器)作為現(xiàn)代計(jì)算機(jī)技術(shù)的重要里程碑,其優(yōu)勢(shì)在于顯著提升了計(jì)算性能、多任務(wù)處理能力、系統(tǒng)穩(wěn)定性以及能效比等多個(gè)方面。以下將詳細(xì)闡述多核
    的頭像 發(fā)表于 08-22 14:30 ?5330次閱讀

    異構(gòu)混訓(xùn)整合不同架構(gòu)芯片資源,提高算力利用率

    的解決方案。通過混合使用多種異構(gòu)芯片,可以充分利用不同芯片的優(yōu)勢(shì),提高算力利用率,降低算力成本,并推動(dòng)AI技術(shù)的廣泛應(yīng)用。 ? 異構(gòu)混訓(xùn)能夠整合不同架構(gòu)芯片資源 ? 在2024年世界人工智能大會(huì)AI基礎(chǔ)設(shè)施論壇上,無問芯穹聯(lián)合創(chuàng)
    的頭像 發(fā)表于 07-18 00:11 ?4244次閱讀