色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

3天內不再提示

解析Arm Neoverse N2 PMU事件L2D_CACHE_WR

Arm社區(qū) ? 來源:Arm社區(qū) ? 作者:Arm社區(qū) ? 2024-09-03 11:42 ? 次閱讀

作者:安謀科技 (Arm China) 主任工程師 Ker Liu;安謀科技 (Arm China) 主任軟件工程師 蔡亦波

有客戶希望我們幫忙分析 Eigen gemm 基準測試的一些執(zhí)行情況。具體來說是為什么 L1D_CACHE_WR 的值會低于 L2D_CACHE_WR,這種情況令人費解。

wKgaombWhaWAAQMZAABcOJk8riw523.jpg

通常,我們期望寫操作發(fā)生在 L1 數(shù)據緩存中。來自 L1 數(shù)據緩存的一些回寫可能會引發(fā) L2 緩存寫操作。一般來說,L1 數(shù)據緩存寫操作的數(shù)量應該高于 L2 緩存寫操作的數(shù)量。對于一些常用的工作負載(例如 Redis 和 Nginx),如果我們對 PMU 進行監(jiān)控,就會發(fā)現(xiàn) L1 數(shù)據緩存寫操作的數(shù)量會高于 L2 緩存寫操作的 PMU 值。但對于某些工作負載而言,L1 數(shù)據緩存寫操作的 PMU 值要低于 L2 緩存寫操作的 PMU 值。

本文中,我們將分析 L2D_CACHE_WR 的計數(shù),以及在何種情況下,L1D_CACHE_WR 的 PMU 值會低于 L2D_CACHE_WR。

驗證平臺

本文中的測試都是基于 Arm Neoverse N2 平臺的服務器。下表顯示了該服務器的硬件和軟件版本信息。

wKgaombWhbOAEjL2AABBtrmDepA763.jpg

調查

對于大多數(shù)工作負載而言,L1D_CACHE_WR 的 PMU 值要高于 L2D_CACHE_WR。例如,對于 Redis 來說,一個 Redis 進程在Core 1 上運行。使用 Memtier 客戶端來生成讀寫混合請求。

wKgZombWhcKAU9TVAABMGsBW1cQ604.jpg

以下是 Neoverse N2 PMU 指南[1]中 L1D_CACHE_WR 和 L2D_CACHE_WR 的定義。

L1D_CACHE_WR:此事件將統(tǒng)計在 L1 數(shù)據緩存中查找的任何內存寫入操作。此事件還將統(tǒng)計由數(shù)據緩存按虛擬地址清零 (DC ZVA) 指令所引發(fā)的訪問操作。

L2D_CACHE_WR:此事件將統(tǒng)計由 CPU 發(fā)出并在統(tǒng)一 L2 緩存中查找的任何內存寫入操作。無論 L2 緩存是否命中,該事件都將計數(shù)。此事件還將統(tǒng)計從 L1 數(shù)據緩存分配到 L2 緩存的任何回寫。此事件將 DC ZVA 操作視為存儲指令并統(tǒng)計這些訪問。來自 CPU 外部的監(jiān)聽不計算在內。

從 Neoverse N2 技術參考手冊[2]中我們知道,L1 緩存和 L2 緩存之間具有嚴格的包含關系。存在于 L1 緩存中的任何緩存行也同樣存在于 L2 緩存中。

經過分析研究,我們發(fā)現(xiàn)如下規(guī)律:

L2D_CACHE_WR 的 PMU 值約等于“L1 數(shù)據緩存重填”、“L1 指令緩存重填”和“L1 預取重填”的 PMU 值之和。

為什么我們要從這三個事件開始分析?

因為這三個事件都會引起 L1 數(shù)據緩存和 L1 指令緩存的替換行為,包括干凈替換 (clean evictions) 和臟替換 (dirty evictions)。如果仔細看 L2D_CACHE_WR 的定義,您會發(fā)現(xiàn)它將統(tǒng)計從 L1 數(shù)據緩存分配到 L2 緩存的任何回寫。L1 數(shù)據緩存回寫則統(tǒng)計從 L1 數(shù)據緩存到 L2 緩存的任何臟數(shù)據回寫,該值通常非常小,與 L2D_CACHE_WR 的值并不匹配,且沒有專門針對干凈替換的 PMU 計數(shù)器。因此,我們綜合考慮了所有可能導致緩存替換的事件(包括干凈替換和臟替換),從不同的角度進行分析,找到了這個規(guī)律。

wKgaombWhc6AbAEGAABLPedFu4M230.jpg

我們已在幾個典型場景中驗證了這一發(fā)現(xiàn)。大多數(shù)測試用例確實遵循這種規(guī)律。

對于 Redis 的情況

我們使用 Memtier 客戶端作為負載生成器,為 Redis 進程生成混合讀寫請求,結果發(fā)現(xiàn) PMU 值遵循相應規(guī)律。

wKgaombWhdqAT66TAABodPvgx80915.jpg

對于“Telemetry: ustress: l1d_cache_workload”[3]的情況

此基準測試僅讀取數(shù)據,旨在對 L1 數(shù)據緩存的未命中情況進行壓力測試,結果發(fā)現(xiàn) PMU 值遵循相應規(guī)律。

wKgaombWhfaAR1LIAABfDAOeRrc273.jpg

對于“Telemetry: ustress: l1i_cache_workload”[4]的情況

此基準測試將重復調用那些與頁面邊界對齊的函數(shù),旨在對 CPU L1 指令緩存的未命中情況進行壓力測試,結果發(fā)現(xiàn) PMU 值遵循相應規(guī)律。

wKgaombWhgWAGzrLAABhpC78Us0471.jpg

對于 Eigen gemm 的情況

此基準測試包含許多讀取操作。L1D_CACHE_WR 的 PMU 值比較小,但 L1 緩存的預取操作導致 L2D 的 PMU 值很大。因此,我們得到的結果是 L1D_CACHE_WR 的 PMU 值要低于 L2D_CACHE_WR。PMU 值也遵循這種規(guī)律。

wKgaombWhhCAMhY3AABvTojHREU782.jpg

但是,流寫入是一個例外。我們使用“Telemetry: ustress: memcpy_workload”[5]基準測試,對加載-存儲 (load-store) 管線中完全處于 L1D 緩存內的 memcpy 進行壓力測試。memcpy 觸發(fā)流寫入,跳過 L1 并直接寫入 L2。此時,PMU 值并不遵循這種規(guī)律。

wKgZombWhiWAVsvQAABdaHpXAyo077.jpg

以下是 Neoverse N2 技術參考手冊中關于寫入流模式的描述。

Neoverse N2 核心支持寫入流模式(有時也稱為讀取分配模式),這一點同時適用于 L1 和 L2 緩存。

當發(fā)生讀取未命中或寫入未命中時,會向 L1 和 L2 緩存分配緩存行。但是,寫入大塊數(shù)據可能會導致不必要的數(shù)據浪費緩存空間。這也可能會浪費功率和性能,因為在執(zhí)行行填充后,如果 memset() 隨后寫入了整行數(shù)據,行填充數(shù)據將被丟棄。有些情況下,不需要在寫入時分配緩存行,例如在執(zhí)行 C 標準庫 memset() 函數(shù)以將一大塊內存清除為某個已知值時。

為了防止不必要的緩存行分配,內存系統(tǒng)可以在行填充完成之前檢測核心何時寫入完整的緩存行。如果在可配置數(shù)量的連續(xù)行填充中檢測到這種情況,系統(tǒng)就會切換到寫入流模式。

在寫入流模式下,讀取操作會正常執(zhí)行,仍可能引發(fā)行填充。寫入操作還是會先查找緩存,但如果未命中,它們就會寫入 L2 或系統(tǒng),而不是開始行填充。

總結

在基于 Neoverse N2 的服務器上,L2D_CACHE_WR 會統(tǒng)計來自 L1 緩存的所有緩存替換(包括干凈替換和臟替換)以及流寫入。

對于讀取大量數(shù)據的工作負載,我們會看到,L1D_CACHE_WR 的 PMU 值要低于 L2D_CACHE_WR。

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

    關注

    134

    文章

    9309

    瀏覽量

    375053
  • 服務器
    +關注

    關注

    13

    文章

    9693

    瀏覽量

    87291
  • 數(shù)據緩存

    關注

    0

    文章

    24

    瀏覽量

    7315
  • PMU
    PMU
    +關注

    關注

    1

    文章

    120

    瀏覽量

    22100

原文標題:深入研究 Arm Neoverse N2 PMU 事件 L2D_CACHE_WR

文章出處:【微信號:Arm社區(qū),微信公眾號:Arm社區(qū)】歡迎添加關注!文章轉載請注明出處。

收藏 0人收藏

    評論

    相關推薦
    熱點推薦

    Arm Neoverse家族新增V1和N2兩大平臺,突破高性能計算瓶頸

    Arm 近日公開了Arm? Neoverse V1 和 N2 平臺的產品細節(jié),兩者滿足了基礎設施應用的各種需求。這兩個平臺的設計旨在解決當前正在運行的各種工作負載和應用問題,與上一代
    的頭像 發(fā)表于 04-30 16:20 ?9716次閱讀

    ARM Neoverse N2 PMU指南

    發(fā)生時。 2.1 范圍 本文件提供N2 PMU事件的高水平描述。 提到建筑行為和N2微性造影行為,以澄清這些事件的描述。 關于更完整的武器結構描述,請參考Armú 建筑參考手冊。 關于
    發(fā)表于 08-09 06:07

    Arm Neoverse V1 PMU指南

    事件之一時計數(shù)發(fā)生。 2.1范圍 本文檔提供了Neoverse V1 PMU事件的高級描述。有參考資料體系結構行為和Neoverse V1微觀體系結構行為事件描述。有關Arm架構的更完
    發(fā)表于 08-09 07:30

    Arm Neoverse N2汽車硬件技術概述

    算子系統(tǒng)。RD-N2-Automotive是在RD-N2的基礎上逐步開發(fā)的。 本文件必須與Arm NeoverseTM N2參考設計(RD-N2
    發(fā)表于 08-10 06:25

    ARM Neoverse?N2軟件優(yōu)化指南

    新宇宙? N2是一款高性能、低功耗的產品,采用Arm?v9.0-a架構。此實現(xiàn)支持Arm?v8.6?A之前的所有Armv8-A體系結構實現(xiàn)。
    發(fā)表于 08-11 06:47

    Arm Neoverse? N1 PMU指南

    本文檔提供了Neoverse N1 PMU事件的高級描述。 對體系結構行為和Neoverse N1微體系結構行為的引用闡明了這些事件描述。
    發(fā)表于 08-12 07:10

    Arm Neoverse? N2核心加密擴展技術參考手冊

    Neoverse?N2核心支持可選的ARM?v8.0-A和ARM?v8.2-A加密擴展。 ARM?v8.0-A加密擴展為Advanced S
    發(fā)表于 08-17 07:08

    ARM Neoverse?N1核心技術參考手冊

    (推測存儲旁路安全)位,以及ARM?v8.5-A擴展中引入的推測屏障(CSDB、SSBB、PSSBB)指令。 Neoverse?N1內核具有1級(L1)內存系統(tǒng)和專用的集成
    發(fā)表于 08-29 08:05

    ARM Neoverse?N2核心技術參考手冊

    Neoverse?N2內核是一款高性能、低功耗的產品,采用ARM?v9.0-A架構。 此實施支持所有以前的ARMv8-A架構實施,包括ARM?v8.5-A。 Neoversedsu
    發(fā)表于 08-29 08:12

    A_D-2WR2

    A_D-2WR2數(shù)據手冊,又需要的下來看看。
    發(fā)表于 01-13 17:53 ?8次下載

    互聯(lián)網巨頭紛紛啟用Arm CPU架構,Arm最新Neoverse V1和N2平臺加速云服務器芯片自研

    電子發(fā)燒友網報道(文/黃晶晶)Arm在2018年10月宣布了Neoverse的路線圖,繼2019年Neoverse N1平臺發(fā)布后,今年9月發(fā)布Ne
    發(fā)表于 09-30 14:46 ?1408次閱讀

    Arm推出新一代平臺 Neoverse V2 平臺

    目前,Arm Neoverse家族包括:V系列、N系列以及E系列。就在今年9月,Arm Neoverse迎來新的進展,推出新一代平臺
    的頭像 發(fā)表于 09-26 09:22 ?1681次閱讀

    Neoverse N2和CMN-700系統(tǒng)的PoC點在哪里?

    DC IVAC/ DC CIVAC指令用于將一個虛擬地址對應的cache line從data cache或是unified cache失效或清除失效到PoC點。N2 core硬件默認會
    的頭像 發(fā)表于 06-09 16:45 ?3427次閱讀
    <b class='flag-5'>Neoverse</b> <b class='flag-5'>N2</b>和CMN-700系統(tǒng)的PoC點在哪里?

    Arm 更新 Neoverse 產品路線圖,實現(xiàn)基于 Arm 平臺的人工智能基礎設施

    Neoverse CSS 產品;與 CSS N2 相比,其單芯片性能可提高 50% Arm Neoverse CSS N3 拓展了
    發(fā)表于 02-22 11:41 ?594次閱讀

    ArmArm Neoverse計算子系統(tǒng)(CSS):Arm Neoverse CSS V3和Arm Neoverse CSS N3

    Neoverse CSS N3代表了Arm計算子系統(tǒng)產品組合的最新進展。 Neoverse CSS V3是高性能V系列產品組合的首款產品,相比其前身
    的頭像 發(fā)表于 04-24 17:53 ?1585次閱讀
    <b class='flag-5'>Arm</b>新<b class='flag-5'>Arm</b> <b class='flag-5'>Neoverse</b>計算子系統(tǒng)(CSS):<b class='flag-5'>Arm</b> <b class='flag-5'>Neoverse</b> CSS V3和<b class='flag-5'>Arm</b> <b class='flag-5'>Neoverse</b> CSS <b class='flag-5'>N</b>3
    主站蜘蛛池模板: 日本xxx片免费高清在线 | 精品亚洲午夜久久久久 | 精品午夜视频 | 亚洲黄色免费在线观看 | 凹凸精品视频分类视频 | 久久国产热视频99rev6 | 我们日本在线观看免费动漫下载 | 蜜桃臀无码内射一区二区三区 | 我的美女房东未删减版免费观看 | 国产亚洲福利在线视频 | 蜜桃视频一区二区 | 真人做受120分钟免费看 | 日韩免费精品视频 | 欧美精品亚洲精品日韩专区一 | 东京热影院 | 超碰在线视频地址 | 午夜免费福利 | 国产成人精品久久一区二区三区 | 久9青青cao精品视频在线 | 毛片免费观看的视频在线 | 日本一本在线播放 | 一起洗澡的老师免费播放 | zxfuli午夜福利在线 | 国产免费不卡 | 蜜桃久久久亚洲精品成人 | 国产产一区二区三区久久毛片国语 | 美女议员被泄裸照 | 午夜影院视费x看 | 亲胸揉胸膜下刺激视频网站APP | babesvideos性欧美 | 俄罗斯XX性幻女18 | 恋夜影院支持安卓视频美女 | 男男h啪肉np文总受 男男h开荤粗肉h文1v1 | 最新无码二区日本专区 | 入室强伦女教师被学生 | 精品96在线观看影院 | 大桥未久电影在线 | 秋霞鲁丝片Av无码 | 中文字幕人成乱码熟女APP | 24小时日本在线电影 | 嫩草影院在线观看精品视频 |

    電子發(fā)燒友

    中國電子工程師最喜歡的網站

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