日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

内存性能的正确解读

發布時間:2024/8/23 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 内存性能的正确解读 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一臺服務器,不管是物理機還是虛擬機,必不可少的就是內存,內存的性能又是如何來衡量呢。

1. 內存與緩存

現在比較新的CPU一般都有三級緩存,L1 Cache(32KB-256KB),L2 Cache(128KB-2MB),L3 Cache(1M-32M)。緩存逐漸變大,CPU在取數據的時候,優先從緩存去取數據,取不到才去內存取數據。

2. 內存與時延

顯然,越靠近CPU,取數據的速度越塊,通過LMBench進行了讀數延遲的測試。

從上圖可以看出:

  • Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz 這款CPU的L1D Cache,L1I Cache為32KB,而L2 Cache為1M,L3為32M;
  • 在對應的Cache中,時延是穩定的;
  • 不同緩存的時延呈現指數級增長;
  • 所以我們在寫業務代碼的時候,如果想要更快地提高效率,那么使得計算更加貼近CPU則可以獲取更好的性能。但是從上圖也可以看出,內存的時延都是納秒為單位,而實際業務中都是毫秒為單位,優化的重點應該是那些以毫秒為單位的運算,而內存時延優化這塊則是長尾部分。

    3. 內存帶寬

    內存時延與緩存其實可謂是緊密相關,不理解透徹了,則可能測的是緩存時延。同樣測試內存帶寬,如果不是正確的測試,則測的是緩存帶寬了。
    為了了解內存帶寬,有必要去了解下內存與CPU的架構,早期的CPU與內存的架構還需要經過北橋總線,現在CPU與內存直接已經不需要北橋,直接通過CPU的內存控制器(IMC)進行內存讀取操作:

    那對應的內存帶寬是怎樣的呢?測試內存帶寬有很多很多工具,linux下一般通過stream進行測試。簡單介紹下stream的算法:

    stream算法的原理從上圖可以看出非常簡單:某個內存塊之間的數據讀取出來,經過簡單的運算放入另一個內存塊。那所謂的內存帶寬:內存帶寬=搬運的內存大小/耗時。通過整機合理的測試,可以測出來內存控制器的帶寬。下圖是某云產品的內存帶寬數據:

    ------------------------------------------------------------- Function Best Rate MB/s Avg time Min time Max time Copy: 128728.5 0.134157 0.133458 0.136076 Scale: 128656.4 0.134349 0.133533 0.137638 Add: 144763.0 0.178851 0.178014 0.181158 Triad: 144779.8 0.178717 0.177993 0.180214 -------------------------------------------------------------

    內存帶寬的重要性自然不言而喻,這意味著操作內存的最大數據吞吐量。但是正確合理的測試非常重要,有幾個注意事項需要關注:

  • 內存數組大小的設置,必須要遠大于L3 Cache的大小,否則就是測試緩存的吞吐性能;
  • CPU數目很有關系,一般來說,一兩個核的計算能力,是遠遠到不了內存帶寬的,整機的CPU全部運行起來,才可以有效地測試內存帶寬。當然跑單核的stream測試也有意義,可以測試內存的延時。
  • 4. 其他

  • 內存與NUMA的關系:開啟NUMA,可以有效地提供內存的吞吐性能,降低內存時延。
  • stream算法的編譯方法選擇:通過icc編譯,可以有效地提供內存帶寬性能分。原因是Intel優化了CPU的指令,通過指令向量化和指令Prefetch操作,加速了數據的讀寫操作以及指令操作。當然其他C代碼都可以通過icc編譯的方法,提供指令的效率。
  • ?

    原文鏈接
    本文為云棲社區原創內容,未經允許不得轉載。

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的内存性能的正确解读的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。