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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

同一個CPU核訪問不同的內存條延時一樣嗎?

冬至配餃子 ? 來源:開發內功修煉 ? 作者:張彥飛allen ? 2022-08-30 17:03 ? 次閱讀

現在的服務器物理機一般都是多個CPU,核數也是十幾甚至幾十核。內存幾十GB甚至是上百G,也是由許多條組成的。那么我這里思考一下,這么多的CPU和內存它們之間是怎么互相連接的?同一個CPU核訪問不同的內存條延時一樣嗎?

在《內存隨機訪問也比順序慢,帶你深入理解內存IO過程》中我們了解了內存訪問時芯片內部的執行過程,在《實際測試內存在順序IO和隨機IO時的訪問延時差異》中我們又進行了實際的代碼測試。不過這兩文中我們都把精力聚焦在內存內部機制,而回避了上面的問題,那就是CPU和內存的連接方式,也就是總線架構。

1 回顧CPU與內存的簡單連接:FSB時代

我們先來回顧下在歷史上CPU、內存數量比較少的年代里的總線方案-FSB。FSB的全稱是Front Side Bus,因此也叫前端總線。CPU通過FSB總線連接到北橋芯片,然后再連接到內存。內存控制器是集成在北橋里的,Cpu和內存之間的通信全部都要通過這一條FSB總線來進行。

pYYBAGMN0ZeAU5m7AAA758U0WWc707.png

在這個年代里,當時提高計算機系統整體性能的方式就是不斷地提高CPU、FSB總線、內存條的數據傳輸頻率。

2 如今多CPU多內存復雜互聯:NUMA時代

當CPU的主頻提升到了3GHz每秒以后,硬件制造商們發現單個CPU的已經到了物理極限了。所以就改變了性能改進的方法,改成為向多核、甚至是多CPU的方向來發展。在這種情況下,如果仍然采用FSB總線,會導致所有的CPU和內存通信都經過總線,這樣總線就成為了瓶頸,無法充分發揮多核的優勢與性能。所以CPU制造商們把內存控制器從北橋搬到了CPU內部,這樣CPU便可以直接和自己的內存進行通信了。那么,如果CPU想要訪問不和自己直連的內存條怎么辦呢?所以就誕生了新的總線類型,它就叫QPI總線。

poYBAGMN0bGAP6t4AABMX7DE0kA060.png

圖2中CPU1如果想要訪問內存3的話,就需要經過QPS總線才可以。

3 動手查看Linux下的NUMA架構

我們先通過dmidecode命令查看一下內存插槽,單條大小等信息。大家可以試著在linux上執行以下該命令。輸出結果很長,大家可以有空仔細研究。我這里不全部介紹,這里只挑選一些和內存相關的:

pYYBAGMN0beAeBn_AABuL7i4jtg460.png

可以看出,我當前使用的機器上共有16個內存插槽,共插了8條8G的內存。所以總共是64GB。如我們前面所述,在NUMA架構里,每一個物理CPU都有不同的內存組,通過numactl命令可以查看這個分組情況。

pYYBAGMN0ceACe7NAABTHY84VJM095.png

通過上述命令可以看到,每一組CPU核分配了32GB(4條)的內存。node distance是一個二維矩陣,描述node訪問所有內存條的延時情況。node 0里的CPU訪問node 0里的內存相對距離是10,因為這時訪問的內存都是和該CPU直連的。而node 0如果想訪問node 1節點下的內存的話,就需要走QPI總線了,這時該相對距離就變成了21。

所以、在NUMA架構下,CPU訪問自己同一個node里的內存要比其它內存要快!

4 動手測試NUMA架構內存延遲差異

numactl命令有--cpubind和--membind的選項,通過它們我們可以指定我們要用的node節點。還沿用《實際測試內存在順序IO和隨機IO時的訪問延時差異》里的測試代碼

1、讓內存和CPU處于同一個Node

下面代碼可能需要左右滑動

poYBAGMN0fSATUlkAABbASvIM8U756.png

2、讓內存和CPU處于不同Node

下面代碼可能需要左右滑動

pYYBAGMN0g2ADYUBAABagSCySQ4468.png

5 結論

通過上面的各個小節我們可以看到,現代的服務器里,CPU和內存條都有多個,它們之前目前主要采用的是復雜的NUMA架構進行互聯,NUMA把服務器里的CPU和內存分組劃分成了不同的node。從上述實驗結果來看,拿8M數組,循環步長為64的case來說,同node耗時3.15納秒,跨node為3.96納秒。所以屬于同一個node里的CPU和內存之間訪問速度會比較快。而如果跨node的話,則需要經過QPI總線,總體來說,速度會略慢一些。


審核編輯:劉清

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

    關注

    68

    文章

    10855

    瀏覽量

    211602
  • 服務器
    +關注

    關注

    12

    文章

    9129

    瀏覽量

    85338
  • 總線
    +關注

    關注

    10

    文章

    2878

    瀏覽量

    88055
  • FSB
    FSB
    +關注

    關注

    0

    文章

    7

    瀏覽量

    9393
收藏 人收藏

    評論

    相關推薦

    DDR內存條對比分析

    DDR內存條經歷了DDR內存條、DDR2內存條、DDR3內存條時代。這里給出了DDR內存條
    發表于 12-29 14:21 ?3719次閱讀

    內存條頻率不一樣,能起用嗎? #電腦小技巧

    內存條電腦/辦公
    學習硬聲知識
    發布于 :2022年11月01日 22:52:40

    FPGA對DDRSDRAM內存條的控制

    首先介紹了內存條的工作原理,內存條電路設計的注意事項,以及如何使用FPGA實現對DDR內存條的控制,最后給出控制的仿真波形。 1 內存條的工作原理   
    發表于 06-29 15:37 ?2547次閱讀
    FPGA對DDRSDRAM<b class='flag-5'>內存條</b>的控制

    內存條買單跟雙的區別解析

    買過內存條的用戶定都有過這樣的糾結:在限定容量下,是該買根足量的內存條還是買雙根內存條進行組合?今天,我們就來聊聊這個問題。
    發表于 06-11 16:28 ?3.8w次閱讀

    內存條需要注意什么

    安裝新的內存條時不要為追求高性能而安裝與原內存條差距過大的內存條。比如我們在1gb內存條旁邊加裝4gb的內存條,這樣是不行的。如果這樣安裝會
    的頭像 發表于 12-08 09:46 ?12.9w次閱讀

    內存條的什么屬性重要應該如何選擇

    買電腦內存條主要看什么呢?由于內存條的種類和品牌非常的多,消費者在選擇內存條的時候就需要認識內存的主要配置,特別是DIY配置電腦的時候,如果想要購買好點的
    的頭像 發表于 12-01 12:02 ?5723次閱讀

    如何選擇合適的內存條內存條的什么屬性最重要

    買電腦內存條主要看什么呢?由于內存條的種類和品牌非常的多,消費者在選擇內存條的時候就需要認識內存的主要配置,特別是DIY配置電腦的時候,如果想要購買好點的
    的頭像 發表于 04-12 09:14 ?7325次閱讀

    怎么區分內存條的單面和雙面

    什么是單面和雙面內存?它們有些什么的特性與區別呢?你們知道怎么區分內存條單面和雙面嗎?下面小編帶來怎么區分內存條單面和雙面的內容,歡迎閱讀!
    發表于 05-28 09:51 ?8905次閱讀

    內存條壞了會出現什么狀況_內存條壞了如何解決

    內存條大家應該知道吧1它是電腦運行不可缺少的種零件,大家可能光是知道這個東西,卻不知道它到底有哪些方面的作用。簡單的來說內存條就是電腦的
    發表于 06-01 10:22 ?1.3w次閱讀

    內存條故障原因及解決

    內存是電腦必不可少的組成部分,CPU可通過數據總線對內存尋址。歷史上的電腦主板上有主內存內存條是主內存
    發表于 06-09 10:44 ?8356次閱讀

    內存條起著什么的作用

     當電腦的CPU工作時,會從硬盤調用數據并存儲在內存條中,然后再從內存條中讀取數據使用,和直接從硬盤調用數據相比CPU內存條之間的數據傳輸
    發表于 06-17 10:21 ?5077次閱讀

    如何讓RTOS多任務訪問同一個UART?

    在RTOS多任務編程的時候,同一個硬件(比如UART、I2C等)被多個任務訪問的情況比較多,如果不合理處理,就會導致“混亂”的局面。 處理“混亂”局面的方法比較多,下面基于FreeRTOS,以
    的頭像 發表于 03-12 17:18 ?2089次閱讀

    內存條的6層PCB設計

    內存條的6層PCB設計
    發表于 03-20 09:24 ?0次下載

    網絡IP地址是否在同一個段中的判斷方法

    我們知道IP地址是由“網絡號+子網號+主機號”組成,判斷兩IP地址是否在同一個網段主要看“網絡號”,如果網絡號一樣,那么他們就在同一個網段,否則就不在
    的頭像 發表于 06-02 14:31 ?1.3w次閱讀
    兩<b class='flag-5'>個</b>網絡IP地址是否在<b class='flag-5'>同一個</b>段中的判斷方法

    服務器內存條和普通內存條的區別

    內存條般采用ECC DIMM封裝形式。ECC DIMM具有額外的錯誤檢測和糾正功能,可以提供更高的數據可靠性,減少硬件故障的風險。 此外,服務器內存條通常具有更多的插槽和更大的容量支持。普通
    的頭像 發表于 02-19 10:19 ?8817次閱讀
    主站蜘蛛池模板: 精品国产精品人妻久久无码五月天| 公么我好爽再深一点| 99精品国产电影| 精品久久久久久综合网| 午夜啪啪免费视频| 成人国产在线不卡视频| 欧美激情精品久久久久久不卡| 在线观看国产精选免费| 娇喘嗯嗯 轻点啊视频福利| 午夜日韩久久影院| 国产精品v欧美精品v日韩| 日本三级黄色大片| 超碰在线vip| 日本夜夜夜| 成人在无码AV在线观看一| 人妻免费久久久久久久了| xxxx18动漫| 三级色视频| 国产精品久久久久影院免费| 四虎永久在线精品国产免费| 国产成人精品午夜福麻豆报告| 十七岁日本免费完整版BD | 国产剧情福利AV一区二区 | 揉抓捏打抽插射免费视频| 大胆国模一区二区三区伊人 | 国产99热在线观看| 无限资源在线看影院免费观看| 国产午夜精品理论片在线| 亚洲精品一区二区在线看片 | 天天躁躁水汪汪人碰人| 和老外3p爽粗大免费视频| 中文字幕日本久久2019| 欧美日韩无套内射另类| 国产精品高潮AV久久无码| 亚洲精品中文字幕一二三四区 | 99爱在线精品视频免费观看9| 人人澡人人擦人人免费| 国产日韩精品一区二区三区在线| 一边吃奶一边添P好爽故事| 暖暖视频免费观看视频| 国产乱国产乱老熟300部视频|