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

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

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

混合NVM/DRAM平臺上的內(nèi)存帶寬調(diào)節(jié)策略

SSDFans ? 來源:SSDFans ? 2023-11-14 09:28 ? 次閱讀

01 背景 & 動機

隨著相變存儲器 (PCM)、STT-MRAM、憶阻器和英特爾的 3D-XPoint 等技術(shù)的快速發(fā)展,高速的、可字節(jié)尋址的新興 NVM 的產(chǎn)品逐漸涌現(xiàn)于市場中,學(xué)術(shù)界和工業(yè)界針對這一新興存儲介質(zhì)展開了廣泛的應(yīng)用探索并對計算機基礎(chǔ)領(lǐng)域的發(fā)展造成了不小的影響。

NVM 編程庫,NVM 數(shù)據(jù)結(jié)構(gòu),NVM 感知文件系統(tǒng)和基于 NVM 的數(shù)據(jù)庫已經(jīng)得到了廣泛研究,許多內(nèi)存或存儲系統(tǒng)都使用 NVM 編程庫移植到 NVM,例如 PmemKV 和 Pmem-RocksDB。Google 等公司已經(jīng)嘗試將首款商用 NVM 產(chǎn)品 Intel Optane DC Persistent Memory 部署到了云數(shù)據(jù)中心環(huán)境中。當(dāng)NVM 與易失性 DRAM 并排放置以作為快速字節(jié)可尋址存儲或大容量運行時內(nèi)存被部署時,就形成了混合 NVM/DRAM 平臺。

Noisy Neighbor 問題

在云數(shù)據(jù)中心中,當(dāng)一些應(yīng)用程序(稱為 Noisy Neighbor,吵鬧鄰居)會過度使用內(nèi)存帶寬時,會影響其他應(yīng)用程序的性能。在傳統(tǒng) DRAM 平臺上通過預(yù)防策略和補救策略緩解此問題:

1.主動為應(yīng)用程序設(shè)置帶寬限制,以防止任何應(yīng)用程序成為潛在的吵鬧鄰居。

2.監(jiān)視并識別系統(tǒng)中是否存在吵鬧鄰居,限制新出現(xiàn)的吵鬧鄰居的內(nèi)存帶寬使用。

Intel 發(fā)布的商業(yè) Optane PM 可通過 CPU load/store 指令直接訪問,但 NVM 的實際帶寬仍遠低于 DRAM。在混合 NVM/DRAM 平臺上由于 NVM 和 DRAM 共享內(nèi)存總線,這無疑增加了內(nèi)存帶寬干擾的復(fù)雜性。

本文在混合平臺上運行 fio 工作負(fù)載來說明不同類型帶寬之間競爭的影響,結(jié)果如下圖。一共有四類任務(wù):NVM Read、NVM Write、DRAM Read和DRAM Write,首先測量了每類任務(wù)單獨運行時的吞吐量并作為 baseline,即第一列。隨后測量了每兩類任務(wù)同時運行時主任務(wù)的吞吐量,并以歸一化的值顯示出來,較小的數(shù)字(即較暗的塊)表示其他嘈雜任務(wù)對主任務(wù)吞吐量的影響更大。

42166486-8281-11ee-939d-92fbcf53809c.png

本文在進行帶寬實驗的同時還檢查了任務(wù)的吞吐量和延遲之間的關(guān)系。下圖顯示了任務(wù) A(NVM Write)與任務(wù) B(具有可變數(shù)量的 NVM-Write fio)同時運行的吞吐量和延遲。

42413ee0-8281-11ee-939d-92fbcf53809c.png

本文得到以下觀察結(jié)果:

1. 內(nèi)存干擾的影響與內(nèi)存訪問的類型密切相關(guān),比內(nèi)存帶寬占用量的影響更大。

2. NVM 訪問對其他任務(wù)的影響比 DRAM 訪問更嚴(yán)重。

3. 隨著任務(wù) B 的數(shù)量增長,任務(wù) A 的帶寬逐漸減?。ㄓ捎趲捀蓴_的增強),同時任務(wù) A 的延遲增加。由于內(nèi)存訪問延遲與帶寬使用呈明顯負(fù)相關(guān)關(guān)系,這表明我們可以通過測量不同類型內(nèi)存訪問的延遲來檢測內(nèi)存帶寬干擾情況。

這表明在 NVM/DRAM 混合平臺在 Noisy Neighbor 問題呈現(xiàn)出更加復(fù)雜和嚴(yán)重的特征。在混合平臺上進行內(nèi)存帶寬調(diào)節(jié)存在以下重大挑戰(zhàn):

1.NVM 和 DRAM 內(nèi)存帶寬上限不對稱,導(dǎo)致系統(tǒng)實際可用內(nèi)存帶寬很大程度上取決于工作負(fù)載中不同類型的內(nèi)存訪問的比例。

2.現(xiàn)有 NVM/DRAM 混合平臺上NVM 與 DRAM 共享內(nèi)存總線,內(nèi)存流量的混合導(dǎo)致在每個進程的基礎(chǔ)上監(jiān)控不同類型的內(nèi)存帶寬幾乎是不可能的,使得現(xiàn)有的為 DRAM 設(shè)計的硬件和軟件監(jiān)管方法無效。

3.現(xiàn)有內(nèi)存調(diào)節(jié)的硬件和軟件機制不足。CPU 供應(yīng)商提供了硬件機制是粗粒度和定性的,頻率縮放和 CPU 調(diào)度等技術(shù),可以提供相對細(xì)粒度的帶寬調(diào)整,但它們也是定性的并且減慢了計算和內(nèi)存訪問效率。

現(xiàn)有的硬件調(diào)節(jié)和計數(shù)機制:

Intel Memory Bandwidth Monitoring (MBM) 支持在硬件級統(tǒng)計每個 NUMA 節(jié)點的內(nèi)存流量并記錄到指定寄存器

Intel Memory Bandwidth Allocation (MBA) 硬件功能,以可忽略的開銷提供對內(nèi)存帶寬的間接和近似控制。MBA 支持對一組線程進行控制,通過向內(nèi)存請求插入延遲來限制內(nèi)存帶寬的使用。由于延遲機制,相同的限制值在具有不同內(nèi)存訪問模式的應(yīng)用程序中可能表現(xiàn)不同。

IMC 性能計數(shù)器可以獲得不同類型的實時帶寬,但僅限于內(nèi)存通道粒度而不是進程粒度。

02 設(shè)計方案

1. MT^2 的設(shè)計

本文對現(xiàn)有軟硬件技術(shù)進行了深入調(diào)研,并提出了一種在 NVM/DRAM 混合平臺上監(jiān)控調(diào)節(jié)并發(fā)應(yīng)用的內(nèi)存帶寬的設(shè)計(MT^2)。MT^2 實現(xiàn)于內(nèi)核態(tài),但用戶可通過偽文件系統(tǒng)接口與 MT^2 通信,將線程分類到不同的組(與 cgroups 相同)并指定一個策略來調(diào)節(jié)每個組的帶寬。TGroups(即 Throttling Groups)是 MT^2 中帶寬監(jiān)控和限制的目標(biāo)。其架構(gòu)圖如下:

4277c410-8281-11ee-939d-92fbcf53809c.png

MT^2 由兩部分組成:監(jiān)控器和調(diào)節(jié)器。從VFS、PMU(Performance Monitoring Unit)和MBM收集的數(shù)據(jù),監(jiān)控器將其分為四種類型,并將它們和干擾信息轉(zhuǎn)發(fā)給調(diào)節(jié)器。根據(jù)監(jiān)控數(shù)據(jù)和調(diào)節(jié)測量,調(diào)節(jié)器通過兩種機制做出限制帶寬的決定:調(diào)整 MBA 限制值和改變 CPU 配額。MT^2 采用動態(tài)帶寬限制算法,根據(jù)實時帶寬和干擾水平不斷監(jiān)控和調(diào)整限制。

MT^2 提供了兩種策略來緩解 Noisy Neighbor 問題(預(yù)防和補救策略)以應(yīng)對不同的場景。為了預(yù)防,系統(tǒng)管理員需要為每個 TGroup 設(shè)置帶寬上限。MT^2 監(jiān)控精確的實時帶寬并強制所有組不要使用超過上限的帶寬。但是,多個不超過上限的 TGroup 一起仍然可能造成較強的帶寬干擾,可以通過補救策略識別和重新限制。這兩種策略是正交的;因此,何時以及如何使用這兩種策略取決于具體場景。

2. MT^2 監(jiān)控器的設(shè)計

監(jiān)控器結(jié)合了各種硬件和軟件技術(shù),以在進程粒度區(qū)分不同類型的帶寬,檢測系統(tǒng)當(dāng)前的內(nèi)存干擾程度。在硬件技術(shù)方面,重點使用到的一些性能事件的描述如下表所示:

428e02a2-8281-11ee-939d-92fbcf53809c.png

2.1. 帶寬估計

獲得每種訪問類型的準(zhǔn)確或估計的帶寬值,即 42b4c02c-8281-11ee-939d-92fbcf53809c.png 表示 DRAM 讀取量、42ca924e-8281-11ee-939d-92fbcf53809c.png 表示 NVM 讀取量、42ef1510-8281-11ee-939d-92fbcf53809c.png 表示 DRAM 寫入量和 4310be04-8281-11ee-939d-92fbcf53809c.png 表示 NVM 寫入量。

測量每個進程 DRAM 和 NVM 讀取量的精確值:

?42ca924e-8281-11ee-939d-92fbcf53809c.png:基于 ocr.all_data_rd.pmm_hit_local_pmm.any_snoop PMU 事件計數(shù)器檢索本地 NVM 讀取次數(shù)并將該值乘以緩存行大小 (64B)

?42b4c02c-8281-11ee-939d-92fbcf53809c.png:基于 ocr.all_data_rd.l3_miss_local_dram.any_snoop PMU 事件計數(shù)器檢索本地 NVM 讀取次數(shù)并將該值乘以緩存行大小 (64B)

利用 MBM 來監(jiān)控每個 TGroup 的總內(nèi)存訪問帶寬,即 42b4c02c-8281-11ee-939d-92fbcf53809c.png42ca924e-8281-11ee-939d-92fbcf53809c.png、437adca8-8281-11ee-939d-92fbcf53809c.png4310be04-8281-11ee-939d-92fbcf53809c.png 的總和。鑒于我們可以通過 PMU 計算出 42b4c02c-8281-11ee-939d-92fbcf53809c.png42ca924e-8281-11ee-939d-92fbcf53809c.png 的精確值,此時只需要知道每個進程 4310be04-8281-11ee-939d-92fbcf53809c.png 的精確值,就能計算出所有值。由于用戶空間應(yīng)用程序只能通過兩種方式寫入 NVM:文件 API(write)和內(nèi)存映射文件后的 CPU store 指令。

?對于文件 API,MT^2 掛鉤內(nèi)核中的 VFS 并跟蹤每個 TGroup 的 NVM 寫入量。

?對于內(nèi)存映射訪問,受信任的應(yīng)用程序可以自行收集并向 MT^2 報告其對內(nèi)存映射 NVM 的寫入量。通過掛鉤修改英特爾官方 PMDK 編程庫,顯式地將緩存行刷新或者執(zhí)行非臨時內(nèi)存寫入,并用每線程計數(shù)器計算總 NVM 寫入量。最后為每個進程設(shè)置一個與內(nèi)核共享的 page,進程中的每個線程將其每線程計數(shù)器值寫入 page 中的不同槽中。內(nèi)核中的 MT^2 定期檢查計數(shù)器并計算每個 TGroup 的帶寬。另外,還可以現(xiàn)代英特爾處理器中的一種高效采樣功能,基于處理器事件的采樣 (PEBS),將每個 TGroup 采樣到的內(nèi)存寫入地址與 NVM 的地址范圍進行比較,可以得出采樣寫入 NVM 和 DRAM 的比例,以此粗略計算出43f0fe38-8281-11ee-939d-92fbcf53809c.png44032a68-8281-11ee-939d-92fbcf53809c.png。

2.2. 干擾檢測

即使給出四種內(nèi)存訪問的準(zhǔn)確帶寬使用情況,也很難確定帶寬干擾是否發(fā)生及其嚴(yán)重程度,因為內(nèi)存訪問需求的減少和 Noisy Neighbor 的存在都會導(dǎo)致應(yīng)用程序使用更少的帶寬。

MT2 不是通過內(nèi)存帶寬檢測內(nèi)存干擾,而是通過測量不同類型內(nèi)存訪問的延遲來檢測干擾級別,動機實驗的關(guān)鍵洞察支撐這一點設(shè)計,內(nèi)存訪問延遲與由于競爭導(dǎo)致帶寬使用情況呈負(fù)相關(guān)關(guān)系。

? 對于讀取,從四個 PMU 性能事件中獲取延遲,unc_m_pmm_rpq_occupancy.all(44161cf4-8281-11ee-939d-92fbcf53809c.png)、unc_m_pmm_rpq_inserts(442ab416-8281-11ee-939d-92fbcf53809c.png)、unc_m_rpq_occupancy 和 unc_m_rpq_inserts。NVM 讀取的延遲可以通過 444a3426-8281-11ee-939d-92fbcf53809c.png 來計算,DRAM 讀取延遲同理。

? 對于寫入,MT^2 定期發(fā)出一些 NVM 和 DRAM 寫入請求并測量它們的完成時間以獲得兩種類型寫入請求的延遲。

最后需要設(shè)置一個閾值來判斷帶寬干擾是否發(fā)生。當(dāng)某個訪問請求的時延超過相應(yīng)的閾值時,平臺就會出現(xiàn)比較嚴(yán)重的干擾,遂影響到該類內(nèi)存的訪問。通過測量不同干擾水平下帶寬和延遲之間的關(guān)系得出閾值(可以跨不同平臺調(diào)整閾值),在我們的平臺中使用吞吐量減少 10% 時的延遲作為閾值。

3. MT^2 調(diào)節(jié)器的設(shè)計

基于上述收集到的內(nèi)存帶寬相關(guān)信息,調(diào)節(jié)器將干擾水平和監(jiān)控帶寬作為輸入,并根據(jù)系統(tǒng)管理員設(shè)置的調(diào)節(jié)策略決定采取什么行動來調(diào)整TGroup的帶寬,以避免或抑制噪聲應(yīng)用程序。

3.1. 內(nèi)存調(diào)節(jié)機制

本文使用了兩種內(nèi)存調(diào)節(jié)機制:Intel Memory Bandwidth Allocation(MBA)硬件功能和 CPU 調(diào)度機制。如前所述,MBA通過向內(nèi)存請求插入延遲來限制內(nèi)存帶寬的使用,而 CPU 調(diào)度是通過減少分配給應(yīng)用程序的內(nèi)核數(shù)量以達到控制內(nèi)存帶寬的效果。例如,通過配置 Linux CPU cgroup 更改線程的 CPU 時間(或 CPU 配額),MT^2 中的 CPU 配額定義了在給定時間段內(nèi)分配給 TGroup 線程的 CPU 時間上限。具有較低 CPU 配額的 TGroups 占用較少的 CPU 時間,因此它消耗較少的內(nèi)存帶寬。

為了說明 MBA 和 CPU 調(diào)度的效果,本文使用 fio 在不同的限制值下生成不同的工作負(fù)載。Throttling 值 100 表示沒有限制,而 10 表示最大限制,結(jié)果如下圖所示:

4462ce8c-8281-11ee-939d-92fbcf53809c.png

從上述圖表中我們可以發(fā)現(xiàn),MBA只支持有限的限制值,并不是所有的限制值都對工作負(fù)載有效。MBA 對 DRAM 密集型工作負(fù)載的限制的表現(xiàn)比對 NVM 密集型工作負(fù)載的限制更好,MBA 對 NVM 寫的限制幾乎完全無效。因此,MBA 無法精確控制線程的帶寬,而 CPU 調(diào)度可以作為 MBA 的一種補充機制,CPU 調(diào)度可以提供粒度更細(xì)且表現(xiàn)看似更好的內(nèi)存帶寬限制。如上表 3 所示,我們需要注意的是,MBA 僅僅減慢了內(nèi)存訪問操作并且不影響其他操作(計算操作),所以 MBA 機制在僅限制內(nèi)存帶寬方面其實是效率更高的,但適用性有限。

3.2 動態(tài)帶寬限制

本文采用動態(tài)帶寬限制的算法結(jié)合了上述所有機制,首先根據(jù)監(jiān)視器提供的信息識別噪聲鄰居,然后采取措施限制嘈雜的鄰居的內(nèi)存帶寬。

基于上述分析,本文認(rèn)為具有最多 NVM 寫入的 TGroup 更有可能成為嘈雜的鄰居,其次是具有最多 NVM 讀取的 TGroup,最后是具有更多 DRAM 訪問的 TGroup。該算法按上述順序選擇最有可能成為噪聲鄰居的 TGroup。

然后算法根據(jù)要限制的內(nèi)存帶寬類型選擇內(nèi)存調(diào)節(jié)機制。為了限制NVM訪問帶寬,該算法采用 CPU 調(diào)度機制,為了僅限制 DRAM 訪問帶寬,該算法選擇降低目標(biāo) TGroup 的 MBA 值。如果 MBA 已設(shè)置為最低值,則算法使用 CPU 調(diào)度進行進一步限制。

一旦內(nèi)存干擾消失,該算法就會嘗試放松強制執(zhí)行的帶寬限制。調(diào)節(jié)器將周期性運行,根據(jù)監(jiān)視器提供的新信息采取另一個步驟。循序漸進的方法減少了平臺內(nèi)存帶寬變化的不確定性,并防止應(yīng)用程序出現(xiàn)不必要的性能抖動。

4. MT^2 的實現(xiàn)

本文修改 Linux 內(nèi)核 5.3.11 以將 TGroup 添加為 cgroups 的子系統(tǒng)。MT^2 被實現(xiàn)為與 TGroup 子系統(tǒng)緊密合作的內(nèi)核模塊。

首先掛載子系統(tǒng)并在子系統(tǒng)掛載點創(chuàng)建一個新目錄(即創(chuàng)建一個新的 TGroup),然后將進程的 pid 寫入 cgroup.procs 文件(即將進程添加到 TGroup)。隨后可以讀取/寫入此目錄中的另外三個文件以管理 TGroup:

1. priority 文件用于獲取和設(shè)置 TGroup 的優(yōu)先級,高優(yōu)先級進程不受限制,只有低優(yōu)先級進程才可能被限制。

2. bandwidth 文件是只讀的,返回 TGroup 上一秒的帶寬。

3. limit 文件用于獲取和設(shè)置 TGroup 的四種內(nèi)存訪問的絕對帶寬限制。MT^2 會確保每個組使用的帶寬不會超過預(yù)設(shè)上限。

注意,每次發(fā)生進程上下文切換時,都會為將在此 CPU 內(nèi)核上運行的新線程設(shè)置相應(yīng)的 MT^2 上下文,即進程對應(yīng)的 PMU 寄存器、MBA 相關(guān)的 MSR 寄存器并設(shè)置 CPU 配額,具體實現(xiàn)方法歡迎查閱論文原文。

03 實驗評估

實驗評估環(huán)境的準(zhǔn)備

本文從有效性、性能開銷以及可信環(huán)境下的準(zhǔn)確性等多個維度全面評估 MT^2,受限于篇幅,此處重點關(guān)注有效性方面。

本實驗在具有兩個 28 核 Intel Xeon Gold 6238R CPU 并禁用超線程的服務(wù)器上進行。服務(wù)器有兩個 NUMA 節(jié)點,每個節(jié)點都配備了 6*32GB DDR4 DRAM 和 6*128GB Optane PM,配置為交錯的 app-direct 模式,所有實驗都在單個 NUMA 節(jié)點上進行。

噪聲鄰居抑制情況分析

本文在使用 MT^2 的混合平臺上重新運行了一遍任務(wù)并行時的帶寬運行,用四種 fio 工作負(fù)載來說明 MT^2 在緩解不同類型帶寬之間競爭的作用。結(jié)果如下圖所示,一般來說,帶有 MT^2 的列比沒有 MT^2 的列的顏色要淺得多,這表明 MT2 可以通過限制其帶寬使用來有效減少嘈雜鄰居的干擾。

4477407e-8281-11ee-939d-92fbcf53809c.png

以 NVM Read 工作負(fù)載為例,四種噪聲鄰居將 Victim 進程 fio 的吞吐量降低到基線的 50%、39%、65% 和 44%。通過使用 MT^2 限制嘈雜鄰居的帶寬,Victim 進程 fio 的吞吐量恢復(fù)到基線的 98%、92%、99% 和 98%。其他工作負(fù)載呈現(xiàn)類似現(xiàn)象。

分配指定內(nèi)存帶寬

本文利用 TGroup 為四種內(nèi)存訪問模式對應(yīng)的進程分配了指定的帶寬上限限制,通過 fio 實驗判斷本文設(shè)計的限制功能是否有效。結(jié)果如下表所示,第一列表示各個任務(wù)單獨運行時的吞吐量,第二列表示四個任務(wù)同時運行時各自的吞吐量。以 DRAM 寫入為例,多任務(wù)并行時吞吐量下降了 66%(從 7.4GB/s 到 2.5GB/s)。然后,本文為這些任務(wù)分配不同的帶寬保證(如括號中的數(shù)字所示),數(shù)據(jù)顯示這些任務(wù)的帶寬在 MT^2 的規(guī)定下得到滿足。

44b313e2-8281-11ee-939d-92fbcf53809c.png

04 總結(jié)

持久內(nèi)存(PM)/ 非易失性內(nèi)存(NVM)的出現(xiàn)正改變著存儲系統(tǒng)的金字塔層次結(jié)構(gòu)。本文發(fā)現(xiàn),由于 NVM 和 DRAM 共享同一條內(nèi)存總線,帶寬干擾問題變得更為嚴(yán)重和復(fù)雜,甚至?xí)@著降低系統(tǒng)的總帶寬。

本工作介紹了對內(nèi)存帶寬干擾的分析,對現(xiàn)有軟硬件技術(shù)進行了深入調(diào)研,并提出了一種在 NVM/DRAM 混合平臺上監(jiān)控調(diào)節(jié)并發(fā)應(yīng)用的內(nèi)存帶寬的設(shè)計(MT^2)。MT^2 以線程為粒度準(zhǔn)確監(jiān)測來自混合流量的不同類型的內(nèi)存帶寬,使用軟硬件結(jié)合技術(shù)控制內(nèi)存帶寬。

在多個不同的用例中,MT^2 能夠有效限制 Noisy Neighbors,消除吵鬧鄰居的帶寬干擾,保證高優(yōu)先級應(yīng)用程序的性能。






審核編輯:劉清

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

    關(guān)注

    1

    文章

    200

    瀏覽量

    54033
  • DRAM
    +關(guān)注

    關(guān)注

    40

    文章

    2343

    瀏覽量

    185242
  • 存儲器
    +關(guān)注

    關(guān)注

    38

    文章

    7637

    瀏覽量

    166534
  • 憶阻器
    +關(guān)注

    關(guān)注

    8

    文章

    75

    瀏覽量

    20314
  • NVM
    NVM
    +關(guān)注

    關(guān)注

    1

    文章

    42

    瀏覽量

    19360

原文標(biāo)題:混合NVM/DRAM平臺上的內(nèi)存帶寬調(diào)節(jié)

文章出處:【微信號:SSDFans,微信公眾號:SSDFans】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

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

    三星LPDDR5X DRAM已在高通驍龍移動平臺上驗證使用

    LPDDR5X解決方案在高通技術(shù)公司驍龍移動平臺上的成功驗證,證明了我們在DRAM技術(shù)方面的先進地位。
    發(fā)表于 03-03 10:56 ?1169次閱讀
    三星LPDDR5X <b class='flag-5'>DRAM</b>已在高通驍龍移動<b class='flag-5'>平臺上</b>驗證使用

    stm32F407平臺上使用freertos,使用pvPortMalloc申請內(nèi)存,發(fā)現(xiàn)內(nèi)存中的數(shù)據(jù)總被修改,怎么解決?

    如題,我現(xiàn)在在stm32F407平臺上打開FREERTOS,然后使用pvPortMalloc動態(tài)申請內(nèi)存的時候,發(fā)現(xiàn)這塊內(nèi)存中的數(shù)據(jù)總是變化,后面改為malloc申請,內(nèi)存中的數(shù)據(jù)就符
    發(fā)表于 03-07 09:03

    DRAM原理 - 6.猝發(fā)模式與內(nèi)存交錯#DRAM原理

    DRAM
    EE_Voky
    發(fā)布于 :2022年06月28日 15:21:11

    DRAM內(nèi)存原理

    DRAM內(nèi)存原理   不管你信不信,RDRAM (Rambus)、DDR SDRAM甚至是EDO RAM它們在本質(zhì)上講是一樣的。RDRAM、DDR RAM
    發(fā)表于 10-21 18:27

    怎樣去解決調(diào)節(jié)rk3288平臺上的cpu溫度頻率出現(xiàn)bug的問題呢

    調(diào)節(jié)rk3288平臺上的cpu溫度頻率出現(xiàn)bug這是為什么?怎樣去解決調(diào)節(jié)rk3288平臺上的cpu溫度頻率出現(xiàn)bug的問題呢?
    發(fā)表于 03-03 06:41

    Firefly-RK3399平臺上的DDR動態(tài)頻率驅(qū)動調(diào)節(jié)

    1、Firefly-RK3399平臺上的DDR動態(tài)頻率調(diào)節(jié)  OS: Android 7.1  Board: Firefly-RK3399  Kernel: v4.4.55  devfreq介紹
    發(fā)表于 11-24 18:03

    DRAM內(nèi)存模塊的設(shè)計技術(shù)

    第二部分:DRAM 內(nèi)存模塊的設(shè)計技術(shù)..............................................................143第一章 SDR 和DDR 內(nèi)存
    發(fā)表于 08-05 11:41 ?0次下載

    導(dǎo)體平臺上線天線問題的MoM-PO分析

    采用高低頻混合技術(shù)的混合矩量法-物理光學(xué)法(MoM-PO)分析導(dǎo)體平臺上的線天線問題;天線與平臺上不規(guī)則區(qū)域采用MoM分析,平臺其他部分用P
    發(fā)表于 12-18 14:46 ?13次下載

    DRAM原理 5 :DRAM Devices Organization

    隨著系統(tǒng)對內(nèi)存容量、帶寬、性能等方面的需求提高,系統(tǒng)會接入多個 DRAM Devices。而多個 DRAM Devices 不同的組織方式,會帶來不同的效果。本文將對不同的組織方式及其
    發(fā)表于 03-28 11:43 ?1592次閱讀
    <b class='flag-5'>DRAM</b>原理 5 :<b class='flag-5'>DRAM</b> Devices Organization

    私有云平臺的虛擬機內(nèi)存調(diào)度策略

    對虛擬機內(nèi)存緊缺、內(nèi)存空閑時的實時監(jiān)測和動態(tài)調(diào)度,并且提出虛擬機遷移策略,有效地緩解宿主機的內(nèi)存緊缺問題。最后選取一臺物理機作為主控節(jié)點,兩臺物理機作為子節(jié)點,利用Eucalyptus
    發(fā)表于 01-29 16:52 ?0次下載
    私有云<b class='flag-5'>平臺</b>的虛擬機<b class='flag-5'>內(nèi)存</b>調(diào)度<b class='flag-5'>策略</b>

    云計算平臺中多虛擬機內(nèi)存協(xié)同優(yōu)化策略研究

    和全局調(diào)節(jié)協(xié)作的多虛擬機內(nèi)存管理架構(gòu).通過定義內(nèi)存資源充裕狀態(tài)和內(nèi)存資源緊缺狀態(tài),提出了自發(fā)調(diào)節(jié)和全局調(diào)
    發(fā)表于 03-27 18:18 ?15次下載
    云計算<b class='flag-5'>平臺</b>中多虛擬機<b class='flag-5'>內(nèi)存</b>協(xié)同優(yōu)化<b class='flag-5'>策略</b>研究

    面向非易失性內(nèi)存文件的NVM模擬與驗證

    現(xiàn)有非易失性內(nèi)存文件系統(tǒng)都以DRAM模擬非易失性內(nèi)存(Non- Volatile memory,NVM)進行測試,而沒有充分考慮兩者間的寫時延和寫磨損特性差異,使得測試結(jié)果無法準(zhǔn)確反映
    發(fā)表于 05-07 11:05 ?13次下載

    一種動態(tài)可調(diào)整的混合內(nèi)存緩存替換策略

    DRAM和非易失性存儲NVM( Non-volatile memory)組成的混合內(nèi)存技術(shù)受到了廣泛的關(guān)注。在混合
    發(fā)表于 05-08 16:19 ?12次下載

    基于NVM和DRAN的混合內(nèi)存系統(tǒng)設(shè)計方案

    基于NVM和DRAN的混合內(nèi)存系統(tǒng)設(shè)計方案
    發(fā)表于 06-24 15:45 ?12次下載

    南亞科技與補丁科技攜手開發(fā)定制超高帶寬內(nèi)存

    近日,臺灣地區(qū)知名的DRAM內(nèi)存制造商南亞科技宣布,已與專業(yè)DRAM設(shè)計公司補丁科技達成戰(zhàn)略合作,共同致力于定制超高帶寬內(nèi)存(Customi
    的頭像 發(fā)表于 12-20 14:28 ?564次閱讀

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品