道阻且長,行則將至。埋頭苦幹,不鳴則已,一鳴驚人!加油,騷年!
文章目錄
- 1 參考資料
- 2 筆記總結
-
- 2.1 華爲鯤鵬
- 2.2 TaiShan 服務器
- 2.3 華爲雲鯤鵬雲服務
- 2.4 openEuler
- 2.5 鯤鵬處理器與 X86 處理器的指令差異
- 2.6 編譯型語言 & 解釋型語言
- 2.7 移植選項
- 2.8 華爲鯤鵬代碼遷移工具
- 2.9 容器與虛擬機
- 2.10 Docker
- 2.11 TPCC
- 2.12 BenchmarkSQL
- 2.13 HiBench
- 2.14 HPC 性能測試
- 2.15 性能調優分析工具
- 2.16 NUMA
- 2.17 鏡像
- 2.18 系統盤
- 2.19 彈性公網 IP
- 2.20 BGP 類型
- 2.21 編譯
- 2.22 Linux 安裝軟件
- 2.23 RPMbuild
- 2.24 華爲雲發佈的鯤鵬行業解決方案
- 2.25 思考題
- 3 題庫分享
- 4 結尾祝福
1 參考資料
在準備考試過程中,參考了很多資料,非常感謝各位前輩的幫助。整理資料鏈接如下:
-
【鯤鵬HCIA考試】錯題集(https://blog.csdn.net/qq_44745905/article/details/108725463)
-
鯤鵬雲HCIA知識總結(一)(https://blog.csdn.net/qq_43531669/article/details/105271419)
-
鯤鵬雲HCIA知識總結(二)(https://blog.csdn.net/qq_43531669/article/details/105361593)
-
華爲鯤鵬 HCIA 專欄(https://blog.csdn.net/qq_44826711/category_10616182.html)
這位前輩的文章中有鏈接,可以進行模擬考試,尊重原創,謝謝前輩幫助!
溫馨提示:瀏覽器閱讀文章時,可以使用 Ctrl + F
快捷鍵搜索關鍵字。
2 筆記總結
本節主要記錄學習過程中 老師複習總結的考點 ,希望能對您有幫助!需要說明的是,培訓的講課內容是 V1.0 版本,但是在 2021 年之後,考試的版本爲 V1.5 版本。從我自己考試的情況來看,V1.0 版本的內容在 V1.5 版本中,大概佔比爲 60% ~ 70% 。
2.1 華爲鯤鵬
1、華爲鯤鵬處理器發展圖
2、鯤鵬計算產業目標
3、全自研服務器 TaiShan
4、鯤鵬生態兼容的操作系統介紹如下圖, SUSE 支持鯤鵬版本爲 15.1 ;
5、鯤鵬計算產業生態全景
6、華爲鯤鵬夥伴計劃
7、華爲鯤鵬處理器架構(ARM)特點
(1)優點
- 採用ARM架構,同樣功能性能佔用的芯片面積小、功耗低、集成度更高,更多的硬件 CPU 核具備更好的併發性能。
- 支持 16 位、32 位、64 位多種指令集,能很好的兼容從 IOT 、終端到雲端的各類應用場景。
- 大量使用寄存器,大多數數據操作都在寄存器中完成,指令執行速度更快。
- 採用 RISC 指令集,指令長度固定,尋址方式靈活簡單,執行效率高。
(2)不足
- 在數據中心領域屬於新進入者,其生態仍處於快速發展階段。
8、華爲鯤鵬通用計算處理器,三代芯片,三個第一如下:
- 2014 年,鯤鵬 912 (Hi1612),第一顆基於 ARM 的 64 位 CPU ;
- 2016 年,鯤鵬 916 ,業界第一顆支持多路 ARM CPU ;
- 2019 年,鯤鵬 920 ,業界第一顆 7nm 數據中心 ARM CPU ;
9、華爲鯤鵬 920 處理器規格
10、華爲鯤鵬處理器技術創新
11、鯤鵬 920 內置多種加速引擎
- 內置 SSL 加速引擎
- 內置加密算法加速引擎
- 內置壓縮引擎
2.2 TaiShan 服務器
1、TaiShan 100 服務器與 TaiShan 200 服務器對比圖
2、TaiShan 200 服務器全景圖
3、TaiShan 200 機架服務器特點
2.3 華爲雲鯤鵬雲服務
1、華爲鯤鵬彈性雲服務器優勢,最大規格 60U480G ;
2.4 openEuler
1、openEuler 發展時間點:
- 2019.09.19 合作伙伴內測
- 2019.12.31 全面開放開源
2、ISula 容器解決方案,特點如下:
- 快速靈活&輕量級
- 可信&安全啓動
- 升級不中斷業務
- 增強安全性和調測特性
3、A-Tune 資源調優自動化
A-Tune 是一種 通過非侵入式系統畫像的負載感知方法 ,識別業務並匹配最佳資源模型,實時響應業務特徵變化的 Al 自動調優系統。
4、openEuler 開源社區,備註:題目中鏈接的網址一般都沒問題,除非域名直接有問題。
2.5 鯤鵬處理器與 X86 處理器的指令差異
1、加法代碼,參考指令差異如下圖
2.6 編譯型語言 & 解釋型語言
1、編譯型語言:典型如 C/C++/Go 語言,都屬於編譯型語言。編譯型語言開發的程序在從 x86 處理器遷移到鯤鵬處理器時,必須經過重新編譯才能運行。
2、從源碼到程序的過程:源碼需要由編譯器、彙編器翻譯成機器指令,再通過鏈接器鏈接庫函數生成機器語言程序。機器語言必須與 CPU 的指令集匹配,在運行時通過加載器加載到內存,由 CPU 執行指令。簡要圖示如下:
3、解釋型語言:典型的如 Java/Python 語言,都屬於解釋型語言,解釋型語言開發的程序在遷移到鯤鵬處理器時,一般不需要重新編譯。
4、解釋型語言的源代碼由編譯器生成字節碼,然後再由虛擬機解釋執行。虛擬機將不同 CPU 指令集的差異屏蔽,因此解釋型語言的可移植性很好。但是如果程序中調用了編譯型語言所開發的 so 庫,那麼這些 so 庫需要重新移植編譯。簡要圖示如下:
5、編譯型語言,總結如下:
- C
- C++
- Go
- Swift
- Pascal
6、解釋型語言,總結如下:
- Java
- Python
- lua
- Ruby
- PHP
- Scala
- Perl
- TypeScript
- JavaScript
7、編譯型語言、解釋型語言,參考圖示如下:
2.7 移植選項
1、C/C++ 代碼 builtin 函數、數據類型移植
2、C/C++ 代碼編譯選項、編譯宏移植
2.8 華爲鯤鵬代碼遷移工具
1、業務流程如下圖所示
2、CLI 方式進行代碼分析,命令功能,命令格式及參數說明等
2.9 容器與虛擬機
1、容器和虛擬機之間的主要區別在於虛擬化層的位置和操作系統資源的使用方式。
2、容器與虛擬機參數對比
2.10 Docker
1、Docker 架構如下圖
2、Dockerfile 是一個文本格式的配置文件,包含創建鏡像所需要的全部指令。基於在 Dockerfile 中的指令,用戶可以快速創建自定義的鏡像。
- Docker image 的表述
- 簡單語法用來構建鏡像
- 自動化的腳本創建鏡像
3、Docker 容器遷移有兩種策略:使用 Docker pull 獲取鏡像或使用 Dockerfile 構建鏡像。
(1)Docker pull 獲取鏡像
- Docker pull 命令直接獲取基於 ARM 平臺的 docker 鏡像
- 使用 Docker pull 命令的對象必須是適用於 ARM 的鏡像,如 arm64v8/centos:7
(2)Dockerfile 構建鏡像
- 使用 dockerfile 構建基於 ARM 平臺的 docker 鏡像
- 基礎鏡像和構建後的鏡像均只能使用於 ARM 平臺
4、Docker 鏡像常用命令記錄
- 獲取鏡像
docker pull
- 查看鏡像
docker images
- 啓動容器
docker run
- 退出
# 按下 Ctrl + D
# 輸入命令
exit
- 查看容器,運行中和未運行的容器
docker ps -a
- 通過 Dockerfile 創建鏡像
docker build
2.11 TPCC
1、TPCC 性能衡量指標
- 流量指標
- 性價比
2.12 BenchmarkSQL
1、編譯安裝需求:需要 JDK7 或以上版本
2、支持的數據庫有
- Oracle
- PostgreSQL
- EnterpriseDB
- DB2
- SQL Server
- GaussDB,華爲自研數據庫( OpenGauss )
3、不同數據庫創建的配置文件
- Oracle:props.ora
- PostgreSQL:props.pg
- FirebirdSQL:props.fb
- GaussDB:props.gb
4、數據庫連接
- db:數據庫,例如 Oracle 、PostgreSQL
- driver:數據庫驅動;
- conn:數據庫連接字符串
- user/password:數據庫用戶名及密碼
5、場景配置參數
- warehouse:指定倉庫數量。
- loadWorkers:指定裝載數據的併發數。
- Terminals:指定併發用戶數。
- runMins:指定測試時間。
- runTxnsPerTerminal:指定每個 Terminal 運行的事務數量,runMins 必須等於0。
- limitTxnsPerMin:指定每分鐘總事務數。
- terminalWarehouseFixed:指定每個終端是否綁定固定 warehouse 。
6、衡量指標
- tpmC( NewOrders )
- tpmTOTAL( TPS )
7、性能優化思路,看個眼熟
2.13 HiBench
1、大數據基準測試套件「HiBench」。基本簡介、支持的框架、開源版本組件等如下圖
2、HiBench 測試分類如下,共有 6 種測試類別
- micro
- ml(機器學習)
- sql
- graph
- websearch
- streaming
3、HiBench 文件配置如下,修改 ${HiBench}/conf/hadoop.conf
- 設置 hadoop 安裝目錄(注:因個人環境而異)
hibench.hadoop.home ${hadoop_home}
- 設置 hadoop 執行目錄
hibench.hadoop.executable ${hibench.hadoop.home}/bin/hadoop
- 設置 hadoop 配置目錄
hibench.hadoop.configure.dir ${hibench.hadoop.home}/etc/hadoop
- 設置 HDFS root 路徑,用於存儲 HiBench 數據
hibench.hdfs.master hdfs://hacluster
4、測試報告,衡量標準:Throughput(吞吐量),越高越好;數值越高,性能越優!
2.14 HPC 性能測試
1、什麼是 HPC ?
HPC ( High Performance Computing )高性能計算,是通過 高速網絡 將大量服務器進行互聯形成計算機 集羣 ,與高性能 存儲 一起,求解科研、工業界最複雜的 科學計算 問題(科學研究領域三大範式:理論科學,實驗科學,計算科學)。
2、典型應用領域
- 環境科學
- 生命科學
- 材料學/化學
- 天文物理
- 能源
- 製造
3、HPC 典型應用 - WRF ,具體介紹資料參考下圖
2.15 性能調優分析工具
1、華爲鯤鵬性能優化工具,V1.5 版本的名字:Kunpeng Tuning kit
2、性能調優概述,參考下圖
3、華爲鯤鵬性能優化工具,主要針對應用程序部署在 TaiShan 服務器的場景下,具體參考下圖
4、華爲鯤鵬性能優化工具的功能特點
-
支持採集整個系統或指定進程的 CPU Cycles 性能事件,能夠快速定位熱點函數。
-
支持熱點函數按照 CPU核/線程/模塊進行分組,支持查看熱點函數調用棧。
-
支持通過火焰圖查看熱點函數及其調用棧。
-
支持代碼映射功能,即查看函數內的熱點指令及該指令對應的高級語言文件及行號。
-
支持顯示彙編代碼的控制流圖。
-
支持分析 Java 代碼的熱點函數及熱點指令。
5、華爲鯤鵬性能優化工具目前 只支持單機部署 ,即將華爲鯤鵬性能優化工具所有組件部署在一臺服務器上,完
成對該臺服務器軟件的性能數據採集和分析。部署環境要求如下表所示:
類別 | 子類 | 要求 |
---|---|---|
硬件 | 服務器 | TaiShan 200 服務器,採用華爲鯤鵬 920 處理器 |
操作系統 | CentOS openEuler |
1、CentOS 7.6 ,內核版本要求 4.14.0 以上 2、openEuler 開源社區版本 |
6、華爲鯤鵬性能優化工具業務流程
(1)輸入
- 創建性能分析任務
- 配置任務屬性參數(分析類型、應用路徑、CPU 採樣週期等)
- 運行待分析軟件和分析任務
(2)分析處理
- 採集處理器性能指標數據
- 採集函數( C/C++/Java )性能指標數據
- 將採集數據文件按不同指標維度數據庫化保存
- 統計分析,對比經驗指標,定位出性能瓶頸
(3)輸出;輸出結果很重要,不是隻有這三類
- Top 熱點函數
- 熱點代碼塊(源碼 & 彙編展示)
- 火焰圖展示函數間調用關係
2.16 NUMA
1、物理上,一個 DDR 只掛載在一個 node 上,其它 node 要訪問這個 node 上的 DDR 需要通過片內總線或片間總線進行通信。
2、內存訪問延遲從高到低爲: 跨Socket > 跨NUMA不跨Socket > NUMA內
2.17 鏡像
1、鏡像類型:公共鏡像、私有鏡像、共享鏡像、市場鏡像;
2、鏡像簡要說明如下
2.18 系統盤
1、系統盤類型:普通IO、高速高IO、超高IO、超高IO(時延優化);
2、系統盤簡要說明如下圖
2.19 彈性公網 IP
1、彈性公網 IP ( Elastic IP ,簡稱 EIP )提供獨立的公網 IP 資源,包括公網 IP 地址與公網出口帶寬服務。可以與彈性雲服務器、裸金屬服務器、虛擬 IP 、彈性負載均衡、NAT 網關等資源靈活地綁定及解綁。擁有多種靈活的計費方式,可以滿足各種業務場景的需要。
2、一個彈性公網 IP 只能綁定一個雲資源使用。
2.20 BGP 類型
1、靜態 BGP :網絡結構發生變化時,無法實時自動調整網絡設置以保障用戶體驗。
2、全動態 BGP :可以根據設定的尋路協議實時自動優化網絡結構,以保持客戶使用的網絡持續穩定、高效。
2.21 編譯
1、編譯通常指利用編譯程序從源語言編寫的源程序產生目標程序的過程,或者動作。一般包括兩種類型,本地編譯和交叉編譯。
2、本地編譯
(1)本地編譯可以理解爲,在當前編譯平臺下,編譯出來的程序只能放到當前平臺下運行。平時我們常見的軟件開發,都是屬於本地編譯;
(2)比如,我們在 x86 平臺上,編寫程序並編譯成可執行程序。這種方式下,我們使用 x86 平臺上的工具,開發針對 x86 平臺本身的可執行程序,這個編譯過程稱爲本地編譯。
3、交叉編譯
(1)交叉編譯可以理解爲,在當前編譯平臺下,編譯出來的程序能運行在體系結構不同的另一種目標平臺上,但是編譯平臺本身卻不能運行該程序;
(2)比如,我們在 x86 平臺上,編寫程序並編譯成能運行在 ARM 平臺的程序,編譯得到的程序在 x86 平臺上是不能運行的,必須放到 ARM 平臺上才能運行。
4、爲什麼會有交叉編譯?
- Speed:目標平臺的運行速度往往比主機慢得多,許多專用的嵌入式硬件被設計爲低成本和低功耗,沒有太高的性能;
- Capability:整個編譯過程是非常消耗資源的,嵌入式系統往往沒有足夠的內存或磁盤空間;
- Availability:即使目標平臺資源很充足,可以本地編譯,但是第一個在目標平臺上運行的本地編譯器總需要通過交叉編譯獲得;
- Flexibility:一個完整的 Linux 編譯環境需要很多支持包,交叉編譯使我們不需要花時間將各種支持包移植到目標板上;
2.22 Linux 安裝軟件
1、Linux 目前安裝軟件的方式有三種:源碼安裝,yum 安裝軟件,RPM 安裝安裝。
2、源碼安裝
- 可以自定義安裝目錄和一些配置文件
- 但需要事先調整編譯參數
3、Yum 安裝軟件
- 全自動安裝,自動安裝依賴
- 但缺乏自主性,軟件的功能和存放的位置均已設置好
4、RPM 安裝
- 自主製作的 RPM 包能夠實現全自動安裝,且可自定義安裝路徑等配置
- 但需提前識別依賴並手動安裝
5、RPM概述
(1)RPM( Redhat Package Manager)是用於 Redhat 、CentOS 、Fedora 等 Linux 操作系統的常見軟件包管理器。它允許分發已編譯的軟件,支持一鍵安裝軟件。
(2)由於 RPM 是經過預先編譯並打包成爲 RPM 文件格式後,再加以安裝的一種方式,並且還能夠進行數據庫的記載,所以RPM有以下的優點:
2.23 RPMbuild
RPMbuild 是用來指示轉換的源碼編譯成二進制文件的包,如果想發佈 rpm 格式的源碼包或者是二進制包,就要使用 RPMbuild 工具。
RPMbuild 文件夾的目錄結構如下:
RPM 包製作流程,如下圖所示
rpmbuild 目錄如下圖所示
2.24 華爲雲發佈的鯤鵬行業解決方案
1、目前華爲雲已經發布的鯤鵬行業解決方案分爲兩大類:鯤鵬通用解決方案和鯤鵬行業解決方案。
2、鯤鵬通用解決方案
- 全棧專屬雲 HCS Online
- 企業核心應用
- 鯤鵬分佈式存儲
- 高性能計算 HPC
- 大數據基礎設施
3、鯤鵬行業解決方案
- ZF
- 金融
- 運營商
- 智能安防
- 遊戲
- 媒體和娛樂
- 其他
4、HCS Online 解決方案核心價值
2.25 思考題
1、以下哪些關於華爲鯤鵬 920 處理器的描述是正確的?( ABCD )
A. 採用了 7nm 的製造工藝;
B. 支持 8 通道的 DDR4 控制器;
C. 支持 PCIe 4.0 接口,併兼容 PCIe 3.0/2.0/1.0 ;
D. 支持多種加速器;
2、華爲鯤鵬 920 處理器內置了哪些加速器?( ABC )
A. SSL 加速引擎
B. 加解密加速引擎
C. 壓縮解壓縮加速引擎
3、TaiShan 200機架服務器包含哪些型號?( ABC )
A. 2280
B. 5280
C. 2480
D. X6000
4、華爲鯤鵬 BMS 雲服務器最高可提供多少核?( D )
A. 32
B. 48
C. 64
D. 128
5、華爲鯤鵬代碼遷移工具適用於以下哪些類型的應用程序?( AC )
A. C/C++
B. Java
C. 彙編
D. Python
6、華爲鯤鵬代碼遷移工具能夠提供( BC )方面的移植評估結果。
A. 掃描源碼中有多少個安裝包
B. 掃描源碼中有多少可以移植的依賴庫 SO 文件
C. 掃描源碼中有多少行可以移植的 C/C++ 代碼、彙編代碼
D. 預估移植所需的工作量
7、關於執行命令 “docker ps -a” 後,顯示的標題含義描述,正確的是?( ABCD )
A. CONTAINER ID:容器的唯一表示 ID
B. IMAGE:創建容器時使用的鏡像
C. COMMAND:容器最後運行的命令
D. CREATED:創建容器的時間
8、關於 Docker 的鏡像倉庫,說法正確的是?( ABCD )
A. 實現 Docker 鏡像的全局存儲
B. 提供 API 接口
C. 提供 Docker 鏡像的下載/推送/查詢
D. 可用於租戶管理
9、在向鯤鵬處理器遷移軟件時,以下哪些是可能導致編譯錯誤或告警的原因?( ABC )
A. 編譯選項
B. 數據類型不同
C. 彙編指令
D. 弱內存序問題
10、弱內存序問題主要與如下哪些因素相關?( ACE )
A. 多線程
B. 多進程
C. 不同 CPU 之間 Cache 同步
D. 一級、二級、三級 Cache 間數據同步
E. 不同 core 之間 Cache 同步
11、HiBench支持的框架有哪些?( ABCD )
A. flinkbench
B. hadoopbench
C. stormbench
D. sparkbench
12、下列哪些選項可能會影響 WRF 性能( ABCD )
A. 網絡帶寬
B. 並行線程數
C. 內存刷新頻率
D. 存儲讀寫速度
13、RPM打包使用的是什麼命令,這個命令來自以下哪個包?( B )
A. rpm , rpmbuild包
B. rpmbuild ,rpm-build包
C. rpmbuild , rpmbuild包
D. rpm , rpm-build包
14、下載的源碼包放在哪個目錄下? ( C )
A.BUILD
B.RPMS
C.SOURCES
D.SPEC
15、Porting Advisor工具在移植源碼過程中的作用是?( B )
A. 分析源碼,並給出移植工作量
B. 分析源碼,並給出分析報告和源碼修改建議
C. 分析源碼,並修改源碼
D. 分析源碼,並給出性能優化建議
16、以下哪些屬於鯤鵬通用解決方案?( ABCD )
A. HCSO 解決方案;
B. 大數據解決方案;
C. HPC 解決方案;
D. 分佈式存儲;
3 題庫分享
本次主要分享 V1.0 版本的題庫,後續如果找到新版本 V1.5 的題庫,也會分享出來!
3.1 資源獲取
目前獲取「華爲鯤鵬 HCIA 認證考試 V1.0 」題庫的方式有如下兩種
-
【收費】CSDN 資源下載,鏈接:https://download.csdn.net/download/Fighting_Boom/14921275
-
【免費】關注公衆號「嵌入式基礎學習」,公衆號後臺回覆關鍵字「鯤鵬HCIA」即可免費獲取。
3.2 模擬考試
【參考資料】中有分享大佬的題庫,其中也有大佬自己做的模擬考試,我就總結了我記錄的題庫,也製作了一些模擬考試。
獲取方式:關注微信公衆號「嵌入式基礎學習」,後臺回覆關鍵字「鯤鵬模擬考試」即可免費獲取。
4 結尾祝福
非常感謝您能看到這裏,別忘了關注公衆號「嵌入式基礎學習」獲取免費資源呀!最後祝大家萬事如意,考試順利!
如果文章內容有誤,麻煩評論/私信多多指教!如果覺得文章內容還不錯,記得一鍵四連哦(點贊、收藏、留言、關注),如果您能點個關注,那就是對我最大的鼓勵,也將是我創作的動力,謝謝您嘞!