成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一篇文章帶你學習CPU架構知識

系統 Linux
由于 snooping 使用了廣播會占用總線帶寬,一般認為 snooping 擴展性不如 directory-based,但是在帶寬足夠的前提下,snooping 會更快。

[[410973]]

Part1架構概述

從系統架構來看,目前的商用服務器大體可以分為三類

  • 對稱多處理器結構(SMP:Symmetric Multi-Processor)
  • 非一致存儲訪問結構(NUMA:Non-Uniform Memory Access)
  • 海量并行處理結構(MPP:Massive Parallel Processing)。

共享存儲型多處理機有兩種模型

  • 均勻存儲器存取(Uniform-Memory-Access,簡稱UMA)模型
  • 非均勻存儲器存取(Nonuniform-Memory-Access,簡稱NUMA)模型

多核系統的存儲結構

根據多核處理器內的cache配置情況,可以把多核處理器的組織結構分成以下四種:

  • 片內私有L1 cache結構:簡單的多核計算機的cache結構由L1和L2兩級組成。處理器片內的多個核各自有自己私有的L1 cache,一般被劃分為指令L1(L1-I)cache和數據L1(L1-D)cache。而多核共享的L2 cache則存在于處理器芯片之外。

 

  • 片內私有L2 cache結構:處理器片內的多個核仍然保留自己私有的指令L1 cache和數據L1 cache,但L2 cache被移至處理器片內,且L2 cache為各個核私有。多核共享處理器芯片之外的主存。

  • 片內共享L2 cache結構:結構與片內私有L2 cache的多核結構相似,都是片上兩級cache結構。不同之處在于處理器片內的私有L2 cache變為多核共享L2 cache。多核仍然共享處理器芯片之外的主存。對處理器的每個核而言,片內私有L2 cache的訪問速度更高。但在處理器片內使用共享的L2 cache取代各個核私有的L2 cache能夠獲得系統整體性能的提升。

  • 片內共享L3 cache結構:隨著處理器芯片上的可用存儲器資源的增長,高性能的處理器甚至把L3 cache也從處理器片外移至片內。在片內私有L2 cache結構的基礎上增加片內多核共享L3 cache使存儲系統的性能有了較大提高。下圖給出了這種結構的示意。

存取速度比較:L1緩分成兩種,一種是指令緩存,一種是數據緩存。L2緩存和L3緩存不分指令和數據。L1和L2緩存在第一個CPU核中,L3則是所有CPU核心共享的內存。L1、L2、L3的越離CPU近就越小,速度也越快,越離CPU遠,速度也越慢。再往后面就是內存,內存的后面就是硬盤。我們來看一些他們的速度:

  • L1 的存取速度:4 個CPU時鐘周期
  • L2 的存取速度:11 個CPU時鐘周期
  • L3 的存取速度:39 個CPU時鐘周期
  • RAM內存的存取速度 :107 個CPU時鐘周期

多核處理器的核間通信機制

多核處理器片內的多個處理器內核雖然各自執行各自的代碼,但是處理器內核之間需要進行數據的共享和同步,因此多核處理器硬件結構必須支持高效的核間通信,片上通信結構的性能也將直接影響處理器的性能

1)總線共享Cache結構

  • 總線共享Cache結構是指多核處理器內核共享L2 Cache或L3 Cache,片上處理器內核、輸入/輸出接口以及主存儲器接口通過連接各處理器內核的總線進行通信。
  • 這種方式的優點是結構簡單、易于設計實現、通信速度高,但缺點是總線結構的可擴展性較差,只適用于處理器核心數較少的情況。

2)交叉開關互連結構

  • 傳統的總線結構采用分時復用的工作模式,因而在同一總線上同時只能進行一個相互通信的過程。而交叉開關(Crossbar Switch)互連結構則能夠有效提高數據交換的帶寬。
  • 交叉開關是在傳統電話交換機中沿用數十年的經典技術,它可以按照任意的次序把輸入線路和輸出線路連接起來。

3)片上網絡結構

  • 片上網絡(Network on a Chip,NoC;On-chip Network)技術借鑒了并行計算機的互連網絡結構,在單芯片上集成大量的計算資源以及連接這些資源的片上通信網絡。每個處理器內核具有獨立的處理單元及其私有的Cache,并通過片上通信網絡連接在一起,處理器內核之間采用消息通信機制,用路由和分組交換技術替代傳統的片上總線來完成通信任務,從而解決由總線互連所帶來的各種瓶頸問題。
  • 片上網絡與傳統分布式計算機網絡有很多相似之處,但限于片上資源有限,設計時要考慮更多的開銷限制,針對延時、功耗、面積等性能指標進行優化設計,為實現高性能片上系統提供高效的通信支持。

多核處理器的Cache一致性

在多核系統設計時必須考慮多級Cache的一致性(Cache Coherency)問題。對內存的基本操作包括讀操作和寫操作。Cache一致性問題產生的原因是:

  • 在一個處理器系統中,不同的Cache和主存空間中可能存放著同一個數據的多個副本,在寫操作時,這些副本存在著潛在的不一致的可能性。
  • 在單處理器系統中,Cache一致性問題主要表現為在內存寫操作過程中如何保持各級Cache中的數據副本和主存內容的一致,即使有I/O通道共享Cache,也可以通過全寫法較好地解決Cache一致性問題。
  • 而在多核系統中,多個核都能夠對內存進行寫操作,而Cache級數更多,同一數據的多個副本可能同時存放在多個Cache存儲器中,某個核的私有Cache又只能被該核自身訪問。即使采用全寫法,也只能維持一個Cache和主存之間的一致性,不能自動更新其他處理器內核的私有Cache中的相同副本。這些因素無疑加大了Cache一致性問題的復雜度,同時又影響著多核系統的存儲系統整體設計。

維護Cache一致性的關鍵在于跟蹤每一個Cache塊的狀態,并根據處理器的讀寫操作及總線上的相應事件及時更新Cache塊的狀態。一般來說,導致多核處理器系統中Cache內容不一致的原因如下:(1)可寫數據的共享:某個處理器采用全寫法或寫回法修改某一個數據塊時,會引起其他處理器的Cache中同一副本的不一致。(2)I/O活動:如果I/O設備直接連接在系統總線上,I/O活動也會導致Cache不一致。(3)核間線程遷移:核間線程遷移就是把一個尚未執行完的線程調度到另一個空閑的處理器內核中去執行。為提高整個系統的效率,有的系統允許線程核間遷移,使系統負載平衡。但這有可能引起Cache的不一致。對于I/O活動和核間線程遷移而導致的Cache不一致,可以分別通過禁止I/O通道與處理器共享Cache以及禁止核間線程遷移簡單解決。因而多處理器中的Cache一致性問題主要是針對可寫數據的共享。

UMA(Uniform-Memory-Access)與 SMP (Symmetric Multi-Processor)

所謂對稱多處理器結構,是指服務器中多個CPU對稱工作,無主次或從屬關系。各CPU共享相同的物理內存,每個 CPU訪問內存中的任何地址所需時間是相同的,因此UMA也被稱為對稱多處理器結構(SMP:Symmetric Multi-Processor)。對UMA服務器進行擴展的方式包括增加內存、使用更快的CPU、增加CPU、擴充I/O(槽口數與總線數)以及添加更多的外部設備(通常是磁盤存儲)。

在對稱多處理器架構下,系統中的每個處理器內核地位相同,其看到的存儲器和共享硬件也都是相同的。在UMA架構的多處理器系統中,所有的處理器都訪問一個統一的存儲器空間,這些存儲器往往以多通道的方式組織。在UMA架構下,所有的內存訪問都被傳遞到相同的共享內存總線上,不同的處理器訪問存儲器的延遲時間相同,任何一個進程或線程都可以被分配到任何一個處理器上運行。每個處理器還可以配備私有的Cache,外圍設備也可以通過某種形式共享。因而UMA架構可以在操作系統的支持下達到非常好的負載均衡效果,讓整個系統的性能、吞吐量有較大提升。

但從存儲器訪問的角度看,對稱多處理器架構的缺點是可伸縮性較差。這是因為多個核使用相同的總線訪問內存,隨著處理器內核數的增加,總線將成為系統性能提升的瓶頸。因而UMA架構只適用于處理器內核數量相對較少的情況,不適用于系統中配置數十個甚至數百個處理器內核的情況。 

 

NUMA(Non-Uniform Memory Access)

NUMA 的主要優點是伸縮性。NUMA 體系結構在設計上已超越了 SMP 體系結構在伸縮性上的限制。通過 SMP,所有的內存訪問都傳遞到相同的共享內存總線。這種方式非常適用于 CPU 數量相對較少的情況,但不適用于具有幾十個甚至幾百個 CPU 的情況,因為這些 CPU 會相互競爭對共享內存總線的訪問。NUMA 通過限制任何一條內存總線上的 CPU 數量并依靠高速互連來連接各個節點,從而緩解了這些瓶頸狀況。

系統內的存儲器訪問延時從高到低依次為:跨CPU訪存、不跨CPU但跨NUMA域訪存、NUMA域內訪存。因此,在應用程序運行時應盡可能避免跨NUMA域訪問存儲器,這可以通過設置線程的CPU親和性(affinity)來實現。

NUMA架構既可以保持對稱多處理器架構的單一操作系統、簡便的應用程序編程模式及易于管理的特點,又可以有效地擴充系統的規模。NUMA架構能夠為處理器訪問本地存儲器單元提供高速互連機制,同時為處理器訪問遠程存儲器單元提供較為經濟但延遲時間更高的連接通道,因而NUMA架構的系統通常比UMA架構的系統更加經濟且性能更強大。

CC-NUMA(CacheCoherentNon-UniformMemoryAccess)

在NUMA架構中,有一種類型應用特別普遍,即CC-NUMA(Cache Coherent Non-Uniform Memory Access,緩存一致性非統一內存訪問)系統。緩存一致性問題是由于多個處理器共享同一個存儲空間而引起的,而CC-NUMA是指通過專門的硬件保持Cache中的數據和共享內存中的數據的一致性,不需要軟件來保持多個數據副本之間的一致性。當某個存儲單元的內容被某個處理器改寫后,系統可以很快地通過專用硬件部件發現并通知其他各個處理器。因此。在CC-NUMA系統中,分布式內存儲器被連接為單一內存空間,多個處理器可以在單一操作系統下使用與對稱多處理器架構中一樣的方式完全在硬件層次實現管理。

  • Directory 協議 。這種方法的典型實現是要設計一個集中式控制器,它是主存儲器控制器的一部分。其中有一個目錄存儲在主存儲器中,其中包含有關各種本地緩存內容的全局狀態信息。當單個CPU Cache 發出讀寫請求時,這個集中式控制器會檢查并發出必要的命令,以在主存和CPU Cache之間或在CPU Cache自身之間進行數據同步和傳輸。

  • Snoopy 協議 。這種協議更像是一種數據通知的總線型的技術。CPU Cache通過這個協議可以識別其它Cache上的數據狀態。如果有數據共享的話,可以通過廣播機制將共享數據的狀態通知給其它CPU Cache。這個協議要求每個CPU Cache 都可以 “窺探” 數據事件的通知并做出相應的反應。

由于 snooping 使用了廣播會占用總線帶寬,一般認為 snooping 擴展性不如 directory-based,但是在帶寬足夠的前提下,snooping 會更快。

本文轉載自微信公眾號「運維開發故事」,可以通過以下二維碼關注。轉載本文請聯系運維開發故事公眾號。

 

責任編輯:姜華 來源: 運維開發故事
相關推薦

2021-04-07 06:11:37

Css前端CSS定位知識

2022-02-21 09:44:45

Git開源分布式

2023-05-12 08:19:12

Netty程序框架

2021-06-30 00:20:12

Hangfire.NET平臺

2021-03-21 07:36:43

Python迭代知識語言

2023-01-05 07:52:36

高可用架構消息隊列

2021-06-30 10:01:09

Python字典代碼

2021-05-20 09:02:59

CSS單位長度

2024-12-26 16:49:20

Python字典元素

2020-11-10 10:48:10

JavaScript屬性對象

2020-02-28 11:29:00

ElasticSear概念類比

2021-06-04 09:56:01

JavaScript 前端switch

2021-07-01 10:01:16

JavaLinkedList集合

2021-01-29 18:41:16

JavaScript函數語法

2021-02-02 18:39:05

JavaScript

2022-12-14 08:03:27

CSS變量前端

2021-05-15 09:18:04

Python進程

2023-09-06 14:57:46

JavaScript編程語言

2020-12-08 08:09:49

SVG圖標Web

2021-05-18 08:30:42

JavaScript 前端JavaScript時
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91在线一区 | 亚洲一区视频在线播放 | 欧美在线一区视频 | 国产成人免费 | 欧美性一区二区三区 | 女生羞羞视频 | 亚州精品天堂中文字幕 | www.操.com| 精品在线观看一区 | 波多野吉衣在线播放 | 精品免费国产视频 | 97精品超碰一区二区三区 | 欧美精品福利视频 | 夜夜骑av| 成人一区二区三区在线 | 亚洲欧美一区二区三区在线 | 99精品一区二区 | 国产精品一区视频 | 综合国产 | 日韩免费1区二区电影 | 亚洲一区二区三区免费在线观看 | 日韩av第一页 | 成人a视频在线观看 | 国产做爰| 精品久久精品 | 国产精品久久久久久久免费观看 | 免费在线精品视频 | 国产高清在线精品 | 精品一区二区三区在线播放 | 在线视频一区二区 | 久久国内精品 | 日韩欧美精品一区 | 999精品在线观看 | 资源首页二三区 | 人人爽日日躁夜夜躁尤物 | 精品久久久999 | 麻豆久久久 | 国产一区二区三区四区 | 欧美亚洲另类丝袜综合网动图 | 欧美男人天堂 | 国产成人麻豆免费观看 |