HPC高效能運算知識: 基礎科普
在過去15年的時間裡,HPC一直是增長最快的IT市場之一,其增長速度有時超過了線上遊戲、平板的年增長率。
HPC高效能運算市場空間有多大?
在2016年的全年,我們報告說,HPC伺服器市場的全球工廠收入從2015年的107億美元上升到創紀錄的112億美元,比2003年的57億美元增長了近兩倍(其他市場分析,請參看“[解讀] Intersect360分析預測: 由AI和Cloud驅動,未來HPC市場達439億”),研究預測,HPC伺服器市場將在2021年增長到148億美元,而整個HPC生態系統的市場在那一年將會超過300億美元的市場。
什麼是高效能運算,涉及哪些技術和知識呢?
高效能運算(High performance computing) 指通常使用很多處理器(作為單個機器的一部分)或者某一叢集中組織的幾臺計算機(作為單個計算資源操作)的計算系統和環境。高效能叢集上執行的應用程式一般使用並行演算法,把一個大的普通問題根據一定的規則分為許多小的子問題,在叢集內的不同節點上進行計算,而這些小問題的處理結果,經過處理可合併為原問題的最終結果。由於這些小問題的計算一般是可以並行完成的,從而可以縮短問題的處理時間。
高效能叢集在計算過程中,各節點是協同工作的,它們分別處理大問題的一部分,並在處理中根據需要進行資料交換,各節點的處理結果都是最終結果的一部分。高效能叢集的處理能力與叢集的規模成正比,是叢集內各節點處理能力之和,但這種叢集一般沒有高可用性。高效能運算的分類方法很多。這裡從並行任務間的關係角度來對高效能運算分類。
一、高吞吐計算(High-throughput Computing)
有一類高效能運算,可以把它分成若干可以並行的子任務,而且各個子任務彼此間沒有什麼關聯。因為這種型別應用的一個共同特徵是在海量資料上搜尋某些特定模式,所以把這類計算稱為高吞吐計算。所謂的Internet計算都屬於這一類。按照Flynn的分類,高吞吐計算屬於SIMDSingle Instruction/Multiple Data,單指令流-多資料流)的範疇。
二、分佈計算(Distributed Computing)
另一類計算剛好和高吞吐計算相反,它們雖然可以給分成若干並行的子任務,但是子任務間聯絡很緊密,需要大量的資料交換。按照Flynn的分類,分散式的高效能運算屬於MIMD(Multiple Instruction/Multiple Data,多指令流-多資料流)的範疇。
有許多型別的HPC 系統,其範圍從標準計算機的大型叢集,到高度專用的硬體。大多數基於叢集的HPC系統使用高效能網路互連,基本的網路拓撲和組織可以使用一個簡單的匯流排拓撲。HPC系統由計算、儲存、網路、叢集軟體四部分組成。
高效能運算HPC系統技術特點是什麼?
HPC系統目前主流處理器是X86處理器,作業系統是linux 系統(包括Intel、AMD、NEC、Power、PowerPC、Sparc等)、構建方式採用刀片系統,網際網路絡使用IB和10GE。
高效能運算HPC叢集中計算節點一般 分3種: MPI節點、胖節點、GPU加速節點。雙路節點稱為瘦節點(MPI節點),雙路以上稱為胖節點;胖節點配置大容量記憶體;叢集中胖節點的數量要根據實際應用需求而定。
GPU英文全稱Graphic Processing Unit,中文翻譯為圖形處理器。 在浮點運算、平行計算等部分計算方面,GPU可以提供數十倍乃至於上百倍於CPU的效能。目前GPU廠家只有三家NVIDIA GPU、AMD GPU和Intel Xeon PHI。可選擇的GPU種類比較少。
NVIDIA 的GPU卡分圖形卡和計算卡,圖形卡有NVIDA K2000與K4000,計算卡K20X/K40M/K80 。
Intel 的GPU是Intel Xeon Phi 系列,屬於計算卡,主要產品有Phi 5110P 、Phi 3210P、Phi 7120P、Phi 31S1P。
AMD 的GPU是圖形和計算合一,主要產品有W5000、W9100、S7000、S9000、S10000。
高效能運算的效能指標怎樣衡量?
CPU的效能計算公式: 單節點效能=處理器主頻*核數*單節點CPU數量*單週期指令數。單週期指令數=8(E5-2600/E5-2600 v2/E7-4800 v2)或16(E5-2600 v3);節點數量=峰值浮點效能需求/單節點效能。
時延( 記憶體和磁碟訪問延時)是計算的另一個效能衡量指標,在HPC系統中,一般時延要求如下:
一個MFlops等於每秒一佰萬(=10^6)次的浮點運算;
一個GFlops等於每秒拾億(=10^9)次的浮點運算;
一個TFlops等於每秒一萬億(=10^12)次的浮點運算,(1太拉);
一個PFlops等於每秒一千萬億(=10^15)次的浮點運算;
一個EFlops等於每秒一佰京(=10^18)次的浮點運算。
測試工具—Linpack HPC是什麼?
Linpack HPC 是效能測試工具。LINPACK是線性系統軟體包(Linear system package) 的縮寫, 主要開始於 1974 年 4 月, 美國Argonne 國家實驗室應用數學所主任 Jim Pool, 在一系列非正式的討論會中評估,建立一套專門解線性系統問題之數學軟體的可能性。
業界還有其他多種測試基準,有的是基於實際的應用種類如TPC-C,有的是測試系統的某一部分的效能,如測試硬碟吞吐能力的IOmeter,測試記憶體頻寬的stream。
至目前為止, Linpack 還是廣泛地應用於解各種數學和工程問題。也由於它高效率的運算, 使得其它幾種數學軟體例如IMSL、MatLab紛紛加以引用來處理矩陣問題,所以足見其在科學計算上有舉足輕重的地位。
Linpack現在在國際上已經成為最流行的用於測試高效能運算機系統浮點效能的Benchmark。通過利用高效能運算機,用高斯消元法求解N元一次稠密線性代數方程組的測試,評價高效能運算機的浮點效能。
雙列直插式記憶體(DIMM)有幾種型別?
雙列直插式記憶體(DIMM)包括UDIMM記憶體、RDIMM記憶體和LRDIMM記憶體三種DIMM記憶體可用型別。
在處理較大型工作負載時,無緩衝DIMM( UDIMM )速度快、廉價但不穩定。
暫存器式DIMM( RDIMM )記憶體穩定、擴充套件性好、昂貴,而且對記憶體控制器的電氣壓力小。它們同樣在許多傳統伺服器上使用。
降載 DIMM( LRDIMM )記憶體是暫存器式記憶體( RDIMM )的替代品,它們能提供高記憶體速度,降低伺服器記憶體匯流排的負載,而且功耗更低。LRDIMM記憶體成本比 RDIMM記憶體高非常多,但在高效能運算架構中十分常見。
非易失雙列直插式記憶體NVDIMM是什麼?
NVDIMM由BBU(Battery Backed Up) DIMM演變而來。BBU採用後備電池以維持普通揮發性記憶體中的內容幾小時之久。但是,電池含有重金屬,廢棄處置和對環境的汙染,不符合綠色能源的要求。由超級電容作為動力源的NVDIMM應運而生。並且NVDIMM使用非揮發性的Flash儲存介質來儲存資料,資料能夠儲存的時間更長。
主流高效能運算網路型別有哪些?
InfiniBand架構是一種支援多併發連結的“轉換線纜”技術,InfiniBand技術不是用於一般網路連線的,它的主要設計目的是針對伺服器端的連線問題的。因此,InfiniBand技術將會被應用於伺服器與伺服器(比如複製,分散式工作等),伺服器和儲存裝置(比如SAN和直接儲存附件)以及伺服器和網路之間(比如LAN,WANs和網際網路)的通訊。高效能運算HPC系統為什麼要使用IB互聯?主要原因是IB協議棧簡單,處理效率高,管理簡單,對RDMA支援好,功耗低,時延低。
目前只有Mexllaon、Intel、Qlogic提供IB產品,Mexllaon是主要玩家,處於主導地位, IB目前支援FDR和QDR、EDR。
Host Channel Adapters (HCA)是IB連線的裝置終結點,提供傳輸功能和Verb介面;Target Channel Adapters (TCA)是HCA的子集,基本上用於儲存。
RDMA(Remote Direct Memory Access)技術全稱遠端直接資料存取,就是為了解決網路傳輸中伺服器端資料處理的延遲而產生的。RDMA通過網路把資料直接傳入計算機的儲存區,將資料從一個系統快速移動到遠端系統儲存器中,實現Zero Copy。
高效能運算的靈魂—並行檔案系統
TOP500 HPC系統中儲存主要使用分散式檔案系統,分散式檔案系統(Distributed File System)可以有效解決資料的儲存和管理難題: 將固定於某個地點的某個檔案系統,擴充套件到任意多個地點/多個檔案系統,眾多的節點組成一個檔案系統網路。每個節點可以分佈在不同的地點,通過網路進行節點間的通訊和資料傳輸。人們在使用分散式檔案系統時,無需關心資料是儲存在哪個節點上、或者是從哪個節點從獲取的,只需要像使用本地檔案系統一樣管理和儲存檔案系統中的資料。
分散式檔案系統的設計基於客戶機/伺服器模式。一個典型的網路可能包括多個供多使用者訪問的伺服器。當前主流的分散式檔案系統包括: Lustre、Hadoop、MogileFS、FreeNAS、FastDFS、NFS、OpenAFS、MooseFS、pNFS、以及GoogleFS等,其中Lustre、GPFS是HPC最主流的(本號歷史文章做過大量介紹和分析,請參看文章“從高效能運算(HPC)技術演變解析方案、生態和行業發展趨勢”)。
>>>>>>>>>>>>>>擴充套件閱讀<<<<<<<<<<<<<<
溫馨提示:
請搜尋“ICT_Architect”或“掃一掃”二維碼關注公眾號,點選原文連結獲取更多HPC技術資料。
求知若渴, 虛心若愚—Stay hungry, Stay foolish
相關文章
- HPC高效能運算知識: 異構平行計算
- HPC高效能運算知識: 計算架構演進架構
- HPC高效能運算知識: GPU的工作原理(含視訊)GPU
- HPC高效能運算知識: 主要應用場景和軟體
- 前後端必備Linux基礎知識大科普後端Linux
- Heartbeat基礎知識-運維小結運維
- 高效能運算知識: 深度解析Lustre體系結構
- 計算機基礎知識複習計算機
- 計算機基礎知識很重要計算機
- 暢享高效能運算!天翼雲HPC解決方案來了
- 高效能運算HPC杭州region利用VPN訪問公網設定
- Keepalived基礎知識-運維小結運維
- 公共基礎知識-計算機組成計算機
- 計算機基礎知識(自我的理解)計算機
- 計算機網路——基礎知識(一)計算機網路
- 索引成本計算的基礎知識索引
- 基礎知識
- 邊緣計算、量子計算和高效能運算HPC浮出水面 與雲端計算互補
- 全面的MySQL基礎運維知識點(一)MySql運維
- 全面的MySQL基礎運維知識點(三)MySql運維
- 全面的MySQL基礎運維知識點(二)MySql運維
- 50%運維都迷糊的Socket基礎知識!運維
- C++基礎知識篇:C++ 運算子C++
- 計算機基礎知識擴充套件篇計算機套件
- 計算機組成原理基礎知識(一)計算機
- 阿里雲高效能運算HPC產品使用流程(華北2區域)阿里
- 計算機相關知識的小小科普回顧計算機
- [shell基礎]——算術運算
- AI 基礎知識AI
- Webpack 基礎知識Web
- Dart基礎知識Dart
- RabbitMQ基礎知識MQ
- webpack基礎知識Web
- javascript基礎知識JavaScript
- ThinkPHP基礎知識PHP
- Laravel基礎知識Laravel
- Redis基礎知識Redis
- Docker基礎知識Docker