鯤鵬雲HCIA知識總結(一)


在這里插入圖片描述
前言:
        大二下學期有幸參加了華為鯤鵬雲的一個訓練營,自開營已經過去了一周時間,期間學到了很多新的知識,也拓寬了自己的眼界(●ˇ∀ˇ●)。訓練營的最終目的是通過華為的HCIA認證,因此總結一下這幾天的知識點。

不得不說這幾天學習的內容是挺多的,內容也很瑣碎,看來想通過這個認證着實不容易,好了開始總結知識點 (ง •_•)ง

第一章 鯤鵬介紹

這章在考試大綱中占10%,而且全是理論知識,主要介紹了鯤鵬計算產業以及鯤鵬生態,華為鯤鵬處理器的架構,型號與規格,技術創新與應用場景,TaiShan200機架服務器和高密服務器,華為雲鯤鵬雲服務,鯤鵬計算平台的操作系統兼容性以及openEuler開源操作系統的發展和特性等內容。記錄一下重點的內容。

  • 2019年華為推出的鯤鵬920處理器是業界第一顆7nm工藝處理器。

  • 鯤鵬生態兼容的操作系統介紹:
    在這里插入圖片描述

  • 華為鯤鵬伙伴計划
    在這里插入圖片描述

  • 思考題:

  1. 華為鯤鵬計算產業相關產品有哪些?( ABC )
    A、華為鯤鵬處理器
    B、TaiShan服務器
    C、華為雲鯤鵬雲服務

  2. 圍繞鯤鵬計算產業,華為提供( ABCD )支持。
    A、雲服務
    B、工具鏈
    C、社區服務
    D、專業服務

  • 華為鯤鵬處理器架構介紹:

華為鯤鵬處理器基於ARM架構。ARM是一種CPU架構,有別於Intel、AMD CPU采用的CISC復雜指令集,ARM CPU采用RISC精簡指令集(reduced instruction set computer,精簡指令集計算機)。

  • Kunpeng 920內置多種加速引擎,同時TaiShan 200服務器基於Kunpeng 920芯片提供的硬件加速解決方案,包含了對稱加密非對稱加密數字簽名壓縮解壓縮等算法。

  • Kunpeng 920加速器簡介:
    在這里插入圖片描述

  • 思考題

  1. Kunpeng 920加速器子系統需要安裝?(√)

  2. Suse操作系統是從哪個版本開始處於Kunpeng 920的OS生態圈?(D)
    A. SLES 12.3
    B. SLES 12.4
    C. SLES 15
    D. SLES 15.1

  3. 以下哪些關於華為鯤鵬920處理器的描述是正確的?( ABCD)
    A.采用了7nm的制造工藝;
    B.支持8通道的DDR4控制器;
    C.支持PCIe 4.0接口,並兼容PCIe 3.0/2.0/1.0;
    D.支持多種加速器;

  4. 華為鯤鵬920處理器內置了那些加速器?(ABC)
    A、SSL加速引擎
    B、加解密加速引擎
    C、壓縮解壓縮加速引擎

  5. 以下哪些屬於華為鯤鵬920芯片的特點?(ABC)
    A. 集成最多64個自研核
    B. 支持8通道DDR4控制器
    C. 支持CCIX接口
    D. 只支持GE/10GE網絡

TaiShan服務器系列介紹:

  • 第一代TaiShan 100服務器是基於鯤鵬916處理器,2016年推出市場。2019年推出TaiShan 200服務器基於最新的鯤鵬920處理器,是市場的主打產品。

  • TaiShan服務器目前已經規模商用的有2280均衡型、5280存儲型,X6000高密型。

思考題

  1. 以下哪項不是TaiShan服務器的優點?(D)
    A. 國產化,自主安全可控
    B. 多物理核心,並發性能高
    C. 低功耗,綠色節能
    D. 生態完備,上層應用支持好

  2. TaiShan 200機架服務器包含哪些型號?(ABC)
    A.2280
    B.5280
    C.2480
    D.X6000(X6000屬於高密服務器)

  • 鯤鵬彈性雲服務器優勢:覆蓋全場景;極致性價比;與x86實例功能一致;生態豐富。

思考題

  1. 鯤鵬彈性雲服務器的種類不包含的是 ?(D)
    A. 通用型
    B. 存儲密集型
    C. 內存密集型
    D. 網絡密集型

  2. 華為鯤鵬BMS(華為鯤鵬裸金屬服務器)雲服務器最高可提供多少核?(D)
    A.32
    B.48
    C.64
    D.128

  3. Android手機應用在鯤鵬雲服務上運行仍需要指令翻譯器?(X)

  4. 華為鯤鵬雲服務包括以下哪些?(ABCD)
    A. 華為鯤鵬裸金屬服務器
    B. 鯤鵬彈性雲服務器
    C. 鯤鵬容器
    D. 鯤鵬雲手機

  5. 雲手機支持哪些場景?(ABC)
    1、智能應用托管
    2、雲游戲
    3、移動安全辦公

  6. 華為雲鯤鵬雲手機優勢 ?(ABCD)
    A. 基於華為自硏芯片及硬件底座
    B. 支持自研高性能GPU
    C. 兼容32/64位ARM原生指令
    D. Monbox雙ZOS共內核架構

  7. 只有華為雲提供了arm服務器?(√)

  • 雲容器引擎(Cloud Container Engine,CCE),雲容器實例(Cloud Container Instance, CCI)

華為鯤鵬處理器OS兼容性:
目前鯤鵬處理器僅支持Linux類型操作系統,包括:
在這里插入圖片描述
思考題:

  1. Linux操作系統之父是誰?
    Linus Torvalds
  2. TaiShan服務器支持哪個中標麒麟版本?(A)
    A、支持NeoKylin Server v5.0 U5
    B、支持NeoKylin Server v4.0 U4
    C、Kylin Server v5.0 U5
    D、Kylin Server v4.0 U4
  • openEuler概述:
    openEuler是一款開源操作系統(2019年開源)。當前openEuler內核源於Linux,支持鯤鵬及其它多種處理器,能夠充分釋放計算芯片的潛能,是由全球開源貢獻者構建的高效、穩定、安全的開源操作系統。

  • 鯤鵬計算平台已經兼容的操作系統可通過http://support.huawei.com/onlinetoolweb/ftca/index?serise=9 鏈接查詢。

思考題:

  1. 歐拉操作系統可以裝在以下哪些服務器上?(D)
    A.RH5885 V5
    B.RH5885 V3
    C.TaiShan 100
    D.TaiShan 200
  2. 以下那些內容不享受鯤鵬服務?(C)
    A.購買Taishan服務器
    B.購買鯤鵬雲服務
    C.購買RH服務器

I.openEuler OS是哪年開源的?(D)
A、2010 B、2016 C、2018 D、2019

II. 請判斷:A-Tune是一種通過非侵入式系統畫像的負載感知方法,識別業務並匹配最佳資源模型,實時響應業務特征變化的AI自動調優系統。(√)

III.哪些操作系統是國內的操作系統?
在這里插入圖片描述
Ⅳ. 鯤鵬芯片都可以應用在哪些地方?
Taishan服務器和華為鯤鵬雲服務。

第二章 應用移植

這章的知識點占比為25% ,介紹了華為鯤鵬平台應用移植的相關知識,並且有兩個實驗,包括軟件遷移至鯤鵬計算平台的整個實施過程。並從服務器和容器兩種應用載體出發,介紹了Kunpeng Porting Advisor遷移工具的使用和容器遷移操作步驟。

  • 問:在使用鯤鵬處理器時,為什么要做軟件遷移?
    答:鯤鵬處理器與x86處理器的指令存在差異。

  • 編譯型語言:典型的如C/C++ GoPascal語言,都屬於編譯型語言。編譯型語言開發的程序在從x86處理器遷移到鯤鵬處理器時,必須經過重新編譯才能運行。

  • 從源碼到程序的過程:源碼需要由編譯器、匯編器翻譯成機器指令,再通過鏈接器鏈接庫函數生成機器語言程序。機器語言必須與CPU的指令集匹配,在運行時通過加載器加載到內存,由CPU執行指令。

在這里插入圖片描述

  • 解釋型語言:典型的如Java/Python語言,都屬於解釋型語言,解釋型語言開發的程序在遷移到鯤鵬處理器時,一般不需要重新編譯。
  • 解釋型語言的源代碼由編譯器生成字節碼,然后再由虛擬機解釋執行。虛擬機將不同CPU指令集的差異屏蔽,因此解釋型語言的可移植性很好。但是如果程序中調用了編譯型語言所開發的so庫,那么這些so庫需要重新移植編譯。

在這里插入圖片描述

  • 1.對於解釋性語言編寫的程序,可直接部署在Kunpeng平台;
  • 2.對於C/C++等編譯型語言編寫的程序(開源軟件、自研軟件),如果可以獲得源代碼,可重新編譯后部署;如果無法獲得源代碼可選用其它支持Kunpeng平台的可替代軟件;如果無其它替代軟件,可選用混合部署方案。

C/C++代碼builtin函數、數據類型移植

  • 在x86和鯤鵬處理器下,C/C++語言中默認的char類型有所不同,x86下默認的char類型是有符號的char類型,而鯤鵬處理器下則是無符號的char,因此需要移植修改。當然,也可以增加編譯選項屏蔽這種差異,詳細的修改方法可以參考《TaiShan代碼移植指導》
  • Builtin函數是編譯器提供的一套函數。編譯器實現的builtin函數通常是通過cpu的指令實現某些頻繁調用的函數,以達到很高的性能。這里的示例是crc32的校驗函數,還有一個是將數據預取到cache的匯編指令,改成使用編譯器自帶的builtin函數。既保證了性能,又提升了可移植性。

華為鯤鵬代碼遷移工具

  • 處理器所支持的指令集不同,意味着開發者可能需要對代碼進行跨平台的移植。為了解決用戶代碼移植性人工排查困難、移植經驗欠缺、反復依賴編譯調錯定位等,投入工作量大,整體效率低的問題,華為推出Kunpeng Porting Advisor華為鯤鵬代碼遷移工具。

華為鯤鵬代碼遷移工具提供CLI和Web兩種訪問方式,只能選擇一種安裝。

  • CLI方式:
    通過命令行方式使用代碼遷移工具各功能,最終移植分析結
    果輸出到.csv文件,用戶可以根據移植建議進行處理。
  • Web方式:
    通過瀏覽器遠程使用代碼遷移工具各功能,最終移植分析結
    果輸出到.csv或者.html文件中,用戶可以根據移植建議進行
    處理。工具只允許一個用戶工作,不支持多用戶在線和並發
    訪問。
  • csvhtml報告中包含源碼掃描的基本信息、需要移植的依賴庫SO文件列表以及移植建議、需要移植的源文件列表以及源碼所在行號、移植建議。

3、容器遷移指導

  • 什么是容器?

容器是一種輕量級、可移植、自包含的軟件打包技術,使應用程序可以在幾乎任何地方以相同的方式運行。

  • 容器與虛擬機的區別?
    在這里插入圖片描述
  • 對於容器,它首先是一個相對獨立的運行環境,在這一點有點類似於虛擬機,但是不像虛擬機那樣徹底。在容器內,應該最小化其對外界的影響,比如不能在容器內把宿主機上的資源全部消耗,這就是資源控制。
  • 左圖虛擬機的Guest OS層和Hypervisor層在docker中被Docker Engine層所替代
  • 虛擬機的Guest OS即為虛擬機安裝的操作系統,它是一個完整操作系統內核
  • 所有的容器共享同一個 Host OS ,這使得容器在體積上要比虛擬機小很多

Docker容器與鏡像

  • 鏡像是一個靜態的概念,類似於面向對象編程中的類,容器是動態的概念,已經鏡像運行起來就成為一個容器也就是類似於面向對象中的一個對象實例。
  • 在Docker鏡像分為基礎鏡像和父鏡像,沒有父鏡像的鏡像被稱為基礎鏡像。用戶是基於基礎鏡像來制作各種不同的應用鏡像。這些應用鏡像共享同一個基礎鏡像層,提高了存儲效率。

Docker容器遷移策略

  • Docker容器遷移有兩種策略:使用Docker pull獲取鏡像或使用Dockerfile構建鏡像。
    在這里插入圖片描述
    思考題:
  1. 鯤鵬處理器和x86處理器的add指令是一樣的。(B)
    A. True
    B. False

  2. 請選岀X86處理器匯編指令 ?(BC)
    A. Idr x0, [sp,#8] |從內存將變量b的值放入寄存器x1
    B. add %edx,%eax |將edx(a)中的值加上eax(b)的值放入eax寄存器
    C. mov -0x8(%rbp),%eax |從內存將變量b的值放入寄存器的x1
    D. str x0, [spf,#5] |將甸寄存器的值存入內存(變量c)

  3. 以下哪些是非編譯型(解釋型)語言?(BC)
    A.Pascal
    B.Perl
    C.Ruby
    D.C/C++

  4. 純Java語言開發的代碼,無依賴的SO庫文件不需要編譯,可以直接在JVM(Java虛擬機)中運行。(B)
    A. True
    B. False

  5. 為什么x86架構處理器上的軟件在鯤鵬處理器使用時需要移植?( ABCD)
    A、兩種處理器的指令集不同
    B、源代碼需要按照目標處理的指令集編譯成指令才能運行
    C、編譯型語言由編譯器靜態編譯成指令和數據
    D、解釋型語言由語言的虛擬機在運行時將源碼/字節碼編譯成指令和數據

  6. Porting Advisor工具默認是訪問端口是什么?(C)
    A、8080 B、8083 C、8084 D、8086

  7. Porting Advisor默認用戶名和密碼是什么?(C)
    A、portadmin 默認密碼為admin@9000
    B、Portadmin 默認密碼為Admin@9000
    C、portadmin 默認密碼為Admin@9000
    D、Portadmin 默認密碼為admin@9000

  8. 對於遷移工具的CLI頁面以下說法正確的是(A)
    A、僅支持輸出csv的文件
    B、支持輸出html文件
    C、支持輸出xlsx文件
    D、支持輸出doc文件

  9. 使用如下CLI命令進行代碼分析時,以下哪個參數是可選的 ?(B)
    A. 源代碼所在路徑:-S source
    B. 編譯器版本:-C compiler
    C. 軟件構建命令:—cmd cmd
    D. 軟件移植的目標操作系統的信息:—tos tos

  10. 華為鯤鵬代碼遷移工具適用於以下哪些類型的應用程序?( AC )
    A. C/C++
    B. Java
    C. 匯編
    D. Python

  11. 華為鯤鵬代碼遷移工具能夠提供( BC )方面的移植評估結果。
    A. 掃描源碼中有多少個安裝包
    B. 掃描源碼中有多少可以移植的依賴庫SO文件
    C. 掃描源碼中有多少行可以移植的C/C++代碼、匯編代碼
    D. 預估移植所需的工作量

  12. Porting Advisor工具在移植源碼過程中的作用是?( B )
    A. 分析源碼,並給出移植工作量
    B. 分析源碼,並給出分析報告和源碼修改建議
    C. 分析源碼,並修改源碼
    D. 分析源碼,並給出性能優化建議

  13. 以下哪條命令可以查看docker鏡像?(A)
    A. docker images
    B. docker list
    C. docker container ls
    D. docker -a

  14. 構建docker鏡像有哪些方式?( AB )
    A、Docker pull獲取鏡像
    B、Dockerfile構建鏡像
    C、Docker run
    D、Docker ps

  15. 關於Dockerfile的描述,以下哪些是正確的 ?(ABD)
    A. Dockerfile一般包含四部分內容:基礎鏡像信息、維護者信息、鏡像操作指令容器 啟動時執行指令
    B. Dockerfile中,第一條指令必須為FROM指令
    C. EXPOSE在Dockerfile中是必選的
    D. 完成Dockerfile編寫后,可以通過docker build命令來創建鏡像

  16. 關於執行命令“docker ps -a”后,顯示的標題含義描述,正確的是?(ABCD)
    A. CONTAINER ID:容器的唯一表示ID
    B. IMAGE:創建容器時使用的鏡像
    C. COMMAND:容器最后運行的命令
    D. CREATED:創建容器的時間

  17. 關於Docker的鏡像倉庫,說法正確的是?( ABCD)
    A.實現Docker鏡像的全局存儲
    B. 提供API接口
    C.提供Docker鏡像的下載/推送/查詢
    D.可用於租戶管理

  18. -mabi=lp64 是編譯生成應用程序為64位的鯤鵬編譯選項( A)
    A. True
    B. False

  19. 在向鯤鵬處理器遷移軟件時,以下哪些是可能導致編譯錯誤或告警的原因?(ABC )
    A. 編譯選項
    B. 數據類型不同
    C. 匯編指令
    D. 弱內存序問題

  20. 弱內存序問題主要與如下那些因素相關?(ACE )
    A. 多線程
    B. 多進程
    C. 不同CPU之間Cache同步
    D. 一級、二級、三級Cache間數據同步
    E. 不同core之間Cache同步

  21. 以下哪個工具可以用於鯤鵬平台上進行代碼遷移?©
    A. Tuning kit( 華為鯤鵬性能優化工具)
    B. Dependency Advisor(華為鯤鵬分析掃描工具)
    C. Porting Advisor
    D. GCC

第三章 應用性能測試與調優

這章的知識點占比為20% ,主要介紹了在數據庫、大數據和HPC場景下進行性能測試的方法,使用華為鯤鵬性能優化工具Kunpeng Tuning KitC/C++類程序和Java Mixed-Mode類程序進行性能分析的方法,以及對NUMA和線程並發數進行性能調優的案例。

TPCC - 測試模型

  • TPC-C是針對OLTP的基准測試模型,可以衡量數據庫的性能和硬件性價比,是廣泛應用並關注的一種測試模型。
  • TPCC測試模型是一個大型的商品批發銷售公司,它擁有若干個分布在不同區域的商品倉庫。
  1. TCPP模型可以支持跨平台供貨?(A)
    A、True
    B、False

  2. 以下哪個不是TPCC 的交易類型?(A)
    A、統計訂單總額
    B、新訂單
    C、支付操作
    D、發貨

TPCC - 交易類型

  • 新訂單(New-Order):客戶輸入一筆新的訂貨交易。
  • 支付操作(Payment):更新客戶帳戶余額以反映其支付狀況。
  • 發貨(Delivery):發貨(模擬批處理交易)。
  • 訂單狀態查詢(Order-Status):查詢客戶最近交易的狀態。
  • 庫存狀態查詢(Stock-Level):查詢倉庫庫存狀況,以便能夠及時補貨。

TPCC - 性能衡量指標

  • 流量指標 tpmC
    系統在執行支付操作、訂單狀態查詢、發貨和庫存狀態查詢這四種交易時,每分鍾可以處理多少個新訂單交易。
  • 性價比 Price/tpmC
    測試系統的整體價格與流量指標的比值,在獲得相同的流量指標即tpmC(transactions per minute,C即基准程序)值的情況下,價格越低越好。

測試工具 — BenchmarkSQL

  • Java語言編寫,內嵌TPCC測試腳本的TPCC基礎測試程序,是對數據庫進行性能測試的工具。

  • 通過JDBC連接數據庫,執行TPCC模型測試。

  • 支持數據庫:
    Oracle
    PostgreSQL
    EnterpriseDB
    DB2
    SQL Server
    GaussDB

測試流程
在這里插入圖片描述
BenchmarkSQL —場景配置

  • warehouse:指定倉庫數量。
  • loadWorkers:指定裝載數據的並發數。
  • Terminals:指定並發用戶數。
  • runMins:指定測試時間。
  • runTxnsPerTerminal:指定每個Terminal運行的事務數量,runMins必須等於0。
  • limitTxnsPerMin:指定每分鍾總事務數。
  • terminalWarehouseFixed:指定每個終端是否綁定固定warehouse。

1個warehouse的數據大小是75M。
loadWorkers只是加載數據時的並發用戶數。

思考題:

  1. BenchmarkSQL場景配置,以下說法哪個是正確的?(C)
    A、runMins,runTxnsPerTerminal必須不相等
    B、runMins,runTxnsPerTerminal都等於0
    C、指定每個Terminal運行的事務數量,runMins必須等於0
    D、runMins,runTxnsPerTerminal都不等於0

BenchmarkSQL-執行測試

  • 衡量標准:
    tpmC(NewOrders):每分鍾內系統處理的新訂單個數
    tpmTOTAL(TPS)每分鍾內系統處理的事務總數

思考題:

  1. TPCC衡量標准是什么?( C )
    A. QphH
    B. 響應時間
    C. tpmC
    D.TPS

  2. BenchmarkSQL配置文件中loadWorkers指的是什么( B )。
    A. 並發用戶數
    B. 數據庫裝載並發數
    C. 數據庫並行數
    D. 數據庫表的數量

  3. BenchmarkSQL 測試中,tpmC和tpmTOTAL這兩個值越大,代表性能越差?(B)
    A、True
    B、False

大數據基准測試套件—HiBench

HiBench簡介:

  • 開源的大數據基准測試套件。
  • 用於評估大數據框架的速度,吞吐量和系統資源利用率。
  • 支持的框架:hadoopbench、sparkbench、stormbench、flinkbench、gearpumpbench。
  • 支持的開源版本組件:Hadoop、Spark、Storm、Kafka、Flink。
  • 目前使用較多的版本:HiBench-7.0。
  • 共計19個測試方向,可分為6種測試類別。

趁熱打鐵:

  1. HiBench支持的框架有哪些?(ABCD )
    A. flinkbench
    B. hadoopbench
    C. stormbench
    D. sparkbench

HiBench - 測試分類

  • 共6種測試類別:
    在這里插入圖片描述
  1. micro:微基准測試
  2. ml:機器學習
  3. sql:SQL查詢
  4. graph:圖計算
  5. websearch:Web搜索
  6. streaming:流數據計算

趁熱打鐵:

  1. HiBench測試分類有以下幾種?(ABDE)
    A.micro
    B.ml
    C.Hadoop
    D.graph
    E.streaming

  2. CPU性能和網絡帶寬都會影響HPC性能?(A)
    A. Ture
    B. False

高性能計算簡介:

  • 什么是HPC?
    HPC(High Performance Computing)高性能計算,是通過高速網絡將大量服務器進行互聯形成計算機集群,與高性能存儲一起,求解科研、工業界最復雜的科學計算問題(科學研究領域三大范式:理論科學,實驗科學,計算科學)。

HPC典型應用 - WRF

  • WRF(Weather Research and Forecasting Model)是次世代的中尺度天氣預報模式,包括多重區域、從幾公里到數千公里的靈活分辨率、多重嵌套網格,以及與之協調的三維變分同化系統3DVAR等。

性能測試 - WRF測試流程

  • 以氣象行業應用WRF為例,進行單次安裝測試的流程圖:
    在這里插入圖片描述
    思考題:
  1. 下列哪些選項可能會影響WRF性能?(ABCD)
    A. 網絡帶寬
    B. 並行線程數
    C. 內存刷新頻率
    D. 存儲讀寫速度

華為鯤鵬性能優化工具

  • 為解決客戶軟件運行遇到性能問題時憑人工經驗定位困難、調優能力弱的痛點,華為推出了Kunpeng Tuning Kit鯤鵬性能優化工具。

思考題:

  1. 使用華為鯤鵬性能優化工具對C/C++應用程序進行性能分析時,能夠查看到函數源代碼、匯編代碼,以及函數匯編代碼basic block的控制流圖?(A)
    A. True
    B. Flase
  • 華為鯤鵬性能優化工具部署,當前版本只支持單機部署,即將華為鯤鵬性能優化工具所有組件部署在一台服務器上,完成對該台服務器軟件的性能數據采集和分析。

  • 部署環境要求如下表所示:
    在這里插入圖片描述
    趁熱打鐵:多選題

  1. 鯤鵬性能分析工具支持以下哪幾種操作系統?(AB)
    A.OpenEuler
    B.Centos
    C.RedHat
    D.Neokylin

華為鯤鵬性能優化工具訪問方式

  • 華為鯤鵬性能優化工具部署在TaiShan服務器上,該服務器上同時運行客戶的應用軟件。
  • 華為鯤鵬性能優化工具提供Web界面訪問方式,用戶只需要在瀏覽器地址欄中輸入:https://部署服務器的IP:端口號即可。

華為鯤鵬性能優化工具支持以多用戶多任務並發訪問的方式使用Web界面。
https默認端口號為8086,請確認使用該工具之前OS防火牆已開通8086端口。

函數火焰圖

  • 火焰圖就是看頂層的哪個函數占據的寬度最大。只要有“平頂”(plateaus),就表示該函數可能存在性能問題。
  • 顏色沒有特殊含義,因為火焰圖表示的是CPU的繁忙程度,所以一般選擇暖色調。

思考題:

  1. 華為鯤鵬性能優化工具支持從哪些維度分析應用的性能瓶頸?(AB)
    A. C/C++
    B. Java Mixed-Mode
    C. Locks and Waits
    D. LLC&DDR

  2. 華為鯤鵬性能優化工具能夠提供(ABCD)方面的性能分析結果。
    A.分析Top熱點函數
    B.分析函數火焰圖
    C.分析熱點函數代碼映射
    D.分析不同函數對應top-down模型的各指標值

NUMA

物理上,一個DDR只掛載在一個node上,其它node要訪問這個node上的DDR需要通過片內總線(如圖中的1)或片間總線(如圖中的2)進行通信,內存訪問延遲從高到低為:

跨Socket > 跨NUMA不跨Socket > NUMA內

在這里插入圖片描述

  • NUMA:Non-uniform Memory Access,非一致性內存訪問。
  • DDR:Double Data Rate SDRAM,雙倍速率SDRAM,就是我們常說的內存條。
  • Socket:插槽,實體CPU插在主板的一個插槽上,這里代表可以在主板上獨立插拔的CPU。一個主板上可以包含多個Socket。
  • NUMA node:NUMA節點,屬於同一個node的Core共享部分資源,如內存控制器。一個Socket可以包含一個或多個NUMA node。
  • Core:中央處理單元,一個獨立的硬件執行單元,有獨立的算術邏輯單元和寄存器等。一個NUMA node可以包含多個Core。

趁熱打鐵:

內存訪問延時從高到低是(A)單選題
A、跨Socket>跨NUMA不跨Socket>NUMA內
B、跨NUMA不跨Socket>跨Socket>NUMA內
C、NUMA內>跨NUMA不跨Socket>跨Socket
D、跨Socket>NUMA內>跨NUMA不跨Socket

思考題:

  1. NUMA架構下,什么原因導致了CPU core訪問不同的DDR的性能不一樣?
    答:物理上,一個DDR只掛載在一個node上,其它node要訪問這個node上的DDR需要通過片內總線或片間總線進行通信。

🆗以上就是本周的重點內容了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM