• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      高能物理事例級(jí)數(shù)據(jù)管理與傳輸系統(tǒng)的研究

      2018-12-04 02:14:34程耀東
      關(guān)鍵詞:高能物理事例站點(diǎn)

      王 聰,徐 琪,程耀東,陳 剛

      1.中國科學(xué)院 高能物理研究所,北京 100049

      2.中國科學(xué)院大學(xué),北京 100049

      1 概述

      人類探索世界的腳步,總是永無止境的。為了理解物質(zhì)的組成和宇宙的起源,世界上開展了許多大型的高能物理和天體物理實(shí)驗(yàn),包括歐洲大型強(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)每年產(chǎn)生數(shù)十PB的數(shù)據(jù)(注:1 PB等于一百萬GB),需要數(shù)以十萬計(jì)最快的CPU對(duì)其進(jìn)行分析處理。例如,大亞灣中微子實(shí)驗(yàn)的數(shù)據(jù)超過了1 PB,北京譜儀實(shí)驗(yàn)BESIII[1]累積了5 PB的數(shù)據(jù),大型高海拔空氣簇射觀測實(shí)驗(yàn)LHAASO每年將產(chǎn)生2 PB的數(shù)據(jù),2015年重新運(yùn)行的大型強(qiáng)子對(duì)撞機(jī)LHC每年產(chǎn)生25 PB數(shù)據(jù),正在規(guī)劃中的中國環(huán)形正負(fù)電子對(duì)撞機(jī)CEPC每年產(chǎn)生的數(shù)據(jù)量將達(dá)到近千個(gè)PB。同時(shí),這些數(shù)據(jù)還要提供給全世界的物理學(xué)家進(jìn)行分析,需要海量數(shù)據(jù)跨地域管理、共享和快速傳輸。

      高能物理數(shù)據(jù)處理過程包括探測器記錄事例,產(chǎn)生原始數(shù)據(jù),事例重建和數(shù)據(jù)分析。事例為一次粒子對(duì)撞或者一次粒子間的相互作用,其為粒子物理研究的基本對(duì)象,包含了條件參數(shù)以及相關(guān)的物理量,比如光子數(shù)、帶電徑跡數(shù)、電子數(shù)等,一個(gè)大型高能物理實(shí)驗(yàn)可以產(chǎn)生數(shù)十億甚至萬億級(jí)別數(shù)量的事例。探測器記錄事例,產(chǎn)生原始數(shù)據(jù),以二進(jìn)制格式記錄探測器信號(hào),由計(jì)算機(jī)產(chǎn)生模擬實(shí)驗(yàn)的蒙特卡羅模擬數(shù)據(jù)進(jìn)行數(shù)字化。事例重建過程讀出Raw/MC Raw數(shù)據(jù),處理后產(chǎn)生相關(guān)物理信息,如動(dòng)量、對(duì)撞頂點(diǎn)等。

      傳統(tǒng)高能物理數(shù)據(jù)處理以ROOT文件為基本存儲(chǔ)和處理單位,每個(gè)ROOT文件可以包含數(shù)千至數(shù)億個(gè)事例。這種基于文件的處理方式雖然降低了高能物理數(shù)據(jù)管理系統(tǒng)的開發(fā)難度,但隨著實(shí)驗(yàn)數(shù)據(jù)的飛速增長以及新技術(shù)的出現(xiàn),這種傳統(tǒng)的數(shù)據(jù)存儲(chǔ)和處理方式也暴露出越來越多的問題。傳統(tǒng)的文件級(jí)管理面臨的挑戰(zhàn)為:全數(shù)據(jù)掃描,篩選時(shí)間長;基于文件的緩存效率低;基于文件的傳輸Overhead高。在實(shí)際的高能物理數(shù)據(jù)分析過程中,大部分的數(shù)據(jù)都是物理學(xué)家們不感興趣的數(shù)據(jù),而且通過一些條件即可過濾掉,如果條件設(shè)置得當(dāng),該系統(tǒng)能夠幫助物理學(xué)家篩選掉甚至99.9%的不感興趣的數(shù)據(jù)。這樣不僅可以節(jié)省I/O資源,還能提高CPU利用率,減少數(shù)據(jù)分析耗時(shí)。提出一種面向事例的高能物理數(shù)據(jù)管理方法,重點(diǎn)研究海量事例特征高效索引技術(shù),在這種方法中,將物理學(xué)家感興趣的事例特征量抽取出來建立專門的索引,存儲(chǔ)在NoSQL[2]數(shù)據(jù)庫中。為便于物理分析處理,事例的原始數(shù)據(jù)仍然存放在ROOT文件中。最后,通過系統(tǒng)驗(yàn)證和分析表明,基于事例特征索引進(jìn)行事例篩選是可行的,優(yōu)化后的HBase系統(tǒng)可以滿足事例索引的需求。

      大型高能物理實(shí)驗(yàn)往往由國際合作單位共同貢獻(xiàn)資源形成分布式計(jì)算系統(tǒng),比如WLCG、BES Grid等。傳統(tǒng)的計(jì)算方式是事先將數(shù)據(jù)傳輸?shù)侥繕?biāo)站點(diǎn),然后再將計(jì)算任務(wù)調(diào)度過去運(yùn)行。隨著網(wǎng)絡(luò)帶寬的提升,全網(wǎng)調(diào)度計(jì)算任務(wù),數(shù)據(jù)遠(yuǎn)程訪問成為未來的發(fā)展趨勢(shì)。歐洲大型強(qiáng)子對(duì)撞機(jī)產(chǎn)生海量數(shù)據(jù)便是由WLCG[3](World wide LHC Computing Grid)負(fù)責(zé)存儲(chǔ)和處理的。在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)。不同于WLCG預(yù)先傳輸文件,面向事例的數(shù)據(jù)傳輸系統(tǒng)僅傳輸物理分析程序所感興趣的事例,所需數(shù)據(jù)量大幅降低,隨著網(wǎng)絡(luò)帶寬不斷提升,將可以支持計(jì)算任務(wù)實(shí)時(shí)傳輸數(shù)據(jù)。數(shù)據(jù)傳輸系統(tǒng)由數(shù)據(jù)傳輸服務(wù)器和數(shù)據(jù)傳輸客戶端兩部分組成,分別運(yùn)行在不同的站點(diǎn)。數(shù)據(jù)傳輸服務(wù)器負(fù)責(zé)數(shù)據(jù)的存儲(chǔ)和對(duì)請(qǐng)求的響應(yīng)。在服務(wù)器端應(yīng)用了多進(jìn)程并發(fā)處理機(jī)制,實(shí)現(xiàn)高效的用戶請(qǐng)求響應(yīng)。運(yùn)行在遠(yuǎn)程站點(diǎn)的高能物理數(shù)據(jù)處理軟件在做物理分析時(shí)不用考慮數(shù)據(jù)是否在本地站點(diǎn),它可以通過ROOT[4]框架或者本地文件系統(tǒng)接口來訪問所需要的事例數(shù)據(jù)。為提升數(shù)據(jù)訪問性能,在數(shù)據(jù)傳輸客戶端設(shè)置了基于事例和數(shù)據(jù)塊的緩存系統(tǒng)。數(shù)據(jù)傳輸基于HTTP協(xié)議,支持分塊、多流及斷點(diǎn)續(xù)傳等功能。并基于Oauth授權(quán)進(jìn)行安全保障。系統(tǒng)測試結(jié)果表明,在網(wǎng)絡(luò)帶寬良好的環(huán)境里,帶寬利用率可以達(dá)到90%左右。

      設(shè)計(jì)實(shí)現(xiàn)了事例級(jí)高能物理實(shí)驗(yàn)數(shù)據(jù)的跨域訪問緩存系統(tǒng)進(jìn)行跨站點(diǎn)數(shù)據(jù)緩存。物理學(xué)家進(jìn)行實(shí)驗(yàn)作業(yè)分析時(shí),不需要將整個(gè)DST文件下載到本地。將事例請(qǐng)求發(fā)送至緩存服務(wù)器后,緩存服務(wù)器向遠(yuǎn)程站點(diǎn)發(fā)送請(qǐng)求,之后以事例為級(jí)別進(jìn)行HTTP多流傳輸至本地緩存,并返回至客戶端。對(duì)客戶端來說,所有操作都是在緩存服務(wù)器上進(jìn)行,遠(yuǎn)程站點(diǎn)是透明化的。緩存服務(wù)器提供了按需訪問、動(dòng)態(tài)調(diào)度的新型高能物理數(shù)據(jù)跨域訪問模式,系統(tǒng)訪問及傳輸以事例為單位,大大地減少了資源浪費(fèi),提高了作業(yè)處理效率。同時(shí)客戶端數(shù)據(jù)緩存系統(tǒng)提供了統(tǒng)一數(shù)據(jù)管理、遠(yuǎn)程站點(diǎn)統(tǒng)一文件視圖,為用戶提供了本地化操作模式。緩存系統(tǒng)中設(shè)計(jì)了用戶操作日志分析模塊,以syslog模式抓取用戶對(duì)于數(shù)據(jù)分析的記錄,通過近期數(shù)據(jù)分析,實(shí)現(xiàn)數(shù)據(jù)預(yù)取來增強(qiáng)系統(tǒng)讀性能。在整個(gè)緩存系統(tǒng)模塊中應(yīng)用了多進(jìn)程并發(fā)處理機(jī)制,實(shí)現(xiàn)高效的用戶消息處理模式和高性能的讀寫調(diào)度架構(gòu)。系統(tǒng)中客戶端與服務(wù)器端通信都采用了高能物理計(jì)算中通用的XROOTD架構(gòu),具有較強(qiáng)的普適性與通用性,更好地與高能物理實(shí)驗(yàn)分析作業(yè)相結(jié)合。

      提高現(xiàn)有系統(tǒng)的處理效率并不是一個(gè)簡單的任務(wù),存在諸多挑戰(zhàn):(1)文件格式的存儲(chǔ)方式未提供有效的屬性查詢功能,致使事例檢索效率非常低下。當(dāng)物理學(xué)家檢索事例時(shí),關(guān)心的屬性只有少數(shù)幾個(gè),關(guān)心的事例也通常少于原始數(shù)據(jù)的1/100,甚至1/1 000 000。但針對(duì)文件進(jìn)行檢索,需要訪問某一范圍內(nèi)的所有文件,并讀取每個(gè)事例的所有屬性值。大量的I/O操作都是無用的。(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),長期以來形成了獨(dú)立的體系,系統(tǒng)不能對(duì)這些應(yīng)用軟件造成太大的影響。基于以上內(nèi)容,該系統(tǒng)整體架構(gòu)如圖1所示,其處于高能物理數(shù)據(jù)處理軟件如BOSS(BESIII Offline Software System)[5],Sniper(Software for Noncollider Physics Experiments)[6]等和存儲(chǔ)實(shí)驗(yàn)數(shù)據(jù)的存儲(chǔ)系統(tǒng)之間,如Lustre,Gluster等分布式文件系統(tǒng)。

      圖1 面向事例的數(shù)據(jù)管理系統(tǒng)架構(gòu)

      本文首先介紹高能物理的數(shù)據(jù)處理流程以及面向事例管理的相關(guān)工作,然后重點(diǎn)介紹數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),最后給出系統(tǒng)驗(yàn)證與分析結(jié)果,分析性能提升的原因。

      2 相關(guān)背景

      2.1 高能物理數(shù)據(jù)處理流程

      高能物理數(shù)據(jù)處理的主要過程如圖2所示。探測器產(chǎn)生的原始數(shù)據(jù)保存到分布式存儲(chǔ)系統(tǒng)中。原始數(shù)據(jù)非常寶貴,通常要做多份備份保存,并且一般不對(duì)最終用戶開放。蒙特卡洛模擬程序根據(jù)理論物理模型以及探測器的特征,模擬產(chǎn)生數(shù)據(jù)。事例重建程序讀取原始數(shù)據(jù)或者模擬數(shù)據(jù),進(jìn)行與探測器相關(guān)的重建,產(chǎn)生刻度常數(shù)與重建數(shù)據(jù)。重建數(shù)據(jù)對(duì)最終用戶開放,用戶使用物理分析程序讀取重建數(shù)據(jù),進(jìn)行相應(yīng)的數(shù)據(jù)分析與挖掘,產(chǎn)生物理成果,包括圖表、論文等。

      圖2 高能物理數(shù)據(jù)處理過程

      從圖2中可以看出,高能物理數(shù)據(jù)處理主要包括模擬計(jì)算、重建計(jì)算以及物理分析等計(jì)算類型。每種計(jì)算類型各有其特點(diǎn),模擬計(jì)算需要很少的輸入,主要消耗大量的CPU資源,產(chǎn)生大量數(shù)據(jù)。從探測器建設(shè)到運(yùn)行,一直到產(chǎn)生物理成果,都離不開模擬計(jì)算,因此CPU需求量很大。在模擬計(jì)算中,粒子在加速器中經(jīng)高速對(duì)撞后產(chǎn)生的信息會(huì)被傳感器捕獲,篩選后傳給離線系統(tǒng),以文件的形式保存在磁盤系統(tǒng)中,在磁帶庫中進(jìn)行永久保存,并在隨機(jī)讀寫存儲(chǔ)系統(tǒng)中進(jìn)行緩存,即為由事例組成的原始數(shù)據(jù)。事例重建用來處理探測器產(chǎn)生的原始數(shù)據(jù)與模擬計(jì)算產(chǎn)生的模擬數(shù)據(jù),需要讀入和寫入大量數(shù)據(jù),對(duì)I/O和CPU需求都比較大,實(shí)時(shí)性要求比較高,該步驟是物理分析的基礎(chǔ)。事例重建即為原始數(shù)據(jù)借助對(duì)撞和取數(shù)時(shí)的參數(shù)進(jìn)行的,重建后的數(shù)據(jù)保存為ROOT格式的DST文件,軟件版本不同,重建過程有可能進(jìn)行多次,用版本號(hào)加以區(qū)分。物理分析由最終用戶,也就是物理學(xué)家發(fā)起,讀取重建數(shù)據(jù),進(jìn)行數(shù)據(jù)處理和分析,這一步驟主要工作大都從海量重建數(shù)據(jù)篩選出稀有事例,對(duì)系統(tǒng)的I/O要求很高。物理分析會(huì)生成ROOT文件,用于繪制圖表。

      目前,高能物理以文件為單位進(jìn)行數(shù)據(jù)管理與計(jì)算,高能物理計(jì)算系統(tǒng)的結(jié)構(gòu)如圖3所示。文件由多個(gè)事例組成。事例相互獨(dú)立,多個(gè)文件可以在不同機(jī)器上處理,無需通信。即采用集群計(jì)算系統(tǒng),并采用計(jì)算和存儲(chǔ)相分離的模式,如圖3所示,I/O服務(wù)器為分布式存儲(chǔ)系統(tǒng)管理,如Lustre,gluster等。計(jì)算節(jié)點(diǎn)通過HTCondor等批處理作業(yè)系統(tǒng)來管理[7-8]。

      圖3 高能物理計(jì)算系統(tǒng)結(jié)構(gòu)

      圖4 高能物理文件級(jí)管理與事例管理對(duì)比圖

      傳統(tǒng)的文件級(jí)管理面臨著很多問題。用戶訪問的Dst文件中包括眾多事例,事例之間相互獨(dú)立。例如,605 MB的dst文件中包含15萬個(gè)事例。當(dāng)用戶需要訪問某個(gè)事例時(shí),系統(tǒng)需要將整個(gè)文件進(jìn)行掃描,然后讀取需要的事例[9],篩選時(shí)間長。對(duì)于用戶訪問度高的事例進(jìn)行緩存,則需要緩存整個(gè)文件,緩存效率很低。并且進(jìn)行跨域訪問傳輸時(shí),需要將整個(gè)文件進(jìn)行傳輸,代價(jià)高。如圖4,該系統(tǒng)由傳統(tǒng)的文件級(jí)的數(shù)據(jù)管理轉(zhuǎn)變?yōu)槭吕?jí)的數(shù)據(jù)管理方式,可以很好地解決文件級(jí)管理在事例篩選,讀取,并行處理,緩存,傳輸?shù)确矫娴膯栴}。

      利用strace命令對(duì)于分析作業(yè)的運(yùn)行過程進(jìn)行跟蹤分析后發(fā)現(xiàn),如圖5所示,橫軸為運(yùn)行時(shí)間,縱軸為讀取文件的位置??梢钥闯?,讀取500 MB的文件,在0.2 s的時(shí)間里,文件跳讀可以達(dá)到107B。結(jié)果表明,高能物理的分析作業(yè)處理過程中,對(duì)于Dst文件的跳讀行為是非常嚴(yán)重的。經(jīng)統(tǒng)計(jì)發(fā)現(xiàn),文件只有4.6%的數(shù)據(jù)可以被讀取到。因此,事例級(jí)的數(shù)據(jù)管理和事例遠(yuǎn)程透明訪問與傳輸是非常有必要的。

      圖5 Dst文件讀取日志分析

      2.2 面向事例管理與傳輸?shù)南嚓P(guān)工作

      網(wǎng)格技術(shù)將跨域站點(diǎn)的存儲(chǔ)、計(jì)算資源共享形成一個(gè)具有巨大存儲(chǔ)能力的分布式數(shù)據(jù)網(wǎng)絡(luò)。網(wǎng)格系統(tǒng)具有十分龐大的規(guī)模和數(shù)據(jù)共享能力,但是也有著很大的局限性。首先網(wǎng)格系統(tǒng)中需要為實(shí)驗(yàn)作業(yè)預(yù)先分配計(jì)算、存儲(chǔ)資源,使得系統(tǒng)資源難以充分利用。其次,系統(tǒng)中的數(shù)據(jù)文件需要全部傳輸至本地后計(jì)算分析,調(diào)度十分不靈活并且基于文件的傳輸中有大量無用事例,形成了大量的資源浪費(fèi)。最后網(wǎng)格系統(tǒng)使用GridFTP協(xié)議進(jìn)行跨域數(shù)據(jù)傳輸,GridFTP協(xié)議復(fù)雜需要多端口配置,而且無法穿透防火墻,運(yùn)行維護(hù)代價(jià)較高[10]。

      除網(wǎng)格計(jì)算系統(tǒng)外,目前高能物理計(jì)算環(huán)境中使用的跨域數(shù)據(jù)訪問系統(tǒng),主要有分布式EOS進(jìn)行小范圍站點(diǎn)間的數(shù)據(jù)共享,CVMFS(CERN Virtual Machine File System)進(jìn)行高能物理實(shí)驗(yàn)軟件共享。分布式EOS采用replica策略進(jìn)行數(shù)據(jù)文件跨域傳輸,不同客戶端通過IP標(biāo)示,被選擇與最近服務(wù)器站點(diǎn)進(jìn)行通信,若該服務(wù)端有相應(yīng)數(shù)據(jù)文件則傳輸至客戶端,若不存在服務(wù)器從其他服務(wù)器端拉取文件后再傳輸至客戶端。CVMFS設(shè)計(jì)目標(biāo)為高能物理實(shí)驗(yàn)軟件的跨域分發(fā),基于FUSE將web目錄以本地磁盤的方式掛載到本地,客戶端只需要在第一次訪問時(shí)下載必要的庫,基于HTTP協(xié)議進(jìn)行數(shù)據(jù)傳輸,它支持只讀模式,在應(yīng)用層設(shè)置了cache緩存加速web目錄讀速度。無論是分布式EOS或者網(wǎng)格技術(shù)[11]都有自己固定的應(yīng)用場景,受到應(yīng)用和設(shè)計(jì)的限制,都無法實(shí)現(xiàn)基于事例級(jí)的實(shí)驗(yàn)數(shù)據(jù)跨域高速訪問。

      實(shí)驗(yàn)發(fā)現(xiàn),時(shí)延越大,文件系統(tǒng)的I/O性能越低,如圖6,7所示。一般局域網(wǎng)的時(shí)延在1 ms以下,而中國到歐洲的廣域網(wǎng)時(shí)延能達(dá)到200 ms左右,在這種情況直接使用文件系統(tǒng)I/O訪問基本無法工作,急需研究高帶寬的遠(yuǎn)程I/O訪問技術(shù)。

      圖6 相同帶寬條件下隨著時(shí)延增加I/O性能快速下降

      圖7 I/O成為分布式文件系統(tǒng)的瓶頸

      3 面向事例的數(shù)據(jù)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

      3.1 事例特征抽取及查詢條件歸并

      物理數(shù)據(jù)封裝在ROOT等高能物理數(shù)據(jù)框架的數(shù)據(jù)對(duì)象中,預(yù)先將事例粒度的相關(guān)特征數(shù)據(jù)提取出來可以快速查找到相關(guān)的物理事例。事例特征抽取根據(jù)不同的實(shí)驗(yàn),不同格式的數(shù)據(jù)文件將對(duì)物理學(xué)家有意義的特征變量進(jìn)行提取,并存儲(chǔ)在事例索引數(shù)據(jù)庫中。

      事例特征抽取模塊根據(jù)不同的實(shí)驗(yàn),物理學(xué)家的不同需求,抽取出對(duì)于物理實(shí)驗(yàn)數(shù)據(jù)處理有意義的特征量。如對(duì)于BESIII(北京譜儀)實(shí)驗(yàn)中,特征量有運(yùn)行號(hào)、事例號(hào)、總徑跡數(shù)、總帶電徑跡數(shù)、總不帶電徑跡數(shù)、好的光子數(shù)、好的正負(fù)帶電徑跡數(shù)等16個(gè)特征屬性。根據(jù)用戶的定義,將其存儲(chǔ)到索引數(shù)據(jù)庫中。

      高能物理單個(gè)實(shí)驗(yàn)的事例數(shù)量可以達(dá)到百億甚至萬億級(jí)別,事例屬性幾十個(gè)到幾百個(gè),其并發(fā)訪問數(shù)量也非常高。根據(jù)高能物理實(shí)驗(yàn)的特點(diǎn),該系統(tǒng)采用HBase集群來構(gòu)建索引數(shù)據(jù)庫。HBase[12]采用按字典序排序的索引結(jié)構(gòu)構(gòu)建主鍵,并在內(nèi)存中進(jìn)行緩存[13],則其可以提供很好的查詢效率。該系統(tǒng)采用將事例屬性名和值均存儲(chǔ)在Rowkey中,從而可以在主鍵上進(jìn)行二分查找。并將滿足相同查詢條件的事例歸并到HBase的一條記錄中,作為一次查詢結(jié)果返回。目前eventdb中的rowkey為運(yùn)行號(hào),屬性名,屬性值,列組中存儲(chǔ)的為事例文件名和事例號(hào)的集合。則用戶根據(jù)rowkey中的值一次性查到事例的集合。

      該模塊入庫過程如圖8所示,一般情況下,寫入HBase中的高能物理數(shù)據(jù)可被重復(fù)利用,因此這部分工作小號(hào)的時(shí)間將不被計(jì)入平臺(tái)分析性能評(píng)估中。其中,EventDB主要記錄事例的基本信息,如RunID,EventID,F(xiàn)ileID,VersionID,這些主要的事例信息由物理學(xué)家進(jìn)行定義,并可以利用數(shù)據(jù)庫建立多維索引,根據(jù)不同的實(shí)驗(yàn)組建立TAGSET,提高查詢性能。FileDB中記錄文件邏輯名和物理名的對(duì)應(yīng)關(guān)系,該數(shù)據(jù)庫中的信息由掃描分布式文件系統(tǒng)中的DST文件產(chǎn)生。

      圖8 數(shù)據(jù)入庫流程

      從高能物理數(shù)據(jù)的使用者的角度看,EventDB目前主要提供了命令行接口以供使用。EventDB首先通過特征抽取和數(shù)據(jù)導(dǎo)入工具為原始存儲(chǔ)于磁盤以及磁帶上的事例數(shù)據(jù)建立索引,然后根據(jù)用戶實(shí)際的要求提供給用戶所需的事例數(shù)據(jù)。用戶可以根據(jù)這些文件做物理分析。

      3.2 面向事例的數(shù)據(jù)緩存

      根據(jù)研究發(fā)現(xiàn),物理學(xué)家感興趣的數(shù)據(jù)會(huì)形成一定的訪問模式,在一次分析實(shí)驗(yàn)中,只會(huì)訪問到很少感興趣的事例。這些事例分布在不同的ROOT文件中。為此該系統(tǒng)在服務(wù)器端引入面向事例的緩存系統(tǒng),在SSD或內(nèi)存中將訪問次數(shù)高的事例數(shù)據(jù)緩存起來,從而減少I/O開銷。通過序列化反序列化的技術(shù),進(jìn)行事例的讀取,從而減少了在底層存儲(chǔ)系統(tǒng)的讀取開銷,其架構(gòu)如圖9所示。

      圖9 數(shù)據(jù)緩存系統(tǒng)架構(gòu)

      3.3 面向事例的跨域數(shù)據(jù)訪問與數(shù)據(jù)傳輸系統(tǒng)

      傳統(tǒng)的ftp文件服務(wù)器在廣域網(wǎng)文件傳輸效率很低,傳輸層協(xié)議發(fā)展,tcp協(xié)議層目前對(duì)于文件傳輸廣泛采取的ftp,gridftp,bit torrent等應(yīng)用層。Bit torrent是架構(gòu)于tcp/ip協(xié)議之上的一個(gè)P2P文件傳輸協(xié)議,處于TCP/IP結(jié)構(gòu)的應(yīng)用層。網(wǎng)格技術(shù)大部分為使用FTP協(xié)議需要單獨(dú)配置賬號(hào)。如果對(duì)權(quán)限控制敏感的系統(tǒng),用戶量大則導(dǎo)致維護(hù)工作量非常大。由于廣域網(wǎng)大多數(shù)的路由、網(wǎng)關(guān)設(shè)備和防火墻都提供對(duì)HTTP這種通用文件傳輸協(xié)議的支持?;趆ttp協(xié)議實(shí)現(xiàn)分布式文件傳輸系統(tǒng)可以提高整個(gè)架構(gòu)的兼容性。

      圖10 跨域數(shù)據(jù)訪問系統(tǒng)架構(gòu)

      在高能物理領(lǐng)域,每一個(gè)科學(xué)裝置都會(huì)產(chǎn)生大量的實(shí)驗(yàn)數(shù)據(jù),通常為PB級(jí),物理學(xué)家通過分析這些數(shù)據(jù)而得出物理發(fā)現(xiàn)。目前,這些數(shù)據(jù)通常在專用的數(shù)據(jù)中心(稱為主站點(diǎn))集中存儲(chǔ),全世界的物理學(xué)家通過遠(yuǎn)程提交作業(yè)的方式在該站點(diǎn)運(yùn)行計(jì)算、分析任務(wù)。如WLCG(Worldwide LHC Computing Grid)就是負(fù)責(zé)存儲(chǔ)和處理歐洲大型強(qiáng)子對(duì)撞機(jī)的海量數(shù)據(jù)。WlCG采用了三級(jí)站點(diǎn)的網(wǎng)格形式,預(yù)先將數(shù)據(jù)傳輸?shù)接?jì)算站點(diǎn),這種傳統(tǒng)的計(jì)算模式無法利用物理學(xué)家所在機(jī)構(gòu)(稱為分站點(diǎn))的計(jì)算資源,造成極大浪費(fèi)。隨著網(wǎng)絡(luò)帶寬增高,全網(wǎng)調(diào)度計(jì)算任務(wù),數(shù)據(jù)遠(yuǎn)程訪問成為未來的發(fā)展趨勢(shì)[14]。為了充分利用分站點(diǎn)的計(jì)算資源,需將實(shí)驗(yàn)數(shù)據(jù)傳輸至本地進(jìn)行計(jì)算。然而,分站點(diǎn)通常沒有充足的存儲(chǔ)資源存放全部實(shí)驗(yàn)數(shù)據(jù)的完整拷貝。因此,該系統(tǒng)實(shí)時(shí)地將物理學(xué)家感興趣的數(shù)據(jù)傳輸?shù)椒终军c(diǎn),定義并實(shí)現(xiàn)了跨域、跨站點(diǎn)示例數(shù)據(jù)訪問接口,實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)的透明訪問,支持跨域的數(shù)據(jù)查詢、目錄列表。實(shí)現(xiàn)海量數(shù)據(jù)的跨地域統(tǒng)一視圖管理。

      下面就該數(shù)據(jù)訪問與傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行具體介紹。

      圖10為該跨域高能物理數(shù)據(jù)訪問系統(tǒng)的整體架構(gòu)。該系統(tǒng)不會(huì)改變?cè)形锢矸治鲕浖墓ぷ髁鞒獭;赬ROOTD Client提供接口給物理分析軟件。XROOTD Client接收到用戶讀取事例或文件的請(qǐng)求后,會(huì)向Cached發(fā)送查詢請(qǐng)求。Cached在Metad中進(jìn)行元數(shù)據(jù)的查詢,如果本地存在該事例或文件,則返回相關(guān)信息給XROOTD Client,XROOTD Client在XROOTD Server中讀取相關(guān)信息返回給物理軟件。如果Cached查詢后沒有該事例或文件,則Cached向數(shù)據(jù)傳輸服務(wù)Transferd發(fā)起數(shù)據(jù)傳輸請(qǐng)求,從遠(yuǎn)程站點(diǎn)進(jìn)行傳輸,然后將Metad進(jìn)行更新,并將數(shù)據(jù)寫入到Xrootd Server,通知XROOTD Client到XROOTD Server中進(jìn)行數(shù)據(jù)讀取。

      該傳輸系統(tǒng)的架構(gòu)如圖11所示。

      圖11 數(shù)據(jù)傳輸系統(tǒng)架構(gòu)

      數(shù)據(jù)傳輸系統(tǒng)由數(shù)據(jù)傳輸服務(wù)器和數(shù)據(jù)傳輸客戶端兩部分組成,可以進(jìn)行事例、文件的傳輸,也可以通過相關(guān)插件進(jìn)行不同存儲(chǔ)形式的數(shù)據(jù)傳輸。在不同的站點(diǎn)運(yùn)行,用戶在運(yùn)行作業(yè)時(shí)不需要了解事例數(shù)據(jù)是否在本地站點(diǎn),可以通過ROOT框架或者本地文件系統(tǒng)的接口來訪問需要的事例數(shù)據(jù)。用戶先在本地的事例緩存中進(jìn)行事例的讀取,如果沒有相關(guān)數(shù)據(jù),則由事例緩存服務(wù)器cached向事例傳輸客戶端發(fā)送事例讀取請(qǐng)求,事例緩存服務(wù)器和事例傳輸客戶端可以在不同的機(jī)器上。事例傳輸客戶端接收到請(qǐng)求后,向事例傳輸服務(wù)器發(fā)起請(qǐng)求,服務(wù)器在數(shù)據(jù)存儲(chǔ)系統(tǒng)或事例緩存中將事例數(shù)據(jù)序列化后傳輸?shù)娇蛻舳???蛻舳嗽谶M(jìn)行反序列化后以對(duì)象的方式返回給處理軟件。當(dāng)然,該傳輸系統(tǒng)還支持文件的分塊傳輸,可以根據(jù)用戶的需求將完整的dst文件進(jìn)行傳輸,也可以根據(jù)用戶請(qǐng)求的文件位置和大小進(jìn)行部分文件傳輸。

      圖12 數(shù)據(jù)傳輸系統(tǒng)核心組件

      該傳輸系統(tǒng)基于Tornado進(jìn)行數(shù)據(jù)傳輸服務(wù)器和數(shù)據(jù)傳輸客戶端的實(shí)現(xiàn)。Tornado是FriendFeed使用的可擴(kuò)展的非阻塞式web服務(wù)器及其相關(guān)工具的開源版本,是屬于facebook的一個(gè)開源項(xiàng)目。Tornado和現(xiàn)在的主流Web服務(wù)器框架有著明顯的區(qū)別:它是非阻塞式服務(wù)器,而且速度相當(dāng)快。得利于其非阻塞的方式和對(duì)epoll的運(yùn)用,Tornado每秒可以處理數(shù)以千計(jì)的連接。在數(shù)據(jù)傳輸服務(wù)器端使用nginx提供負(fù)載均衡、反向代理服務(wù),可以部署多個(gè)Tornado實(shí)例響應(yīng)客戶端的請(qǐng)求,通過Supervisor對(duì)服務(wù)進(jìn)程進(jìn)行監(jiān)控管理。針對(duì)該傳輸系統(tǒng),對(duì)tornado的架構(gòu)進(jìn)行改良,框架如圖12所示。最底層的EVENT層處理IO事件,TCP層實(shí)現(xiàn)了TCP服務(wù)器,負(fù)責(zé)數(shù)據(jù)傳輸,HTTP/HTTPS層基于HTTP協(xié)議實(shí)現(xiàn)了HTTP服務(wù)器和客戶端,最上層為WEB框架,包含了處理器、模板、數(shù)據(jù)庫連接、認(rèn)證、本地化等等WEB框架需要具備的功能。數(shù)據(jù)傳輸服務(wù)器和客戶端主要針對(duì)RequestHandler進(jìn)行設(shè)計(jì)實(shí)現(xiàn),RequestHandler提供了一個(gè)針對(duì)http請(qǐng)求處理的基類封裝,主要有以下功能:

      (1)提供了GET/HEAD/POST/DELETE/PATCH/PUT/OPTIONS等方法的功能接口,平臺(tái)實(shí)現(xiàn)時(shí)RequestHandler的子類重寫這些方法以支持不同需求的請(qǐng)求處理,例如對(duì)root文件的組裝,讀取。

      (2)提供對(duì)http請(qǐng)求的處理方法,包括對(duì)headers等的處理。

      (3)提供對(duì)請(qǐng)求響應(yīng)的一些列功能,包括redirect,write,將數(shù)據(jù)寫入輸出緩沖區(qū)等。

      (4)其他的一些輔助功能,如結(jié)束請(qǐng)求/響應(yīng),刷新輸出緩沖區(qū),對(duì)用戶授權(quán)相關(guān)處理等。

      該系統(tǒng)不僅可以通過和事例數(shù)據(jù)庫,事例緩存接口對(duì)接進(jìn)行事例的傳輸,還可以進(jìn)行文件的上傳和下載。在文件上傳時(shí),客戶端指定上傳地址,文件名等信息,服務(wù)器端進(jìn)行權(quán)限的判斷,請(qǐng)求的響應(yīng),數(shù)據(jù)寫入并將服務(wù)器端文件的元數(shù)據(jù)信息進(jìn)行更新并返回。數(shù)據(jù)上傳部分基于Asynchronous http client實(shí)現(xiàn)非阻塞的客戶端請(qǐng)求,并運(yùn)用了tornadostreamform的相關(guān)方法進(jìn)行數(shù)據(jù)流的處理。數(shù)據(jù)下載時(shí),客戶端發(fā)送數(shù)據(jù)下載請(qǐng)求,指定服務(wù)器地址端口號(hào),文件名,下載位置,uid,gid,position,下載文件大小等信息。服務(wù)器端收到請(qǐng)求后進(jìn)行權(quán)限的判斷,請(qǐng)求的響應(yīng),并進(jìn)行數(shù)據(jù)的發(fā)送。在數(shù)據(jù)上傳和下載時(shí),均根據(jù)網(wǎng)絡(luò)帶寬和請(qǐng)求的數(shù)據(jù)量進(jìn)行數(shù)據(jù)流的劃分,多流是基于Python的threading包在客戶端實(shí)現(xiàn)的。

      4 數(shù)據(jù)傳輸系統(tǒng)驗(yàn)證與分析

      4.1 實(shí)驗(yàn)條件

      本文在現(xiàn)有環(huán)境里進(jìn)行了數(shù)據(jù)傳輸效率的測試。測試環(huán)境為:服務(wù)器端在中國科學(xué)院高能物理研究所,節(jié)點(diǎn)為8*Intel?Xeon?CPU E5-2407 v2@2.40 GHz。supervisor啟動(dòng)兩個(gè)進(jìn)程進(jìn)行請(qǐng)求的響應(yīng),啟動(dòng)nginx進(jìn)行反向代理。客戶端在成都情報(bào)中心,節(jié)點(diǎn)為2*QEMU Virtual CPU version 2.4.1。

      4.2 實(shí)驗(yàn)結(jié)果分析

      數(shù)據(jù)經(jīng)哈希MD5校驗(yàn),均保證其正確性。

      隨著網(wǎng)絡(luò)帶寬的提升,全網(wǎng)調(diào)度計(jì)算任務(wù),數(shù)據(jù)遠(yuǎn)程訪問成為未來的發(fā)展趨勢(shì)。一般局域網(wǎng)的時(shí)延在1 ms以下,而中國到歐洲的廣域網(wǎng)實(shí)驗(yàn)?zāi)苓_(dá)到200 ms左右。通過tc命令對(duì)網(wǎng)絡(luò)時(shí)延進(jìn)行設(shè)定,如圖13~15所示,分別加了1 ms到100 ms的網(wǎng)絡(luò)時(shí)延。并對(duì)EOS,lustre,transferd進(jìn)行了性能測試,Lustre,eos的測試在萬兆以太網(wǎng)下進(jìn)行,讀寫塊大小設(shè)置為1 MB,測試大小為700 MB的Dst物理分析文件。對(duì)transferd的測試環(huán)境通過iperf測得為950 Mbit/s,文件大小同樣為700 MB。測試結(jié)果如圖13~15。

      通過對(duì)比發(fā)現(xiàn),隨著網(wǎng)絡(luò)延遲的增加,分布式文件系統(tǒng)性能下降特別明顯,基本是無法正常工作的。但是transferd隨延遲增加,性能下降程度是可以接受的。

      Transferd的讀取性能隨線程數(shù)的影響測試結(jié)果如圖16。

      圖13 Lustre讀取性能隨時(shí)延的影響

      圖14 EOS讀取性能隨時(shí)延的影響

      圖15 Transferd讀取性能隨時(shí)延的影響

      圖16 讀取性能與隨線程的影響

      千兆網(wǎng)環(huán)境下,讀取800 MB的Dst物理分析數(shù)據(jù),橫軸為線程數(shù),縱軸為執(zhí)行時(shí)間。可以看出,數(shù)據(jù)讀寫帶寬可以達(dá)到70 MB/s左右。對(duì)于多流性能的優(yōu)化會(huì)進(jìn)一步的研究。該性能和EOS遠(yuǎn)程文件系統(tǒng)讀取4 MB/s,寫入15 MB/s的性能相比,有很大的提升。

      5 結(jié)束語

      基于目前高能物理海量數(shù)據(jù)帶來的挑戰(zhàn),本文提出了新的數(shù)據(jù)管理方式。并在該數(shù)據(jù)管理方式上,詳細(xì)介紹了關(guān)于數(shù)據(jù)傳輸部分的實(shí)現(xiàn)與測試結(jié)果。提出了文件和NoSQL數(shù)據(jù)庫結(jié)合管理的事例管理架構(gòu),作為一種新型的高能物理事例管理系統(tǒng)架構(gòu),有效地解決了傳統(tǒng)基于文件處理的資源浪費(fèi)和效率低下問題。同時(shí)緩存服務(wù)器將遠(yuǎn)程站點(diǎn)的數(shù)據(jù)以本地化的模式提供給用戶,提供了便捷高效的數(shù)據(jù)處理模式。下一步將針對(duì)更多的高能物理實(shí)驗(yàn)和更多的事例特征變量,展開大規(guī)模的研究和測試。實(shí)現(xiàn)數(shù)據(jù)傳輸服務(wù)器和服務(wù)器端事例數(shù)據(jù)庫的結(jié)合,實(shí)現(xiàn)事例的序列化傳輸。對(duì)遠(yuǎn)程數(shù)據(jù)傳輸和緩存系統(tǒng)進(jìn)行性能優(yōu)化,提高系統(tǒng)性能。整個(gè)系統(tǒng)為高能物理跨域計(jì)算提供了新型的架構(gòu),在高能物理計(jì)算環(huán)境中具有較好的應(yīng)用發(fā)展前景。

      猜你喜歡
      高能物理事例站點(diǎn)
      國家高能物理科學(xué)數(shù)據(jù)安全保障體系
      基于智能機(jī)器學(xué)習(xí)的高能物理技術(shù)研究
      科技資訊(2024年24期)2024-02-09 00:00:00
      盛宴已經(jīng)結(jié)束
      傳神寫照,意味深長——寫人要關(guān)注具體事例和細(xì)節(jié)
      作文想好,“事例”不能少
      基于Web站點(diǎn)的SQL注入分析與防范
      電子制作(2019年14期)2019-08-20 05:43:42
      2017~2018年冬季西北地區(qū)某站點(diǎn)流感流行特征分析
      中國十大憲法事例(2017)
      首屆歐洲自行車共享站點(diǎn)協(xié)商會(huì)召開
      中國自行車(2017年1期)2017-04-16 02:53:52
      怕被人認(rèn)出
      蓝山县| 桃源县| 迁西县| 阜城县| 安庆市| 开封市| 海淀区| 石城县| 安仁县| 乡宁县| 鹤山市| 北京市| 水富县| 高要市| 中西区| 乌拉特前旗| 浦县| 呼和浩特市| 山阴县| 柏乡县| 阳原县| 伊吾县| 彝良县| 庆安县| 乐东| 陇西县| 兴山县| 微山县| 固镇县| 澜沧| 襄城县| 淮安市| 红桥区| 桦川县| 通海县| 昌邑市| 商南县| 义乌市| 读书| 武义县| 榆中县|