999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于國產處理器架構的高能物理數據處理系統

2021-09-22 01:54:58程耀東程垚松畢玉江高宇李海波汪璐姚秋玲
大數據 2021年5期
關鍵詞:數據處理

程耀東,程垚松,畢玉江,3,高宇,2,李海波,汪璐,姚秋玲

1. 中國科學院高能物理研究所,北京 100049;2. 中國科學院大學,北京 100049;3. 四川天府新區宇宙線研究中心,四川 成都 610213

1 引言

隨著裝置復雜度的不斷增加和規模的不斷擴大,高能物理實驗產生的實驗數據越來越多,海量數據處理在計算規模、計算精度、即時性等方面的需求也越來越高,給傳統計算體系架構帶來前所未有的挑戰,全球高能物理領域都在積極探索和研究最新的解決方案。ARM(advanced RISC machine)多核架構由于其自身的靈活性和自由性,逐漸成為業界研究的熱點。近年來,以ARM為代表的國產架構服務器異軍突起。ARM早期專注低功耗領域,在移動端處于領先位置,生態體系已經十分完善。隨著多核異構計算時代和場景多樣化計算時代的到來,國內服務器行業端生態逐步完善,以ARM為代表的國產架構服務器快速發展。為此,研究和開發基于國產多核架構的高能物理計算環境及軟件有助于實現高能物理數據處理系統的自主可控及技術創新,從而促進高能物理計算架構演進,并加速科學發現。

當前,國內外高能物理實驗的數據處理平臺以x86 CPU架構為主。同時,圖形處理器(graphics processing unit,GPU)、現場可編程邏輯門陣列(field programmable gate array,FPGA)、張量處理單元(tensor processing unit,TPU)等異構計算設備也開始受到重視,并被應用到高能物理數據處理系統中[1]。結合高能物理的數據處理需求以及IT的發展,本文基于國產處理器及服務器等硬件,建設了高能物理數據處理系統,包括系統及平臺軟件、基礎應用軟件框架以及應用軟件等。此外,本文提出了面向高能物理數據處理的可計算存儲技術架構,基于ARM和FPGA構建存儲節點,修改數據分析框架軟件ROOT[2]及數據存儲軟件EOS[3]等,把計算任務從計算節點卸載到存儲節點,避免數據搬運,實現了綠色節能、運算高效的數據處理模式。

2 研究背景

2.1 高能物理實驗

高能物理研究組成物質的基本粒子及其相互作用規律,高能物理實驗是研究高能物理的重要手段。當前,高能物理實驗的規模通常很大,需要成百上千位科學家參加,同時會產生海量的實驗數據,一個大型實驗往往產生PB級甚至EB級的數據。例如,目前大亞灣核反應堆中微子實驗已經累積了2 PB的實驗數據;北京正負電子對撞機重大改造工程(BEPCII)已經累積了10 PB的實驗數據,并且數據量還在不斷增加;江門中微子實驗(JUNO)預計在2022年開始取數,每年將產生3 PB的原始實驗數據;高海拔宇宙線觀測站(LHAASO)邊建設邊運行,目前已經累積了近10 PB數據,預計2021年完全運行以后,每年將產生8 PB以上的原始數據;高能同步輻射光源(HEPS)一期建設的15條光束線實驗站預計平均每天產生200 TB的原始實驗數據,峰值可達每天500 TB;在歐洲的大型強子對撞機(LHC)升級改造后的HL-LHC階段,僅ATLAS探測器的數據量就將是目前的10倍以上,在2030年左右將超過3 EB/年,計算量增長60倍以上。這實際上已經超出了目前信息技術的處理能力,迫切需要突破新的技術[4]。

因此,高能物理實驗產生的海量實驗數據需要借助先進的計算機技術進行處理和分析,同時實驗的需求也助推了信息技術的不斷發展,比如萬維網、網格計算與云計算以及大數據處理等。

2.2 離線數據處理流程

粒子在高能物理實驗的探測器中的運動過程被捕獲,產生了大量的電子學信號。然后,通過觸發判選和在線選擇的事例,由在線數據獲取系統(data acquisition,DAQ)以二進制文件的形式記錄下來。這種數據被稱作原始數據,主要包含探測器電子學信號的時間和幅度信息。通過高速以太網,原始數據文件被傳輸到磁帶庫永久保存。對原始數據進行刻度和重建后,生成重建數據,供物理分析使用。

離線數據處理和物理分析的簡化過程如圖1所示。原始數據經過離線刻度,能夠消除實驗的各種外部條件(如溫度、氣壓)和探測器本身條件(如探測器高壓)對電子學信號與物理測量之間轉換關系的影響。重建是離線數據處理的核心,數據重建算法使用刻度算法產生的刻度常數,將探測器記錄的原始數據轉化為粒子的動量、能量和運動方向等物理量,生成重建數據。物理研究還需要產生與真實數據數量相當的模擬數據,這部分數據也要進行重建。和原始數據一樣,所有重建數據會被保存在磁帶庫中。物理分析人員利用物理分析工具(如運動學擬合、粒子衰變頂點尋找和粒子鑒別等軟件)分析重建數據,得到物理研究結果。數據處理過程主要包括模擬計算、事例重建以及物理分析3種計算類型。

圖1 高能物理數據處理的基本流程

2.3 離線數據處理環境

高能物理探測器產生的原始數據經過復雜的處理后,被轉化為可用于物理分析的數據。實驗數據的處理和分析都是在離線計算環境中進行的,包括數據存儲、數據傳輸、數據分析等。典型的高能物理計算環境如圖2所示,其核心是一個高速、高可靠的網絡,其余子系統連接到這個核心網絡上,包括前端登錄集群、海量存儲系統、計算節點集群、備份與分級存儲系統、管理系統等。不同的子系統具有不同的功能和配置,功能上相互獨立,整體上協同工作[5]。

圖2 典型的高能物理計算環境及其組件

海量存儲系統包括磁盤存儲和磁帶存儲等,分別采用EOS、Lustre、CASTOR等存儲軟件進行管理。其中,EOS是高能物理領域常用的分布式存儲系統之一,通過XRootD協議透明支持ROOT等數據分析框架。計算節點集群由大量的工作節點組成,通過作業管理系統(如HTCondor等)形成統一的資源池。工作節點是最終運行應用的機器,由CPU、內存、硬盤、網卡等硬件和操作系統、應用程序等軟件組成。網格計算將分布在全球的計算資源統一管理起來,是“集群之集群”,形成更大的資源池。管理計算環境的這些系統軟件通常被稱為“系統軟件”,目前大部分運行在x86架構上。在這種計算與存儲分離的架構中,計算節點需要從存儲節點讀取數據進行計算,計算結束后再將輸出結果寫回存儲節點,從而導致數據的大量搬運,這成為目前數據處理的主要瓶頸之一。

2.4 相關工作

由于ARM等架構的快速發展,高能物理應用軟件開始從x86架構遷移到其他架構。從1978年啟動首臺巨型機“銀河-I”研制到2010年“天河一號”首次摘下全球超級計算機500強榜單第一名再到今天,我國的超級計算機經歷了40多年的“超常速”發展。隨著我國超級計算機的發展,相應的軟件、算法及優化方法也在不斷跟進。2016年,運行于“神威·太湖之光”之上的應用“千萬核可擴展大氣動力學全隱式模擬”獲得戈登貝爾獎,實現了我國在此大獎上零的突破。何曉斌等人[6]對面向大數據異構系統的神威并行存儲系統展開研究,經過優化的系統使得某些應用獲得10倍以上的性能提升。胡正丁等人[7]研究面向異構眾核超級計算機的大規模稀疏計算性能優化問題,為高能物理格點量子色動力學(lattice quantum chromo dynamics,LQCD)等應用提供借鑒。高能物理研究所與合作單位針對“神威·太湖之光”超級計算機的主從核架構,自主開發了LQCD中的D-slash熱點程序的申威版本,并針對申威架構進行了優化,然后將其集成到國際通用的LQCD開源程序Chroma中,形成了能夠在神威機器上大規模運行的完整軟件系統[8]。該軟件在神威機器上實現了32 768個申威處理器、約852萬核的大規模消息傳遞接口(message passing interface,MPI)并行計算,取得了良好的應用效果。

在國外,大型強子對撞機的數據處理正在經歷重大變化,歐洲核子研究中心(CERN)啟動了相關項目來移植優化軟件,以應對LHC Run 3的數據處理。CERN計劃將LHCb堆棧從x86_64體系結構移植到AArch64(ARM架構)和ppc64le(PowerPC架構)兩種體系結構[9],旨在評估高級觸發器(high level trigger,HLT)的計算基礎架構的性能和成本。在所有軟件包中,最大的挑戰是向量化的日益廣泛使用。目前,許多向量化庫專用于x86架構,并且不支持其他架構。盡管存在這些挑戰,CERN仍已成功將LHCb高級觸發器代碼移植到AArch64和ppc64le。根據在LHCb上進行的測量,與x86架構相比,使用ARM架構的物理結果在可接受的精度上數值正確,較小的差異可能是由舍入誤差和體系結構中位數不同(ARMv7和x86 64分別為32位和64位)引起的。雖然現代ARM處理器的功能仍然不如傳統x86處理器強大,但是就能效比而言,ARM的表現更好。CERN近期的一個報告顯示,整個LHC計算網格(LHC computing grid,LCG)堆棧都可以基于AArch64構建,并計劃將ARM版本的LCG堆棧安裝到共享文件系統CVMFS(cern virtual machine file system)[10]上,提供給全球的用戶使用。

3 基于國產處理器的數據處理系統

3.1 系統組成

基于國產處理器及服務器等硬件,通過移植和開發相應的系統軟件和應用軟件,筆者團隊構建了高能物理計算環境及數據處理系統,其組成如圖3所示。

在圖3中,底層是國產處理器及服務器硬件,如鯤鵬處理器、飛騰處理器、申威處理器以及泰山服務器、“神威·太湖之光”等超級計算機等。在此之上安裝系統軟件與計算平臺軟件,包括CentOS等操作系統,HTCondor、Slurm等作業調度軟件,Lustre、EOS、CVMFS等數據存儲軟件等。基于國產硬件和系統軟件等運行環境,開發和移植基礎應用軟件與框架,包括ROOT、GEANT等粒子物理模擬與分析軟件,Chroma等理論物理計算軟件,Gromacs、NAMD等分子動力學模擬軟件。在最上層,支持高能物理實驗及應用軟件,包括LHAASO、BES、JUNO等粒子物理和天體物理實驗,LQCD等理論物理應用,HEPS、CSNS、納米生物等多學科應用。

圖3 基于國產處理器的高能物理數據處理系統組成

3.2 關鍵軟件的移植

國產處理器及服務器通常有相匹配的操作系統及編譯器,到目前為止,大部分常用的高能物理基礎軟件和應用軟件已經被移植到ARM V8架構(AArch64)上運行,包括EOS、ROOT、GEANT、Chroma、Gromacs、NAMD、LHAASO數據重建等。其中,ROOT是由CERN開發的一個模塊化科學軟件工具包,提供了大數據處理、統計分析、可視化和存儲所需的多項功能,是高能物理數據處理的基礎。GEANT4是由CERN開發的一個蒙特卡洛應用軟件包[11],用于模擬粒子在物質中輸運的物理過程,其主要應用領域為高能物理、核物理、加速器物理、核醫學和太空科學等。這些軟件大多基于C/C++編寫,屬于編譯型語言。x86 CPU屬于復雜指令集計算機(complex instruction set computer,CISC),ARM屬于精簡指令集計算機(reduced instruction set computer,RISC),另外,x86和ARM使用的向量寄存器也不同,向量指令集存在差異,因此原來在x86上開發的程序必須重新編譯才能在ARM架構上運行。C/C++源碼需要由編譯器、匯編器翻譯成機器指令,再通過鏈接器鏈接庫函數生成機器語言程序。在軟件移植的過程中,主要步驟包括:獲取源碼;準備GCC等編譯環境;修改配置文件(configure或者CMakeList.txt),生成編譯規則文件(Makefile);重新編譯或者替換x86平臺的動態鏈接庫;執行編譯過程,生成可執行程序。在代碼的移植過程中,重點需要修改如下內容。

● 修改C/C++代碼工程的編譯腳本和編譯選項:以x86下的-m64代碼為例,其主要功能是將應用程序編譯為64位,對應到華為ARM上則采用-mabi=lp64的編譯選項。此外,x86平臺上默認的char類型是一種有符號的類型,對應到華為ARM上則是無符號類型。在移植過程中需要顯示定義,并將char類型定義為有符號類型。

● 移植編譯宏:編譯宏的作用是讓編譯器知道編譯哪些分支代碼能夠在不同架構下達到最優性能。x86代碼上有些編譯器自帶自定義宏,比如與smd屬性相關的宏在x86上是SSE開頭的宏,對應到華為ARM平臺上需要自定義它的編譯宏和相對應的分支。

● 移植builtin函數:builtin函數是編譯器自帶的函數,其在實際遷移項目中相當常見,主要是CRC32校驗值的計算,大部分需移植的builtin函數集中在SSE intrinsic函數內。

● 移植內聯匯編函數:第一種是指令替換,x86上對應的是BSWAP指令,ARM上對應的是rev指令,其他操作和寄存器是基于內聯匯編的語法規則進行替換的。第二種是builtin函數的替換,以x86的指令popcount為例,其是對二進制數里面的1進行計數,對應到ARM平臺上替換的是popcountll。

● 移植向量指令函數:SIMD是一種單指令處理多數據流的并行處理技術,能夠在批量數據操作時進行向量化運算加速,具有較高的執行效率。Intel的SIMD技術實現包括MMX、SSE、AVX等。ARM的SIMD技術主要通過開源的NEON庫等來實現。

根據以上規則和方法,筆者團隊成功地將ROOT 6.20、GEANT4 10.6、EOS 4.7.7移植到華為鯤鵬920處理器及CentOS 7.6上,并部署到高能物理計算平臺上,提供給用戶使用。舉例來說,EOS是CERN采用C++開發的一套分布式存儲系統,依賴于XRootD、sparsehash、ncurses、Protobuf3、ISA-L、Folly C++ library、isa-l_crypto、RocksDB、c-ares等數十個開源軟件包,需要提前找到這些軟件所需的版本,并進行編譯,最終生成應用軟件包。而且,在EOS中還使用了匯編語言來處理數據CRC校驗等操作。為了保持代碼的一致性,筆者團隊重新定義了相關匯編指令,具體如下。

#ifdef __aarch64__

#define __builtin_ia32_crc32si __builtin_aarch64_crc32cw

#define __builtin_ia32_crc32hi __builtin_aarch64_crc32ch

#define __builtin_ia32_crc32qi __builtin_aarch64_crc32cb

#endif // GCC_AARCH64_H

3.3 典型應用評測

目前,基于ARM的高能物理計算環境中已經裝配了100臺華為泰山200K服務器,每臺服務器配置兩個48核鯤鵬920 5251K處理器或者64核鯤鵬920-6426處理器,安裝CentOS 7.6操作系統以及HTCondor、Slurm作業調度軟件和CVMFS、EOS等數據存儲軟件。ROOT、GEANT4等基礎軟件庫以及Chroma、LHAASO等應用軟件全部移植成功,并部署在CVMFS上,所有計算節點均可共享。基于ARM的計算環境與x86、GPU等其他硬件統一管理,形成異構的計算資源池,共同支持各類高能物理實驗和應用。在該計算環境中,開展了相關的應用測試,主要包括以下幾方面。

(1)HS06(HEP-SPEC06)基準測試

這是高能物理領域用來評測CPU性能的標準工具。測試時,ARM CPU采用華為鯤鵬920-6426@2.6 GHz處理器,x86 CPU采用6核Intel E5-2620@2.0 GHz(命名為x86-1)和20核Intel Gold 6230@2.1 GHz(命名為x86-2)。測試結果如圖4所示,可以看出,ARM單核CPU性能比x86略低,但是整機性能是Intel E5-2620@ 2.0 GHz的7.27倍以及Intel Gold 6230@ 2.1 GHz的2.02倍。

圖4 HS06 CPU基準測試結果

(2)LHAASO事例重建測試

肩袖撕裂是由肩關節外傷或慢性病變導致的以肩關節持續疼痛和活動功能受限為主要臨床表現的一類疾病[1],其中肩袖撕裂大小、脂肪浸潤程度以及肩袖撕裂后脂肪變性、肌腱分層改變是影響手術療效的重要因素[2-4]。隨著對肩關節解剖和生物力學研究的不斷深入,以及肩關節技術的不斷發展,關于肩袖分層撕裂的報道逐漸增多。盡管目前對于肩袖分層撕裂的原因尚不清楚,但是已有部分文獻報道分層肩袖的存在對肩袖愈合和功能恢復造成消極影響[4,5]。但是對于如何準確的理解肩袖分層撕裂的生物力學和修復方式的選擇至今尚未達成共識。因此,本文擬就肩袖分層撕裂的生物力學、治療現狀及研究進展作一綜述。

采用實際的LHAASO WCDA探測器事例數據進行重建。高海拔宇宙線觀測站安裝了3種類型的探測器,包括水切倫科夫探測器陣列(WCDA)、地面簇射粒子陣列(KM2A)以及廣角切倫科夫望遠鏡陣列(WFCTA)。WCDA事例重建程序基于ROOT數據分析框架編寫,從探測器獲取的原始數據經過大量計算后構建出具有物理意義的事例。重建過程是一個典型的數據密集型計算,需要輸入和輸出大量數據。本測試對一個WCDA原始數據進行重建,包含418 816個事例,文件大小為1.1 GB。測試結果如圖5所示,在minnhit=800和minnhit=1 500兩種重建條件下,ARM單核(64核ARM 2.6 GHz)運行時間比20核Intel Gold 6230@2.1 GHz的長40%左右。考慮到LHAASO重建過程具有很好的數據并行性,每個文件對應一個重建作業,如果根據核數來計算整機性能,那么ARM整機(128核)是x86機器(40核)的2.72倍,與HS06評測結果吻合。

圖5 LHAASO WCDA事例重建時間評測

(3)LQCD應用測試

LQCD是從第一原理出發求解QCD的非微擾方法,除標準模型基本參數之外,沒有任何額外模型參數,因而其計算結果被認為是對強相互作用現象的可靠描述,格點計算對QCD理論研究意義重大。LQCD計算是典型的計算密集型應用,畢玉江等人[12]在“天河三號”原型上進行了ARM架構的移植與詳細測試分析,在開啟向量化后,Grid呈現了非常好的可擴展性。此外,本文還對比了x86與ARM的性能,使用兩臺服務器,一臺采用2個Intel(R) Xeon(R) Gold 6248R CPU@3.00 GHz,另外一臺采用2個華為鯤鵬920 7260@2.60 GHz CPU,兩臺機器都配置了256 GB DDR4 2933 MT/s內存。測試結果如圖6所示。在整機滿核情況下(Intel x86 48核,華為ARM 128核),x86實測性能為39 GFlops,ARM測試性能為43 GFlops,ARM約高出10%。但是,考慮到x86單核CPU理論性能更強,則ARM的CPU利用率更高,為x86 CPU的2倍。

圖6 LQCD應用測試對比

從內存帶寬基準測試工具STREAM的測試結果來看,華為鯤鵬ARM CPU的內存帶寬比Intel(R) Xeon(R) Gold 6248R CPU高出20%以上(見表1),內存帶寬的提升更有利于LQCD各個計算任務之間的通信,從而提升CPU利用率。

表1 STREAM內存帶寬測試對比

從以上基準測試、數據密集型應用的測試以及計算密集型應用的測試可以看出,ARM CPU能夠滿足高能物理數據處理的需求。雖然在單核性能上ARM CPU弱于x86 CPU,但是ARM CPU擁有更多的核心數與較高的內存訪問帶寬,從而提高了整機的計算性能。

4 可計算存儲技術

如第2節所述,高能物理數據處理系統采用計算與存儲分離的模式以及經典的馮·諾伊曼計算機體系架構,在進行數據處理時需要通過網絡從存儲節點讀取計算節點,運算后再把結果寫回存儲節點,難以適應大數據驅動的科學計算需求。頻繁的數據搬運導致的算力瓶頸以及功耗瓶頸已經成為高能物理數據處理系統對更先進算法進行探索的限制因素。基于這個問題,本文提出了面向高能物理數據處理的可計算存儲技術解決方案。可計算存儲也被稱為存算一體化,它將數據存儲單元和計算單元融為一體,能顯著減少數據搬運,極大地提高計算并行度和能效。可計算存儲的潛力引起了眾多公司和標準機構的關注。全球網絡存儲工業協會(SNIA)成立了一個工作組[13],目標是建立可計算存儲設備之間的互操作性標準。可計算存儲可在軟硬件協同的基礎上解決大規模數據處理問題,如數據庫查詢優化[14]、key-value數據壓縮[15]等。本文的可計算存儲服務主要基于國產ARM CPU片上系統(system on chip,SOC)的硬件加速引擎能力實現。

4.1 技術架構

可計算存儲的本質還是存儲,因此通過傳統的存儲系統接口仍然可以訪問底層的存儲設備。其計算能力通過擴展存儲系統接口或者增加參數實現。比如,通過Open系統調用可以打開一個數據文件,然后進行正常的讀寫操作。同時,可以擴展特殊的參數,如在文件名后加上”&cssapp=decode”,即可完成相應的應用調用。該方式只需要通過存儲系統調用即可實現完全本地化的數據處理,實現調度與存儲的完全統一,從而解決高能物理數據分析處理的I/O瓶頸問題,其架構如圖7所示。其中,最底層是可計算存儲設備,由內存、固態硬盤、機械硬盤等存儲介質和CPU SOC等計算資源構成。然后,在可計算存儲設備上啟動可計算存儲服務,由存儲服務管理存儲介質,同時根據存儲客戶端的請求調用安裝在可計算存儲設備上的應用庫和算法庫,最終執行任務。計算節點通過高速網絡連接到可計算存儲系統,基于存儲客戶端實現應用調用、算法調用及簡單的任務調度功能。

圖7 面向高能物理數據處理的可計算存儲技術架構

由于ARM架構的開放性,ARM CPU廠商在設計CPU時,一般還集成一些SOC,以提供相關的功能。以華為鯤鵬920為例,除了CPU外,它還集成了RoCE網卡、SAS控制器和南橋,以及加速引擎,包含了KAE加解密、KAEzip等,分別用于加速SSL/TLS應用和數據壓縮,可以顯著降低處理器消耗,提高處理器效率。

4.2 設計與實現

可計算存儲設備的實現有多種,包括在磁盤控制器、磁盤陣列控制器、存儲服務器、存儲服務等進程中疊加計算功能,分別稱為可計算存儲驅動器(computational storage drive,CSD)、可計算存儲陣列(computational storage array,CSA)、可計算存儲處理器(computational storage processor,CSP)、可計算存儲服務(computational storage service,CSS)等。根據高能物理計算的特點,本文基于EOS分布式存儲系統設計和研發了可計算存儲系統。EOS分布式存儲系統由CERN開發,在高能物理領域應用廣泛,主要由元數據服務器(MGM)和I/O存儲服務器(FST)構成,可以支持EB級的數據存儲,客戶端通過標準的XRootD協議[16]訪問數據。對于用戶或者應用來說,只要支持XRootD協議,就可以在本地甚至跨地域訪問EOS存儲。因此,該系統不需要修改客戶端訪問模式,原有的應用程序也不需要任何改變,如果用戶希望利用存儲設備上的計算能力,只需要在文件名后加上特定的參數就可以,其基本架構如圖8所示。

在圖8中,EOS的FST組件與其上安裝的硬盤,再加上ARM CPU,共同構成可計算存儲設備。具體的實現方式是編寫兩個動態加載的插件(eoscssmgm.so和eoscssfst.so)加在EOS配置文件中,不需要修改EOS的任何代碼,從而保證系統的可擴展性和可移植性。eoscssmgm.so用來解析元數據的參數,它根據需要訪問的文件路徑,將文件訪問請求分配到文件實體所在的FST上。eoscssfst.so用來解析數據I/O參數,從中分離出需要調用的應用或者算法,進而調用FST上CPU或者FPGA的計算能力,任務執行完后將計算結果返回給客戶端。這樣,所有數據I/O只在本地硬盤進行,完全避免了從存儲節點(FST)到計算節點之間的網絡流量。

高能物理數據處理程序通常基于ROOT軟件框架實現,因此通過修改ROOT軟件,可將其中某些計算能力卸載到存儲節點,使可計算存儲技術更加通用,如壓縮/解壓縮、排序、數據查找、數據索引、數據擬合等。目前,筆者團隊已經把ROOT移植到ARM CPU上運行,并通過修改ROOT代碼,實現了調用華為鯤鵬硬件壓縮的能力,從而大幅提升ROOT數據壓縮寫入和讀取性能。其他的數據處理功能(如數據索引、數據查找)也可以通過修改ROOT,將其從計算節點卸載到存儲節點(FST)上實現,從而大大節省數據傳輸時間,提高數據分析效率。

4.3 典型應用評測

本文主要介紹兩類可計算存儲的應用評測,一類是LHAASO KM2A探測器事例解碼,另一類是基于ARM SOC的壓縮。LHAASO KM2A事例解碼是將探測器的原始數據轉換成具有物理意義的格式的過程。在傳統的分析模式中,解碼程序在計算節點上運行,通過網絡讀入二進制格式的探測器數據,任務結束后輸出ROOT格式的原始數據。一個解碼過程所需讀帶寬約為10 MB/s,寫帶寬約為4 MB/s。本文實現了可計算存儲的模式,在計算節點打開文件時加上“&css=decode”選項,存儲節點就會在FST存儲服務器上調用解碼程序,直接從本地硬盤讀取文件,然后將輸出的ROOT寫到本地硬盤,并注冊到分布式存儲文件系統元數據中,從而實現“零傳輸”的數據分析模式。測試結果如圖9所示,原計算模式下的執行速度隨著并發進程數的增加逐步變慢,特別是達到10個進程后,數據訪問速度達到1 Gbit/s網絡帶寬的限制,執行過程從10個進程165.177 s上升到40個進程489.321 s。可計算存儲模式下的執行速度隨并發進程數的增加變化不大,當并發進程數達到40個左右時,可計算存儲模式的執行速度開始變慢,從30個進程的79.623 s增加40個進程的99.632 s,這是因為數據訪問速度達到了本地硬盤性能的限制。測試結果顯示,可計算存儲模式可以支持更多的并發解碼進程。

圖9 LHAASO KM2A Decode應用評測

在ARM CPU中,一般會集成SOC系統級芯片,比如華為鯤鵬920 CPU內置了壓縮引擎,本文通過修改ROOT軟件實現對華為KAE zlib壓縮加速庫的調用。華為鯤鵬920 CPU KAE zlib壓縮引擎單處理器理論上最大壓縮帶寬為7 GB/s,最大解壓帶寬為8 GB/s。在該應用評測中選用LHAASO KM2A事例解碼程序。解碼前,原始文件尺寸為1 GB。解碼在輸出時,可以設置數據壓縮算法,由ROOT自動調用壓縮算法生成ROOT格式的文件。因為華為鯤鵬ARM CPU僅支持zlib壓縮算法,所以這里僅列出ROOT調用zlib壓縮算法的運行時間對比,如圖10所示。圖例中壓縮算法后的3位數字,第一位代表算法序號,第二位無意義,第三位代表壓縮等級,同一種壓縮算法中,壓縮等級越高,速度越慢,壓縮率越高。從圖10可以看出,當進程數在20個以內時,采用華為KAE zlib加速庫,可以將解碼程序的執行時間減少30%以上。當進程數增加到40個以后,性能與CPU執行zlib相當。

圖10 華為泰山服務器上各種壓縮算法評測

5 結束語

本文基于ARM國產處理器及服務器等硬件,構建了完整的高能物理數據處理系統,包括EOS等數據存儲軟件、HTCondor等作業調度軟件、ROOT/GEANT等基礎軟件庫、LHAASO/LQCD等應用軟件,并實現了大規模的運行。同時,本文還從超大數據處理挑戰出發,提出了可計算存儲技術方案,有效地解決了計算過程中因數據搬運帶來的I/O瓶頸問題。LHAASO事例重建與解碼等典型應用評測結果說明,基于國產處理架構的高能物理數據處理系統運行正確,多核架構的整機性能突出。可計算存儲方式能夠有效地利用存儲節點的硬件能力,實現典型計算任務的卸載,避免數據多次搬運,提高計算效率。

目前,本系統已經支持典型的高能物理應用,證明了在國產處理器架構上開展高能物理數據處理的可行性和可推廣性。下一步,將移植和優化更多的應用,基于可計算存儲技術架構實現更多的計算任務卸載,并進一步將經驗推廣到其他相關領域。

致謝

本論文的工作得到國家高能物理科學數據中心在數據處理環境及科學數據等方面的支持,在此表示感謝!

猜你喜歡
數據處理
驗證動量守恒定律實驗數據處理初探
認知診斷缺失數據處理方法的比較:零替換、多重插補與極大似然估計法*
心理學報(2022年4期)2022-04-12 07:38:02
ILWT-EEMD數據處理的ELM滾動軸承故障診斷
水泵技術(2021年3期)2021-08-14 02:09:20
ADS-B數據處理中心的設計與實現
電子測試(2018年4期)2018-05-09 07:28:12
MATLAB在化學工程與工藝實驗數據處理中的應用
基于希爾伯特- 黃變換的去噪法在外測數據處理中的應用
大數據處理中基于熱感知的能源冷卻技術
計算機工程(2015年4期)2015-07-05 08:28:04
Matlab在密立根油滴實驗數據處理中的應用
數據處理能力在求職中起關鍵作用
我國首個“突發事件基礎數據處理標準”發布
主站蜘蛛池模板: 中文国产成人久久精品小说| 亚洲码在线中文在线观看| 国内精品视频区在线2021| 亚洲国产成人久久77| 欧美精品一区二区三区中文字幕| 国产一区三区二区中文在线| 992tv国产人成在线观看| 72种姿势欧美久久久久大黄蕉| 免费A级毛片无码免费视频| 一本一本大道香蕉久在线播放| 国产精品露脸视频| 老司机精品久久| 伊人中文网| 波多野吉衣一区二区三区av| 国产精品jizz在线观看软件| 欧美精品1区| 人妻精品久久久无码区色视| 国产成人无码久久久久毛片| 国产在线一区视频| 欧美色伊人| 婷婷色中文网| 99精品欧美一区| 国产无码精品在线| 在线高清亚洲精品二区| 国产尤物视频网址导航| 色网站免费在线观看| 久久久四虎成人永久免费网站| 97国产精品视频人人做人人爱| 久久精品91麻豆| 波多野结衣中文字幕一区| 久久窝窝国产精品午夜看片| 2021国产精品自拍| 国产精品自拍合集| 思思热精品在线8| 18黑白丝水手服自慰喷水网站| 99er精品视频| 真实国产精品vr专区| 免费国产高清视频| 成人va亚洲va欧美天堂| 美女扒开下面流白浆在线试听 | 日韩国产 在线| 欧美h在线观看| 成人午夜视频在线| 欧美啪啪网| 亚洲无码高清一区二区| 国产69精品久久久久孕妇大杂乱 | 伊人色综合久久天天| 日韩精品无码免费专网站| 看看一级毛片| 亚洲日韩精品欧美中文字幕| 国产一级毛片网站| 亚洲一级毛片| 青青极品在线| 免费人成视网站在线不卡| 欧美日韩导航| 精品中文字幕一区在线| 免费全部高H视频无码无遮掩| 亚洲小视频网站| 亚洲综合亚洲国产尤物| 国产小视频免费| 国产美女无遮挡免费视频网站| 91无码人妻精品一区二区蜜桃| AV天堂资源福利在线观看| 亚洲第一色视频| 国产午夜不卡| 日韩第八页| 亚洲国产欧美目韩成人综合| 91九色视频网| 2022国产91精品久久久久久| 国产极品美女在线观看| 找国产毛片看| 国产成人精品一区二区免费看京| 亚洲天堂.com| 国产永久在线观看| 54pao国产成人免费视频| 一级毛片不卡片免费观看| 国产91无毒不卡在线观看| 日韩麻豆小视频| 亚洲国产欧美国产综合久久| 好吊色妇女免费视频免费| 91免费观看视频| 日本午夜三级|