程耀東 張 瀟 王培建 查 禮 侯 迪 齊 勇 馬 燦
1(中國(guó)科學(xué)院高能物理研究所 北京 100049)2(西安交通大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系 西安 710049)3(中國(guó)科學(xué)院計(jì)算技術(shù)研究所 北京 100190)4 (中國(guó)科學(xué)院信息工程研究所 北京 100093) (chyd@ihep.ac.cn)
高能物理大數(shù)據(jù)挑戰(zhàn)與海量事例特征索引技術(shù)研究
程耀東1張 瀟2王培建2查 禮3侯 迪2齊 勇2馬 燦4
1(中國(guó)科學(xué)院高能物理研究所 北京 100049)2(西安交通大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系 西安 710049)3(中國(guó)科學(xué)院計(jì)算技術(shù)研究所 北京 100190)4(中國(guó)科學(xué)院信息工程研究所 北京 100093) (chyd@ihep.ac.cn)
新一代高能物理實(shí)驗(yàn)裝置的建成與運(yùn)行,產(chǎn)生了PB乃至EB量級(jí)的數(shù)據(jù),這對(duì)數(shù)據(jù)采集、存儲(chǔ)、傳輸與共享、分析與處理等數(shù)據(jù)管理技術(shù)提出了巨大挑戰(zhàn).事例是高能物理實(shí)驗(yàn)的基本數(shù)據(jù)單元,一次大型實(shí)驗(yàn)即可產(chǎn)生萬(wàn)億級(jí)的事例.傳統(tǒng)高能物理數(shù)據(jù)處理以ROOT文件為基本存儲(chǔ)和處理單位,每個(gè)ROOT文件可以包含數(shù)千至數(shù)億個(gè)事例.這種基于文件的處理方式雖然降低了高能物理數(shù)據(jù)管理系統(tǒng)的開發(fā)難度,但物理分析僅對(duì)極少量的稀有事例感興趣,這導(dǎo)致了數(shù)據(jù)傳輸量大、IO瓶頸以及數(shù)據(jù)處理效率低等問題.提出一種面向事例的高能物理數(shù)據(jù)管理方法,重點(diǎn)研究海量事例特征高效索引技術(shù).在這種方法中,將物理學(xué)家感興趣的事例的特征量抽取出來建立專門的索引,存儲(chǔ)在NoSQL數(shù)據(jù)庫(kù)中.為便于物理分析處理,事例的原始數(shù)據(jù)仍然存放在ROOT文件中.最后,通過系統(tǒng)驗(yàn)證和分析表明,基于事例特征索引進(jìn)行事例篩選是可行的,優(yōu)化后的HBase系統(tǒng)可以滿足事例索引的需求.
高能物理;數(shù)據(jù)管理;事例索引;HBase;查詢優(yōu)化
為了研究宇宙起源、天體演化、物質(zhì)結(jié)構(gòu)組成等科學(xué)問題,人類建造了許多大科學(xué)設(shè)施,包括歐洲大型強(qiáng)子對(duì)撞機(jī)(large hadron collider, LHC)、北京正負(fù)電子對(duì)撞機(jī)(Beijing electron-positron collider, BEPC)、大亞灣中微子實(shí)驗(yàn)、江門中微子實(shí)驗(yàn)(Jiangmen underground neutrino observatory, JUNO)、高海拔宇宙線實(shí)驗(yàn)(large high altitude air shower observatory, LHAASO)等.隨著實(shí)驗(yàn)裝置規(guī)模不斷擴(kuò)大和精度的提高,產(chǎn)生了越來越多的數(shù)據(jù),比如LHC在線數(shù)據(jù)率高達(dá)每秒1 PB,需要長(zhǎng)期保存和處理的數(shù)據(jù)達(dá)到每年50 PB.當(dāng)前,高能物理領(lǐng)域總體累積的數(shù)據(jù)已經(jīng)接近1 000 PB,并且還在不斷增加,全球有近萬(wàn)名物理學(xué)家利用這些數(shù)據(jù)進(jìn)行物理研究.這樣大的數(shù)據(jù)量需要超大規(guī)模的存儲(chǔ)、計(jì)算及網(wǎng)絡(luò)資源,大量的計(jì)算任務(wù)需要由所有高能物理合作單位共同承擔(dān).物理學(xué)家把分布于全世界的存儲(chǔ)、計(jì)算資源整合到一起,形成一個(gè)超高性能的通用計(jì)算基礎(chǔ)設(shè)施——WLCG(worldwide LHC computing grid)網(wǎng)格[1],提供大量的計(jì)算和存儲(chǔ)資源,用于數(shù)據(jù)的處理、模擬和分析.
高能物理數(shù)據(jù)處理過程包括數(shù)據(jù)篩選、數(shù)據(jù)重建、物理模擬以及分析等.目前,高能物理的實(shí)驗(yàn)數(shù)據(jù)以文件為單位進(jìn)行管理,每個(gè)文件包含了若干個(gè)事例.事例是基本的數(shù)據(jù)單元,指一次粒子對(duì)撞或者一次粒子間的基本相互作用產(chǎn)生的數(shù)據(jù),包含了條件參數(shù)以及相關(guān)的物理量,比如光子數(shù)、帶電徑跡數(shù)、電子數(shù)等,一個(gè)大型高能物理實(shí)驗(yàn)可以產(chǎn)生數(shù)十億甚至萬(wàn)億級(jí)別數(shù)量的事例.另一方面,由于高能物理實(shí)驗(yàn)裝置的規(guī)模及數(shù)據(jù)量巨大,通常一家單位難以處理全部的數(shù)據(jù),數(shù)據(jù)由分布在全球的高能物理單位合作完成.這種分布式的、以文件為基礎(chǔ)的存儲(chǔ)方式,大大簡(jiǎn)化了數(shù)據(jù)管理的復(fù)雜度,在很長(zhǎng)一段時(shí)間內(nèi)促進(jìn)了高能物理領(lǐng)域的發(fā)展.
然而,隨著實(shí)驗(yàn)數(shù)據(jù)的飛速增長(zhǎng)以及新技術(shù)的出現(xiàn),這種傳統(tǒng)的數(shù)據(jù)存儲(chǔ)和處理方式也暴露出越來越多的弊端.首先,文件形式的數(shù)據(jù)雖然存儲(chǔ)方便,但不利于數(shù)據(jù)的檢索.而數(shù)據(jù)檢索在高能物理的數(shù)據(jù)處理中占很大比重.因此,以文件為基礎(chǔ)的存儲(chǔ),大大降低了數(shù)據(jù)處理的效率.其次,數(shù)據(jù)處理程序只能運(yùn)行在存儲(chǔ)數(shù)據(jù)的站點(diǎn),所以需要提前將數(shù)據(jù)以文件的方式傳輸?shù)街付ǖ恼军c(diǎn).這種方式難以實(shí)現(xiàn)計(jì)算資源的靈活調(diào)度,而文件傳輸?shù)侥繕?biāo)站點(diǎn)后只有其中少部分被使用,造成帶寬的浪費(fèi).因此,提高數(shù)據(jù)處理效率和資源利用率是高能物理軟件領(lǐng)域亟待解決的一個(gè)重要問題.
Fig. 1 CDF (cumulative distribution function) of the simulated event selection圖1 模擬篩選返回的事例數(shù)及所占百分比
提高現(xiàn)有系統(tǒng)的處理效率并不是一個(gè)簡(jiǎn)單的任務(wù),存在諸多挑戰(zhàn):1)文件格式的存儲(chǔ)方式未提供有效的屬性查詢功能,致使事例檢索效率非常低下.當(dāng)物理學(xué)家檢索事例時(shí),關(guān)心的屬性只有少數(shù)幾個(gè),關(guān)心的事例也通常少于原始數(shù)據(jù)的1100,甚至11000000(如圖1所示).但針對(duì)文件進(jìn)行檢索,需要訪問某一范圍內(nèi)的所有文件,并讀取每個(gè)事例的所有屬性值.大量的IO操作都是無用的.2)分站點(diǎn)存儲(chǔ)空間不足且網(wǎng)絡(luò)傳輸速度有限,這給計(jì)算任務(wù)在分站點(diǎn)運(yùn)行提出挑戰(zhàn).由于分站點(diǎn)的規(guī)模往往遠(yuǎn)小于主站點(diǎn),無法存儲(chǔ)所有數(shù)據(jù)的完整拷貝,需要在計(jì)算時(shí)再臨時(shí)復(fù)制數(shù)據(jù)到分站點(diǎn).由于網(wǎng)絡(luò)傳輸速度和數(shù)據(jù)量之間的矛盾,實(shí)時(shí)復(fù)制數(shù)據(jù)會(huì)造成很大的延遲以及文件系統(tǒng)的開銷,甚至系統(tǒng)宕機(jī).3)數(shù)據(jù)格式在存儲(chǔ)和處理上具有不一致性.數(shù)據(jù)存儲(chǔ)的方式是文件,而數(shù)據(jù)處理的單位是事例,系統(tǒng)需要大量的轉(zhuǎn)化操作,造成極大的開銷.4)已有系統(tǒng)極為復(fù)雜,新的處理方式難以兼容.高能物理領(lǐng)域針對(duì)每一個(gè)實(shí)驗(yàn)裝置都會(huì)開發(fā)各自的離線數(shù)據(jù)處理軟件系統(tǒng),長(zhǎng)期以來形成了獨(dú)立的體系,系統(tǒng)的優(yōu)化不能對(duì)這些應(yīng)用軟件造成太大的影響.
本文研究一個(gè)重要的問題:如何提高高能物理數(shù)據(jù)管理系統(tǒng)的效率.為了應(yīng)對(duì)以上挑戰(zhàn),本文設(shè)計(jì)了面向事例的數(shù)據(jù)管理系統(tǒng),有效解決事例數(shù)據(jù)處理效率低以及分站點(diǎn)資源利用率低的問題.首先設(shè)計(jì)了一個(gè)基于NoSQL數(shù)據(jù)庫(kù)[2]的事例索引系統(tǒng).通過事例數(shù)據(jù)特征抽取,選取物理學(xué)家最感興趣的屬性作為索引,存儲(chǔ)在數(shù)據(jù)庫(kù)中,并采用倒排索引技術(shù),提高事例數(shù)據(jù)檢索的效率.接著,針對(duì)事例數(shù)據(jù)進(jìn)行緩存優(yōu)化,減少數(shù)據(jù)轉(zhuǎn)化和存儲(chǔ)開銷.然后,提出事例級(jí)跨域傳輸方案,降低分站點(diǎn)處理數(shù)據(jù)的延遲.作者在一個(gè)小型的原型系統(tǒng)上實(shí)現(xiàn)了事例索引并進(jìn)行了試驗(yàn)驗(yàn)證.實(shí)驗(yàn)結(jié)果表明,事例級(jí)的索引技術(shù)能夠顯著提高事例數(shù)據(jù)的檢索效率.
本文首先介紹高能物理的數(shù)據(jù)處理流程以及面向事例管理的相關(guān)工作,然后重點(diǎn)介紹面向事例的科學(xué)數(shù)據(jù)管理系統(tǒng)設(shè)計(jì),最后給出系統(tǒng)驗(yàn)證與分析結(jié)果,分析性能提升的原因.
1.1 高能物理數(shù)據(jù)處理流程
高能物理實(shí)驗(yàn)主要有3個(gè)要素,分別是粒子源、用以觀察和記錄各種高能粒子的相關(guān)信息的探測(cè)器以及用于獲取和處理這些信息的電子學(xué)系統(tǒng).探測(cè)器電子學(xué)系統(tǒng)的結(jié)構(gòu)比較復(fù)雜,有時(shí)甚至需要計(jì)算機(jī)程序來控制,因此制造的技術(shù)難點(diǎn)也相對(duì)較高.高能物理數(shù)據(jù)處理過程的過程如圖2所示,主要包括數(shù)據(jù)篩選、重建、分析和模擬等部分.
Fig. 2 Data processing workflow in high energy physics圖2 高能物理數(shù)據(jù)處理過程示意圖
粒子在加速器中經(jīng)高速對(duì)撞后產(chǎn)生的信息會(huì)被傳感器捕獲,交由在線系統(tǒng)進(jìn)行篩選,之后傳送到離線系統(tǒng)中,以文件的形式保存在磁盤系統(tǒng)中,并在磁帶庫(kù)中進(jìn)行永久保存,同時(shí)在隨機(jī)讀寫存儲(chǔ)系統(tǒng)中進(jìn)行緩存,這些數(shù)據(jù)叫做原始數(shù)據(jù)(Raw Data),由事例(Event)組成.之后這些原始數(shù)據(jù)會(huì)借助對(duì)撞和取數(shù)時(shí)的參數(shù)進(jìn)行重建,并被賦予真實(shí)的物理意義.重建之后的數(shù)據(jù)保存為 ROOT格式[3]的DST文件,由于軟件升級(jí)等原因,重建的過程可能進(jìn)行多次.不同條件下產(chǎn)生的重建數(shù)據(jù)被標(biāo)記為不同的版本以便區(qū)分,如655,664等.最后,物理學(xué)家利用數(shù)據(jù)分析框架對(duì)重建后的數(shù)據(jù)做深入的分析,并生成用于繪制圖表的結(jié)果ROOT文件.在數(shù)據(jù)分析階段,不同的物理學(xué)家會(huì)根據(jù)自己的需要或建立的模型設(shè)計(jì)并實(shí)現(xiàn)一組數(shù)據(jù)分析篩選算法,算法通常由頂點(diǎn)擬合、徑跡篩選、4C擬合、5C擬合等多個(gè)部分構(gòu)成.數(shù)據(jù)分析過程往往涉及大量的數(shù)據(jù)讀取工作,但最終滿足條件的事例數(shù)通常僅占整體數(shù)據(jù)量的1‰左右,之后高能物理學(xué)家還會(huì)對(duì)這些挑選出來的數(shù)據(jù)做進(jìn)一步的分析和計(jì)算.有時(shí)物理學(xué)家為驗(yàn)證分析結(jié)果正確與否,還要使用蒙特卡羅模擬軟件產(chǎn)生與原始數(shù)據(jù)規(guī)模相當(dāng)?shù)哪M數(shù)據(jù),之后對(duì)這些數(shù)據(jù)進(jìn)行重建,最后再對(duì)重建后的數(shù)據(jù)進(jìn)行相同的分析,用以與之前的分析結(jié)果進(jìn)行比對(duì).
當(dāng)前,高能物理實(shí)驗(yàn)以文件為單位進(jìn)行數(shù)據(jù)管理與計(jì)算.由于事例之間的無關(guān)性和獨(dú)立性,高能物理往往把一系列的事例組成一個(gè)文件,多個(gè)文件可以在多個(gè)機(jī)器上同時(shí)處理,而不需要相互通信.因此,高能物理計(jì)算的特點(diǎn)是高吞吐率的數(shù)據(jù)并發(fā).基于這些特點(diǎn),目前高能物理領(lǐng)域普遍采用集群計(jì)算系統(tǒng)以及計(jì)算和存儲(chǔ)分離的模式,典型的系統(tǒng)結(jié)構(gòu)如圖3所示:
Fig. 3 Typical architecture of HEP computing system圖3 高能物理計(jì)算系統(tǒng)典型結(jié)構(gòu)
1.2 面向事例管理的相關(guān)工作
為了能夠快速得到物理學(xué)者感興趣的數(shù)據(jù)集,最初的方案是把索引信息存儲(chǔ)到高能物理領(lǐng)域中常用的ROOT文件格式中,稱為索引文件.實(shí)際上,真正的事例數(shù)據(jù)仍然存儲(chǔ)在數(shù)據(jù)文件中.這樣,物理學(xué)家在進(jìn)行研究時(shí),先讀取索引文件,篩選出感興趣的事例ID,最終通過事例ID在數(shù)據(jù)文件中提取感興趣的事例.中國(guó)科學(xué)院高能物理研究所的劉北江從事例數(shù)據(jù)中抽取一系列的特征量(稱為TAG),存儲(chǔ)在單獨(dú)的ROOT文件中,形成索引文件.用戶篩選時(shí)首先在該索引文件中查找,減少遍歷數(shù)據(jù)文件的次數(shù),應(yīng)用于北京譜儀BESIII的實(shí)驗(yàn)中[4].澳大利亞墨爾本大學(xué)的Bloomfield等人將特定篩選條件選取的事例位置信息存儲(chǔ)在ROOT文件中,應(yīng)用到日本的BELLE2實(shí)驗(yàn)中[5].這樣,用戶在做分析時(shí)直接免去預(yù)篩選過程,但是這種方法只能適用于固定模式的篩選,無法滿足用戶個(gè)性化的需求.
采用文件存儲(chǔ)索引的方式在管理、共享和訪問性能方面難以滿足更大規(guī)模的實(shí)驗(yàn)數(shù)據(jù),因此在有些大型高能物理實(shí)驗(yàn)中采用關(guān)系型數(shù)據(jù)庫(kù)來存儲(chǔ)事例索引.物理學(xué)者在進(jìn)行事例篩選時(shí),通過數(shù)據(jù)庫(kù)查詢語(yǔ)句獲得符合條件的事例ID,最后再?gòu)脑紨?shù)據(jù)文件中提取出事例.比如,歐洲核子中心CERN的Goosens以及美國(guó)阿貢國(guó)家實(shí)驗(yàn)室的Cranshaw等人采用Oracle數(shù)據(jù)庫(kù)存儲(chǔ)ATLAS實(shí)驗(yàn)(超環(huán)面儀器)的索引信息,通過水平分區(qū)、縱向分區(qū)等數(shù)據(jù)庫(kù)優(yōu)化等技術(shù)手段實(shí)現(xiàn)了10億級(jí)別的事例索引TAGDB[6].
隨著事例數(shù)量不斷增加,近年來有很多研究人員提出采用NoSQL來存儲(chǔ)索引信息.西班牙的Sánchez等人采用HBase構(gòu)建了ATLAS實(shí)驗(yàn)(超環(huán)面儀器)事例索引數(shù)據(jù)庫(kù)EventIndex[7].中國(guó)科學(xué)院高能物理研究所的孫功星等人提出將事例數(shù)據(jù)存儲(chǔ)在HBase中并建立特征事例索引,以加快數(shù)據(jù)分析過程[8].
值得指出的是,21世紀(jì)初曾經(jīng)一段時(shí)間,有相關(guān)人員提出將高能物理全部的實(shí)驗(yàn)數(shù)據(jù)存儲(chǔ)到面向?qū)ο蟮臄?shù)據(jù)庫(kù)中,比如美國(guó)斯坦福直線加速器中心SLAC的Becla將BaBar的實(shí)驗(yàn)數(shù)據(jù)完全存入到ObjectivityDB中[9].歐洲核子中心CERN的Düllmann提出將LHC的海量數(shù)據(jù)存儲(chǔ)到ObjectivityDB中[10].但是,這些方案最終沒有成功實(shí)施,目前高能物理的數(shù)據(jù)存儲(chǔ)仍然采用文件管理的方式.
從以上的分析可以看出,完全將事例數(shù)據(jù)存儲(chǔ)到關(guān)系型、面向?qū)ο蠡蛘逳oSQL中的方案,在高能物理領(lǐng)域還沒有得到廣泛的應(yīng)用.將數(shù)據(jù)文件存儲(chǔ)與特征索引結(jié)合起來是一個(gè)可行的方案,但是目前的工作都是針對(duì)某個(gè)實(shí)驗(yàn)或者解決具體問題開展,缺乏通用、可擴(kuò)展和全面的解決方案及系統(tǒng).
結(jié)合高能物理海量數(shù)據(jù)管理需求和研究現(xiàn)狀,本文采用ROOT文件存儲(chǔ)和NoSQL事例特征索引融合的管理架構(gòu),提出一個(gè)通用、可擴(kuò)展的方案,設(shè)計(jì)面向事例的科學(xué)數(shù)據(jù)管理系統(tǒng),實(shí)現(xiàn)高能物理海量數(shù)據(jù)的高效管理、快速處理以及遠(yuǎn)程訪問等.
該系統(tǒng)主要包括4個(gè)部分:事例特征抽取、事例索引數(shù)據(jù)庫(kù)、面向事例的緩存、面向事例的傳輸,其架構(gòu)如圖4所示.在傳統(tǒng)的高能物理計(jì)算環(huán)境中,高能物理數(shù)據(jù)處理軟件,比如BOSS(BESIII Offline Software System)[11],SNiPER(Software for Non-collider Physics Experiments)[12],LodeStar(LHAASO Offline Data Processing Software Framework)等,直接訪問實(shí)驗(yàn)數(shù)據(jù)的存儲(chǔ)系統(tǒng),比如Lustre,GPFS,EOS等分布式文件系統(tǒng).在本文的設(shè)計(jì)中,面向事例的科學(xué)數(shù)據(jù)管理系統(tǒng)位于高能物理數(shù)據(jù)處理軟件與實(shí)驗(yàn)數(shù)據(jù)存儲(chǔ)系統(tǒng)之間,提供事例級(jí)的海量數(shù)據(jù)管理.同時(shí),數(shù)據(jù)處理軟件仍然可以使用原有的方式,直接訪問數(shù)據(jù)存儲(chǔ)系統(tǒng),從而保證了系統(tǒng)的兼容性.
Fig. 4 Architecture of event-oriented scientific data management system圖4 面向事例的科學(xué)數(shù)據(jù)管理系統(tǒng)結(jié)構(gòu)
采用面向事例的科學(xué)數(shù)據(jù)管理系統(tǒng)以后,事例特征抽取模塊會(huì)掃描實(shí)驗(yàn)數(shù)據(jù)存儲(chǔ)系統(tǒng),從中抽取出物理學(xué)家過濾事例的特征量,并保存到事例索引數(shù)據(jù)庫(kù)中.事例特征數(shù)據(jù)庫(kù)記錄了事例的特征屬性以及事例的存儲(chǔ)位置和偏移量,并且將特征屬性值編碼至NoSQL數(shù)據(jù)庫(kù)的主鍵中,同時(shí)提供事例查詢接口.高能物理數(shù)據(jù)處理軟件在做分析時(shí),首先通過篩選條件查詢事例索引數(shù)據(jù)庫(kù),得到感興趣的事例集合.接著,調(diào)用事例緩存的接口.如果該事例已經(jīng)在緩存系統(tǒng)中,就會(huì)直接給數(shù)據(jù)處理軟件返回該事例數(shù)據(jù).如果數(shù)據(jù)處理軟件運(yùn)行在遠(yuǎn)程站點(diǎn),當(dāng)需要某個(gè)事例時(shí),系統(tǒng)還會(huì)觸發(fā)面向事例的傳輸系統(tǒng)將事例數(shù)據(jù)從網(wǎng)絡(luò)上實(shí)時(shí)傳輸給數(shù)據(jù)處理軟件.
2.1 事例特征抽取
由于原有物理數(shù)據(jù)被封裝在ROOT等高能物理處理框架的數(shù)據(jù)對(duì)象中,數(shù)據(jù)在相關(guān)物理軟件外對(duì)用戶是不可見.所以為了能夠快速查找相關(guān)物理事例,需要預(yù)先提取事例粒度的相關(guān)特征數(shù)據(jù),以供后續(xù)的查找.
事例特征抽取模塊負(fù)責(zé)識(shí)別不同實(shí)驗(yàn)、不同格式的數(shù)據(jù)文件,并從中抽取出對(duì)于數(shù)據(jù)處理有意義的特征變量,比如BESIII(北京譜儀)實(shí)驗(yàn)中,包含了運(yùn)行號(hào)、事例號(hào)、總徑跡數(shù)、總帶電徑跡數(shù)、總不帶電徑跡數(shù)、好的光子數(shù)、好的正負(fù)帶點(diǎn)徑跡數(shù)、好的正負(fù)介子數(shù)、好的正負(fù)k-介子數(shù)、好的正負(fù)質(zhì)子數(shù)、可見光能量定義等16個(gè)特征屬性.識(shí)別出這些特征屬性后,事例抽取模塊根據(jù)用戶定義,將其中的特征存儲(chǔ)到事例索引數(shù)據(jù)庫(kù)中.
事例特征抽取模塊基于ROOT框架實(shí)現(xiàn),與具體的實(shí)驗(yàn)無關(guān).為了保證系統(tǒng)的通用性,該模塊定義了一個(gè)規(guī)范的接口.每個(gè)高能物理實(shí)驗(yàn)通過配置接口定義文件即可實(shí)現(xiàn)相應(yīng)的事例特征抽取功能,可以指定需要將哪些特征屬性存儲(chǔ)到事例特征數(shù)據(jù)庫(kù)中.高能物理中存在多種不同的文件格式,該模塊會(huì)分類識(shí)別,主要包括AOD(Analysis Object Data),重建數(shù)據(jù)摘要信息,用于物理分析);ESD(Event Summary Object),全部的重建輸出數(shù)據(jù);EVNT(蒙特卡羅模擬產(chǎn)生的事例);RDO(Raw Data Objects),原始數(shù)據(jù)及其產(chǎn)生原始數(shù)據(jù)的條件信息.一般情況下,不需要對(duì)原始數(shù)據(jù)Raw Data建立索引.原始數(shù)據(jù)是探測(cè)器產(chǎn)生的字節(jié)流,其中的事例信息可以從重建后的AOD或者ESD中獲得.
2.2 事例索引數(shù)據(jù)庫(kù)及查詢條件歸并
在提取了物理事件級(jí)別的特征后,我們還要能夠有效地組織并索引千億甚至萬(wàn)億級(jí)別的事例數(shù)據(jù),達(dá)到能夠在現(xiàn)有文件中快速提出物理事例集合的目的.
高能物理實(shí)驗(yàn)中的事例數(shù)量龐大,單個(gè)大型實(shí)驗(yàn)可以達(dá)到百億甚至萬(wàn)億級(jí)別.事例的屬性從幾十到幾百個(gè)不等.高能物理數(shù)據(jù)處理并發(fā)訪問量非常高,大型集群和網(wǎng)格計(jì)算的并發(fā)任務(wù)量可達(dá)到十萬(wàn)級(jí)別.這要求事例索引數(shù)據(jù)庫(kù)具有非常好的可擴(kuò)展性和性能.基于以上的需求,本系統(tǒng)采用基于HBase集群[13]來構(gòu)建是索引數(shù)據(jù)庫(kù).
首先,由于HBase中主鍵的構(gòu)建采用了按字典序排序的索引結(jié)構(gòu),并且通常緩存在內(nèi)存中[14],因而具備很好的查詢效率.所以我們?cè)贖Base中將前一步中提取到的事例界別的屬性名及其具體值編碼到了HBase的Rowkey中,以支持使用在主鍵上進(jìn)行二分查找.此外,利用提取后的事件特征數(shù)據(jù)進(jìn)行查詢條件的歸并,滿足相同查詢條件的事例集合會(huì)被歸并到HBase的一條記錄中,可以使得滿足同一條件的所有事例信息可以在一次查詢中返回.HBase的事例特征索引構(gòu)建如圖5所示:
Fig. 5 Building event index in HBase圖5 在HBase中構(gòu)建事例特征索引示意圖
2.3 面向事例的緩存
物理學(xué)者感興趣的數(shù)據(jù)集通常會(huì)呈現(xiàn)出一定的訪問模式.為了能夠減少重復(fù)查詢中消耗的IO資源,系統(tǒng)需要將現(xiàn)有的查詢熱區(qū)緩存起來.
一次高能物理數(shù)據(jù)分析過程中,僅僅對(duì)某些稀有事例感興趣,而這些稀有事例分布在不同的ROOT文件中.所以,物理分析過程中,僅僅讀取文件的一小部分?jǐn)?shù)據(jù),針對(duì)文件的預(yù)讀和緩存等存儲(chǔ)系統(tǒng)優(yōu)化方法難以發(fā)揮作用.中國(guó)科學(xué)院高能物理研究所對(duì)BESIII實(shí)驗(yàn)數(shù)據(jù)分析過程的文件訪問模式分析發(fā)現(xiàn),大部分的文件讀連續(xù)請(qǐng)求的大小分布在256 KB~4 MB之間,每?jī)蓚€(gè)連續(xù)請(qǐng)求之間都有offset,65%的offset絕對(duì)值分布在1~4 MB之間,也就是說文件的讀訪問方式為大記錄塊的跳讀.如果打開文件系統(tǒng)的預(yù)讀選項(xiàng),會(huì)讀取大量無效數(shù)據(jù),導(dǎo)致性能急劇下降[15].
為此,本系統(tǒng)引入了面向事例的緩存.系統(tǒng)記錄事例數(shù)據(jù)的訪問頻次,將高訪頻度的事例數(shù)據(jù)緩存到SSD以及內(nèi)存中,從而減少索引和事例數(shù)據(jù)文件之間的IO開銷.面向事例的緩存模塊檢測(cè)到需要緩存的事例后,將該事例進(jìn)行序列化存儲(chǔ).當(dāng)數(shù)據(jù)處理軟件調(diào)用接口獲取事例時(shí),面向事例的緩存模塊再將存儲(chǔ)在SSD及內(nèi)存的事例進(jìn)行反序列化,以ROOT的對(duì)象直接返回,而不需要再?gòu)牡讓哟鎯?chǔ)系統(tǒng)中讀出.
2.4 面向事例的數(shù)據(jù)傳輸
高能物理領(lǐng)域廣泛采用分布式計(jì)算,將計(jì)算任務(wù)分布到全球合作站點(diǎn)上運(yùn)行.歐洲大型強(qiáng)子對(duì)撞機(jī)產(chǎn)生海量數(shù)據(jù)便是由WLCG(Worldwide LHC Computing Grid)負(fù)責(zé)存儲(chǔ)和處理的.WLCG采用了三級(jí)站點(diǎn)的網(wǎng)格形式[16],主要分為Tier0,Tier1和Tier2.Tier0主要負(fù)責(zé)獲取并保存對(duì)撞機(jī)產(chǎn)生的原始數(shù)據(jù),同將其發(fā)送給多個(gè)Tier1站點(diǎn)作為副本進(jìn)行保存;Tier1主要負(fù)責(zé)對(duì)原始數(shù)據(jù)進(jìn)行重建以及一些后續(xù)的處理工作;Tier2主要負(fù)責(zé)產(chǎn)生模擬數(shù)據(jù)和物理分析等工作.在WLCG的Tier結(jié)構(gòu)中,數(shù)據(jù)并不是完全復(fù)制到所有的站點(diǎn)中,因此計(jì)算任務(wù)會(huì)被調(diào)度到存儲(chǔ)數(shù)據(jù)的地方.如果某個(gè)站點(diǎn)需要分析感興趣的數(shù)據(jù),需要提前進(jìn)行數(shù)據(jù)訂閱,將數(shù)據(jù)預(yù)先傳輸?shù)街付ǖ恼军c(diǎn).CMS(緊湊μ子線圈)實(shí)驗(yàn)使用PhEDEx系統(tǒng)[17]實(shí)現(xiàn)WLCG站點(diǎn)之間傳輸數(shù)據(jù).
不同于WLCG預(yù)先傳輸文件,面向事例的數(shù)據(jù)傳輸系統(tǒng)僅傳輸物理分析程序所感興趣的事例,所需數(shù)據(jù)量大幅降低,隨著網(wǎng)絡(luò)帶寬不斷提升,將可以支持計(jì)算任務(wù)實(shí)時(shí)傳輸數(shù)據(jù).數(shù)據(jù)傳輸系統(tǒng)的結(jié)構(gòu)如圖6所示:
Fig. 6 Architecture of event-oriented data transfer system圖6 面向事例的數(shù)據(jù)傳輸系統(tǒng)結(jié)構(gòu)
數(shù)據(jù)傳輸系統(tǒng)由數(shù)據(jù)傳輸服務(wù)器和數(shù)據(jù)傳輸客戶端2部分構(gòu)成,分別運(yùn)行在2個(gè)不同的站點(diǎn).運(yùn)行在遠(yuǎn)程站點(diǎn)的高能物理數(shù)據(jù)處理軟件在做物理分析時(shí)不用考慮數(shù)據(jù)是否在本地站點(diǎn),它可以通過ROOT框架或者本地文件系統(tǒng)接口來訪問所需要的事例數(shù)據(jù).首先,數(shù)據(jù)處理軟件調(diào)用時(shí)事例索引數(shù)據(jù)庫(kù)獲得事例索引信息,然后通過數(shù)據(jù)傳輸客戶端向數(shù)據(jù)傳輸服務(wù)器發(fā)送事例請(qǐng)求.數(shù)據(jù)傳輸服務(wù)器從數(shù)據(jù)存儲(chǔ)系統(tǒng)或者事例緩存中將事例數(shù)據(jù)序列化傳輸?shù)娇蛻舳?,然后客戶端再將事例反序列化以ROOT對(duì)象的方式返回給數(shù)據(jù)處理軟件.如果數(shù)據(jù)處理軟件以文件系統(tǒng)接口調(diào)用,數(shù)據(jù)傳輸系統(tǒng)僅傳輸所需要的數(shù)據(jù)塊,以減少傳輸量.為了提升數(shù)據(jù)訪問性能,在數(shù)據(jù)傳輸客戶端也設(shè)置了基于事例和數(shù)據(jù)塊的緩存系統(tǒng).數(shù)據(jù)傳輸基于HTTP協(xié)議,支持分塊、多流及斷點(diǎn)續(xù)傳等功能.
3.1 實(shí)驗(yàn)條件
本文在Hadoop 2.6.2平臺(tái)上建立了驗(yàn)證系統(tǒng),采用4臺(tái)服務(wù)器構(gòu)建Hadoop集群,其中1臺(tái)主節(jié)點(diǎn),3臺(tái)數(shù)據(jù)節(jié)點(diǎn).硬件選用曙光A620服務(wù)器,每臺(tái)服務(wù)器配備2顆AMD Operon 6320服務(wù)器、64 GB內(nèi)存、1塊1 TB 7200 RPM SAS硬盤.節(jié)點(diǎn)之間采用千兆以太網(wǎng)互聯(lián),操作系統(tǒng)為Ubuntu 14.04.
實(shí)驗(yàn)過程中選用了北京譜儀BESIII的真實(shí)運(yùn)行數(shù)據(jù),共包含384個(gè)DST文件、1 400萬(wàn)個(gè)事例.基于以上數(shù)據(jù)我們構(gòu)建了事例索引數(shù)據(jù)庫(kù).事例索引中包含7個(gè)特征量,即:entry(事例文件內(nèi)編號(hào)),runNo(運(yùn)行號(hào)),eventID(事例實(shí)驗(yàn)全局編號(hào)),totalCharged(總的帶電粒子數(shù)),totalNeutral(總的中性粒子數(shù)),totalTrks(總的徑跡數(shù)),以及原始的DST文件名.
3.2 實(shí)驗(yàn)結(jié)果分析
為驗(yàn)證事例索引數(shù)據(jù)庫(kù)的有效性,實(shí)驗(yàn)開展了如下工作:1)模擬用戶查詢;2)關(guān)系型數(shù)據(jù)庫(kù)查詢效率;3)對(duì)比未歸并查詢條件與經(jīng)過查詢條件歸并的HBase查詢效率;4)驗(yàn)證在不同試驗(yàn)中條件歸并效果.
1) 模擬用戶查詢
實(shí)驗(yàn)中,首先指定RunNo,然后再選擇屬性值,模擬用戶真實(shí)的事例查詢模式,并使用蒙特卡洛方法隨機(jī)數(shù)產(chǎn)生查詢條件,用于模擬用戶的查詢.在測(cè)試的數(shù)據(jù)中,所有DST的文件中共包含了1 400萬(wàn)個(gè)事例,查詢返回理論上限為1 400萬(wàn)條.實(shí)驗(yàn)中產(chǎn)生了1 000條模擬查詢條件,其中在1 400萬(wàn)事例數(shù)據(jù)中有效的單值查詢的條件和對(duì)應(yīng)事例數(shù)量的累計(jì)分布圖如圖1所示,有77%的查詢返回低于1萬(wàn)條數(shù)據(jù)(少于千萬(wàn)分之一).這說明了事例篩選是有效的,可以大大降低用戶遍歷原始數(shù)據(jù)文件的開銷.
2) 關(guān)系型數(shù)據(jù)庫(kù)查詢效率
關(guān)系型數(shù)據(jù)支持多個(gè)索引,能夠靈活支持結(jié)構(gòu)化數(shù)據(jù)查詢,因此也是構(gòu)建事例特征索引數(shù)據(jù)庫(kù)的一個(gè)選項(xiàng).本實(shí)驗(yàn)將事例索引存放到MySQL數(shù)據(jù)庫(kù)中,做1 000次模擬查詢,查詢時(shí)間大部分集中在200~500 ms之間.實(shí)驗(yàn)結(jié)果如圖7所示.
Fig. 7 Number of returned event and time consumed in simulated selection using MySQL圖7 MySQL上模擬篩選返回的事例數(shù)及所用時(shí)間
3) HBase查詢效率
上面的實(shí)驗(yàn)中對(duì)MySQL的各個(gè)字段都增加了索引.對(duì)比傳統(tǒng)RDBMS的實(shí)驗(yàn)結(jié)果,查詢時(shí)間有了一定的降低,但是查詢效率提升并不明顯.此外,如果直接采用未優(yōu)化的HBase,由于Schema固定,難以支持靈活的半結(jié)構(gòu)化數(shù)據(jù)查詢,而且對(duì)于新增加的數(shù)據(jù),需要更新相關(guān)的索引,對(duì)于大規(guī)模的應(yīng)用及后期擴(kuò)展仍然存在問題.
實(shí)驗(yàn)中采用了流式處理的HBase以及新的Schema,歸并了查詢條件以及對(duì)應(yīng)的事件結(jié)果.實(shí)驗(yàn)結(jié)果顯示線性擴(kuò)展性較好.而且,由于支持半結(jié)構(gòu)化數(shù)據(jù),也不用更新相關(guān)索引,容納條目數(shù)多.對(duì)于查詢優(yōu)化,雖然不支持在重建或者模擬時(shí)直接加入數(shù)據(jù),但是對(duì)于性能的提升極為明顯.在實(shí)際應(yīng)用中可以與重建或者模擬程序接口,實(shí)現(xiàn)數(shù)據(jù)的自動(dòng)化增加與索引構(gòu)建.實(shí)驗(yàn)結(jié)果如圖8所示:
Fig. 8 Number of returned event and time consumed in simulated selection using HBase and new Schema圖8 經(jīng)過查詢優(yōu)化后HBase上模擬篩選返回的事例數(shù)及所用時(shí)間
4) 條件歸并效果
由圖8結(jié)果可以看出查詢條件的歸并對(duì)于性能帶來了很大的提升,主要原因是條件歸并使得HBase中的條目數(shù)量大大降低.整體范圍內(nèi)看,物理實(shí)驗(yàn)的1 400萬(wàn)個(gè)事例數(shù)據(jù),由于一個(gè)屬性需要切分成為單獨(dú)的一個(gè)條目,所以在未歸并查詢條件前在HBase中共有4200萬(wàn)條.進(jìn)行查詢條件歸并后,僅剩5 564條.具體壓縮比的效果與實(shí)驗(yàn)用例的關(guān)系圖9所示:
Fig. 9 The relationship between compaction ratio and runNo圖9 壓縮比的效果與實(shí)驗(yàn)用例的關(guān)系
其中,按照查詢條件進(jìn)行歸并壓縮的壓縮率根據(jù)實(shí)驗(yàn)的不同而不同,平均能夠到達(dá)2 486,中位數(shù)為2 402,75%的實(shí)驗(yàn)用例能夠保證壓縮率在1 049以上.
針對(duì)高能物理海量數(shù)據(jù)以及萬(wàn)億級(jí)事例管理帶來的挑戰(zhàn),本文在現(xiàn)有數(shù)據(jù)管理的基礎(chǔ)上,提出采用基于文件存儲(chǔ)和NoSQL事例特征索引融合的管理架構(gòu),設(shè)計(jì)一套面向事例的科學(xué)數(shù)據(jù)管理系統(tǒng),與原有的文件級(jí)管理方式相比,可以實(shí)現(xiàn)高效的事例索引、篩選與快速處理,提高數(shù)據(jù)分析的效率.同時(shí),由于具備面向事例的細(xì)化管理,可以克服原有數(shù)據(jù)訪問局部性差的問題,實(shí)現(xiàn)事例級(jí)的緩存,提高數(shù)據(jù)IO性能.基于事例特征索引數(shù)據(jù)庫(kù)和面向事例的數(shù)據(jù)傳輸系統(tǒng),可以支持計(jì)算任務(wù)實(shí)時(shí)訪問遠(yuǎn)程站點(diǎn)數(shù)據(jù),而不需要預(yù)先將所有文件傳輸?shù)侥繕?biāo)站點(diǎn),使得分布式計(jì)算調(diào)度更加靈活,有利于提高資源利用率.驗(yàn)證系統(tǒng)選用了真實(shí)的1 400萬(wàn)高能物理實(shí)驗(yàn)事例數(shù)據(jù)和相關(guān)特征變量,實(shí)驗(yàn)結(jié)果說明基于特征查詢和篩選具有可行性,經(jīng)過查詢優(yōu)化的HBase系統(tǒng)具有非常好的查詢性能和可擴(kuò)展性.下一步工作,我們將針對(duì)更多的高能物理實(shí)驗(yàn)和更多的事例特征變量,開展大規(guī)模的研究和測(cè)試,最終實(shí)現(xiàn)萬(wàn)億級(jí)別的事例索引和快速查詢,提高數(shù)據(jù)處理效率,更好地支撐高能物理領(lǐng)域的科學(xué)發(fā)現(xiàn)活動(dòng).
[1]Girone M, Shiers J. WLCG operations and the first prolonged LHC run[C] //Proc of the 18th Int Conf on Computing in High Energy and Nuclear Physics. Taipei: Journal of Physics Conference Series, 2011, 331: 072014
[2]Han Jing, E Haihong, Le Guan, et al. Survey on NoSQL database[C] //Proc of the 6th Int Conf on Pervasive Computing and Applications. Piscataway, NJ: IEEE, 2011: 363-366
[3]Rademakers F, Brun R. ROOT: An object-oriented data analysis framework[J]. Nuclear Instruments & Methods in Physics Research, 1998, 389(1/2): 81-86
[4]Liu Beijiang. High performance computing activities in hadron spectroscopy at BESIII[C] //Proc of the 15th Int Workshop on Advanced Computing and Analysis Techniques in Physics. Beijing: Journal of Physics Conference Series, 2014, 523: 012008
[5]Bloomfield T, Sevior M. Index files for Belle II-very small skim containers [C] //Proc of the 22nd Int Conf on Computing in High Energy and Nuclear Physics. San Francisco: IOP Publishing, 2016
[6]Cranshaw J, Goosens L, Malon D, et al. Building a scalable event-level metadata service for ATLAS[C] //Proc of the 16th Int Conf on Computing in High Energy and Nuclear Physics. Victoria, Canada: Journal of Physics Conference Series, 2008, 119: 072012
[7]Sánchez J, FernándezCasaní A, Gonzalez de la Hoz S, et al. Distributed data collection for the ATLAS eventIndex[C] //Proc of the 21st Int Conf on Computing in High Energy and Nuclear Physics. Okinawa: Journal of Physics Conference Series, 2015, 664: 042046
[8]Lei Xiaofeng, Li Qiang, Sun Gongxing. HBase-based storage and analysis platform for high energy physics data [J].Computer Engineering, 2015, 41(6): 49-55 (in Chinese)(雷曉鳳, 李強(qiáng), 孫功星. 基于HBase的高能物理數(shù)據(jù)存儲(chǔ)及分析平臺(tái)[J]. 計(jì)算機(jī)工程, 2015, 41(6): 49-55)
[9]Becla J. Improving performance of object oriented databases, BaBar case studies [C] //Proc of the 11th Int Conf in High Energy and Nuclear Physics. Padova, Italy: InSPIRE, 2001: 410-413
[10]Düllmann D. Petabyte databases[C] //Proc of Int Conf on Management of Data. New York: ACM, 1999: 506-507
[11]Li W, Liu H, Deng Z, et al. The offline software for the BESIII experiment [C] //Proc of the 15th Int Conf in High Energy and Nuclear Physics. Mumbai, India: TIFR, 2006: 225-229
[12]Zou J H, Huang X T, Li W D, et al. SNiPER: An offline software framework for non-collider physics experiments[C] //Proc of the 21st Int Conf on Computing in High Energy and Nuclear Physics. Okinawa, Japan: Journal of Physics Conference Series, 2015, 664: 072053
[13]Vora M N. Hadoop-HBase for large-scale data[C] //Proc of Int Conf on Computer Science and Network Technology. Piscataway, NJ: IEEE, 2011: 601-605
[14]Chang F, Dean J, Ghemawat S, et al. Bigtable: A distributed storage system for structured data [J]. ACM Trans on Computer Systems, 2008: 26(2): 15-28
[15]Cheng Yaodong, Wang Lu, Huang Qiulan, et al. Design and optimization of storage system in HEP computing environment[J]. Computer Science, 2015, 42(1):54-58 (in Chinese)(程耀東, 汪璐, 黃秋蘭, 等. 高能物理計(jì)算環(huán)境中存儲(chǔ)系統(tǒng)的設(shè)計(jì)與優(yōu)化[J]. 計(jì)算機(jī)科學(xué), 2015, 42(1): 54-58)
[16]Bonacorsi D, Ferrari T. WLCG service challenges and tiered architecture in the LHC era[G] //IFAE 2006: Proc of Italian Meeting on High Energy Physics. Berlin: Springer, 2007: 365-368
[17]Rehn J, Barrass T, Bonacorsi D, et al. PhEDEx data service[C] //Proc of the 17th Int Conf in High Energy and Nuclear Physics. Prague, Czech Republic: Journal of Physics Conference Series, 2010, 219: 062010
Cheng Yaodong, born in 1977. PhD and associate professor at the Institute of High Energy Physics, Chinese Academy of Sciences. His main research interests include distributed storage system, cloud computing and big data technologies.
Zhang Xiao, born in 1991. PhD candidate of Xi’an Jiaotong University. His main research interests include cloud computing, anomaly detection and big data.
Wang Peijian, born in 1984. PhD, assistant professor of Xi’an Jiaotong University. Member of CCF. His main research interests include cloud computing and big data.
Zha Li, born in 1974. PhD. Associate professor at the Institute of Computing Technology, Chinese Academy of Sciences. Member of CCF. His main research interests include distributed system, big data management system and resource management in data center.
Hou Di, born in 1960. Associate professor of Xi’an Jiaotong University. Member of CCF. His main research interests include database, middleware, big data theory and technology.
Qi Yong, born in 1957. PhD and professor of Xi’an Jiaotong University. His main research interests include operating systems, distributed systems, cloud computing, big data system and system security.
Ma Can, born in 1984. Senior engineer of the Institute of Information Engineering, Chinese Academy of Sciences. His main research interests include cloud computing and big data.
Data Management Challenges and Event Index Technologies in High Energy Physics
Cheng Yaodong1, Zhang Xiao2, Wang Peijian2, Zha Li3, Hou Di2, Qi Yong2, and Ma Can4
1(InstituteofHighEnergyPhysics,ChineseAcademyofSciences,Beijing100049)2(DepartmentofComputerScienceandTechnology,Xi’anJiaotongUniversity,Xi’an710049)3(InstituteofComputingTechnology,ChineseAcademyofSciences,Beijing100190)4(InstituteofInformationEngineering,ChineseAcademyofSciences,Beijing100193)
Nowadays, more and more scientific data has been produced by new generation high energy physics facilities. The scale of the data can be achieved to PB or EB level even by one experiment, which brings big challenges to data management technologies such as data acquisition, storage, transmission,sharing, analyzing and processing. Event is the basic data unit of high energy physics, and one large high energy physics experiment can produce trillions of events. The traditional high energy physical data processing technology adopts file as a basic data management unit, and each file contains thousands of events. The benefit of file-based method is to simplify the complexity of data management system. However, one physical analysis task is only interested in very few events, which leads to some problems including transferring too much redundant data, IO bottleneck and low efficiency of data processing. To solve these problems, this paper proposes an event-oriented high energy physical data management method, which focuses on high efficiency indexing technology of massive events. In this method, event data is still stored in ROOT file while a large amount of events are indexed by some specified properties and stored in NoSQL database. Finally,experimental test results show the feasibility of the method, and optimized HBase system can meet the requirements of event index.
high energy physics; data management; event index;HBase; query optimization
2016-11-15;
2017-01-09
國(guó)家重點(diǎn)研發(fā)計(jì)劃項(xiàng)目(2016YFB1000604) This work was supported by the National Key Research Program of China (2016YFB1000604).
TP311.133