摘 要:AMS-02實(shí)驗(yàn)的目的是利用獨(dú)特的太空環(huán)境來(lái)研究宇宙中的暗物質(zhì)、反物質(zhì)以及測(cè)量宇宙射線的來(lái)源和組成,。由于該實(shí)驗(yàn)具有數(shù)據(jù)量大,、生產(chǎn)過(guò)程復(fù)雜、計(jì)算中心分布廣泛的特點(diǎn),,本文首先介紹了AMS-02實(shí)驗(yàn)的背景和數(shù)據(jù)需求,,然后詳細(xì)地分析了其數(shù)據(jù)類型以及處理流程,最后通過(guò)整合關(guān)鍵技術(shù),,為AMS-02實(shí)驗(yàn)遠(yuǎn)程計(jì)算中心設(shè)計(jì)并實(shí)現(xiàn)了一套基于腳本語(yǔ)言,、輕量級(jí)、易移植的自動(dòng)化生產(chǎn)管理系統(tǒng),,大幅度地提高了該實(shí)驗(yàn)中數(shù)據(jù)生產(chǎn)的效率。
關(guān)鍵詞: AMS-02實(shí)驗(yàn),;數(shù)據(jù)生產(chǎn),;自動(dòng)化;輕量級(jí)
0 引言
阿爾法磁譜儀實(shí)驗(yàn)(Alpha Magnetic Spectrometer)是由物理學(xué)家,、諾貝爾獎(jiǎng)獲得者丁肇中教授領(lǐng)導(dǎo)的一個(gè)大規(guī)模國(guó)際物理實(shí)驗(yàn),。阿爾法磁譜儀是安裝在國(guó)際空間站上的唯一大型高能粒子探測(cè)器,它于2011年5月搭載NASA奮進(jìn)號(hào)航天飛機(jī)送至國(guó)際空間站并成功安裝運(yùn)行[1],。利用磁譜儀強(qiáng)大而特殊的磁場(chǎng),,探測(cè)器可以利用獨(dú)特的太空環(huán)境進(jìn)行基礎(chǔ)物理研究,例如從宇宙中捕捉粒子并將這些信息以數(shù)據(jù)形式記錄下來(lái),,然后從國(guó)際空間站上源源不斷地將獲得的數(shù)據(jù)傳回歐洲核子中心(CERN)進(jìn)行分析,,進(jìn)一步探索宇宙組成以及反物質(zhì)、暗物質(zhì)的存在,。
截止到2014年6月,,探測(cè)器已經(jīng)采集到約 500億個(gè)太空粒子事件,從探測(cè)器傳到地面的數(shù)據(jù)記錄了探測(cè)采集的原始電信號(hào),,這些信號(hào)需要經(jīng)過(guò)分類,、重建與存檔等過(guò)程才能將其轉(zhuǎn)化為可供物理學(xué)家進(jìn)行分析的物理數(shù)據(jù);另一方面,,為了檢查探測(cè)器的性能以及為更深度的物理分析提供支持,,實(shí)驗(yàn)中也使用蒙特卡羅方法模擬探測(cè)器產(chǎn)生仿真數(shù)據(jù),。物理學(xué)家在數(shù)據(jù)分析中同時(shí)參考這兩種數(shù)據(jù),可以將誤差減小到最低以提高分析結(jié)果的精度,。由此可見,,AMS-02實(shí)驗(yàn)具有數(shù)據(jù)量大、類型多樣并且數(shù)據(jù)處理過(guò)程復(fù)雜等特點(diǎn),。
此外,,AMS-02實(shí)驗(yàn)是跨地區(qū)合作的國(guó)際性科研項(xiàng)目,美,、中,、俄、意,、德等16個(gè)國(guó)家的56所研究機(jī)構(gòu)均參與其中,。為了實(shí)現(xiàn)對(duì)現(xiàn)有資源的合理利用,其大部分?jǐn)?shù)據(jù)生產(chǎn)任務(wù)由這些合作單位來(lái)承擔(dān)并隨之建立了遠(yuǎn)程計(jì)算中心,。這種分布性也帶來(lái)了一系列的問(wèn)題,,例如各個(gè)遠(yuǎn)程計(jì)算中心地域上的分散性、軟硬件配置的差異性等,,另外,,部分中心不僅要對(duì)探測(cè)器采集到的原始數(shù)據(jù)進(jìn)行數(shù)據(jù)重建,還要進(jìn)行蒙特卡羅仿真并對(duì)仿真數(shù)據(jù)進(jìn)行分析和存儲(chǔ),。
雖然另一大型物理實(shí)驗(yàn)ATLAS已經(jīng)有一套完善的基于數(shù)據(jù)驅(qū)動(dòng)的工作負(fù)載管理系統(tǒng)——PanDA,,該系統(tǒng)不僅可以很好地實(shí)現(xiàn)ATLAS實(shí)驗(yàn)中的數(shù)據(jù)處理、仿真和分析等功能,,而且能夠滿足迅速變化的物理需求[2],。但是,它是一個(gè)龐大的數(shù)據(jù)生產(chǎn)系統(tǒng),,需要大型開發(fā)團(tuán)隊(duì)的支持,,同時(shí)ATLAS實(shí)驗(yàn)的計(jì)算中心較為集中、系統(tǒng)資源統(tǒng)一,,便于集中管理[3],,顯然PanDA 的管理模式對(duì)于AMS-02實(shí)驗(yàn)并不適用。因此,,為AMS-02實(shí)驗(yàn)設(shè)計(jì)和實(shí)現(xiàn)一套自動(dòng)化生產(chǎn)管理系統(tǒng)是十分必要的,。
1 AMS-02數(shù)據(jù)的文件類型及處理流程
1.1 AMS-02數(shù)據(jù)的文件類型
AMS-02實(shí)驗(yàn)數(shù)據(jù)生產(chǎn)中主要包括Raw文件和Root文件兩種文件類型。Raw文件是指探測(cè)器在太空中收集到的電信號(hào),,這些參數(shù)需要經(jīng)過(guò)仔細(xì)的重建,、分類與存檔才能夠被物理學(xué)家用來(lái)分析;Root文件則是Raw文件經(jīng)過(guò)數(shù)據(jù)重建過(guò)程所產(chǎn)生的,包括粒子的入射方向,、軌跡,、動(dòng)量、質(zhì)量,、電荷,、能譜等具體的物理量信息,可以直接用來(lái)做物理分析[4],。
1.2 AMS-02實(shí)驗(yàn)數(shù)據(jù)處理流程
AMS-02實(shí)驗(yàn)的數(shù)據(jù)處理與分析涉及到三方面的內(nèi)容:蒙特卡羅仿真,、數(shù)據(jù)重建和物理分析。AMS-02的數(shù)據(jù)生產(chǎn)與分析流程圖如圖1所示,。
(1) 蒙特卡羅仿真: Geant4軟件使用蒙特卡羅方法模擬射入探測(cè)器的粒子以及其相互作用的過(guò)程,,整個(gè)過(guò)程以AMS-02探測(cè)器模型作為基礎(chǔ),將Raw文件作為輸出,。
(2) 數(shù)據(jù)重建: 將AMS-02探測(cè)器采集到的原始數(shù)據(jù)或者是蒙特卡羅模擬數(shù)據(jù)進(jìn)行解壓縮,、校正、數(shù)字化等一系列處理,,將電信號(hào)轉(zhuǎn)化為物理學(xué)家可直接用于分析的數(shù)據(jù)(電荷,、速度、能量等),,整個(gè)過(guò)程以Raw文件的形式作為輸入,,以Root文件作為輸出。
(3) 物理分析: 根據(jù)物理學(xué)家提供的不同物理分析參數(shù),,實(shí)現(xiàn)與已存儲(chǔ)的AMS仿真數(shù)據(jù)以及重建數(shù)據(jù)的動(dòng)態(tài)綁定,,進(jìn)行相應(yīng)的觀察、分析,,并給出相關(guān)結(jié)論和可視化圖表 [5] 。
2 AMS-02自動(dòng)化系統(tǒng)設(shè)計(jì)分析
2.1 數(shù)據(jù)生產(chǎn)類型的差異性
對(duì)于AMS-02實(shí)驗(yàn)自動(dòng)化生產(chǎn)系統(tǒng)來(lái)說(shuō),,其數(shù)據(jù)生產(chǎn)既包括數(shù)據(jù)重建的過(guò)程,,也包括蒙特卡羅仿真的過(guò)程,但這兩個(gè)過(guò)程并不相同,,其差異主要包括以下兩點(diǎn):
(1) 并行程度的差異:數(shù)據(jù)重建一般需要16~24個(gè)線程處理,,蒙特卡羅仿真過(guò)程則為單線程;
(2) 運(yùn)行時(shí)間差異:光子子數(shù)據(jù)流重建每個(gè)作業(yè)僅需要幾十秒,,標(biāo)準(zhǔn)數(shù)據(jù)重建需要幾個(gè)小時(shí),,而蒙特卡羅模擬則需要幾天。
以上差異要求生產(chǎn)平臺(tái)能夠進(jìn)行動(dòng)態(tài)自適應(yīng),,這樣既可以保證作業(yè)提交效率,,又能充分利用提交間隙進(jìn)行其他作業(yè)管理操作。
2.2 數(shù)據(jù)傳輸?shù)脑O(shè)計(jì)分析
基于AMS-02的實(shí)驗(yàn)需求, 其大部分?jǐn)?shù)據(jù)重建和蒙特卡羅仿真過(guò)程需要在遠(yuǎn)程計(jì)算中心進(jìn)行,當(dāng)生產(chǎn)完成后,,再將產(chǎn)生的文件傳回歐洲核子中心進(jìn)行統(tǒng)一的管理和存儲(chǔ),。
考慮到遠(yuǎn)程計(jì)算中心地域分布的廣泛性,在進(jìn)行系統(tǒng)設(shè)計(jì)時(shí)要求考慮到頻繁的數(shù)據(jù)傳輸,,同時(shí)要保證實(shí)驗(yàn)數(shù)據(jù)的可用性,、傳輸速率以及網(wǎng)絡(luò)的穩(wěn)定性。
3 AMS-02自動(dòng)化生產(chǎn)系統(tǒng)概述
3.1 系統(tǒng)流程簡(jiǎn)介
AMS-02自動(dòng)化生產(chǎn)系統(tǒng)是基于該實(shí)驗(yàn)的數(shù)據(jù)需求而開發(fā)的一套完整的數(shù)據(jù)生產(chǎn)管理系統(tǒng),,整個(gè)處理過(guò)程包括作業(yè)申請(qǐng),、提取、提交,、更新,、驗(yàn)證、傳輸?shù)?。該系統(tǒng)具體的生產(chǎn)流程圖如圖2所示,。
(1) 作業(yè)請(qǐng)求:用戶在Web端提交申請(qǐng),完成后將作業(yè)模板壓縮包自動(dòng)發(fā)送到指定郵箱中,;
(2) 作業(yè)提?。篏etmail自動(dòng)讀取郵件并使用Munpack工具提取附件,根據(jù)不同的作業(yè)類型配置適合的環(huán)境變量,,并保存到特定路徑,;
(3) 作業(yè)注冊(cè):讀取壓縮包中每個(gè)作業(yè)的詳細(xì)信息并寫入Sqlite數(shù)據(jù)庫(kù)中;
(4) 作業(yè)提交:將作業(yè)提交到作業(yè)調(diào)度系統(tǒng) (例如LSF,、PBS等) ,,不同系統(tǒng)根據(jù)各自的調(diào)度策略執(zhí)行作業(yè),確保發(fā)揮最優(yōu)的系統(tǒng)性能,;
(5) 狀態(tài)更新:實(shí)時(shí)查詢隊(duì)列中作業(yè)狀態(tài)并更新數(shù)據(jù)庫(kù)信息,;
(6) 作業(yè)驗(yàn)證:對(duì)已完成的作業(yè)進(jìn)行CRC驗(yàn)證,確定數(shù)據(jù)結(jié)果的有效性和可用性,;
(7) 作業(yè)傳輸:將作業(yè)的摘要文件和數(shù)據(jù)文件 (Raw,、Root文件) 傳回歐洲核子中心。
3.2 系統(tǒng)特性分析
3.2.1 輕量級(jí),、可移植性
該系統(tǒng)不依賴于任何第三方商業(yè)軟件,,也不需要管理權(quán)限和安裝軟件,且易于部署,,例如采用輕型的SQLite數(shù)據(jù)庫(kù),,它內(nèi)置于大多數(shù)Linux發(fā)行版本中,使用方便,,資源占用率低,,處理速度快。因此,在系統(tǒng)部署時(shí)將所需的軟件包轉(zhuǎn)移到相應(yīng)服務(wù)器上并進(jìn)行參數(shù)化配置安裝即可,,同時(shí)在源代碼進(jìn)行移植時(shí),,根據(jù)不同計(jì)算中心的軟硬件配置情況(例如作業(yè)調(diào)度系統(tǒng)、數(shù)據(jù)傳輸軟件的差異),,只需要對(duì)相關(guān)代碼進(jìn)行簡(jiǎn)單的修改就可以快速應(yīng)用,。
3.2.2 自動(dòng)化
一方面,該系統(tǒng)設(shè)計(jì)了作業(yè)緩沖池機(jī)制,,可以智能地控制向作業(yè)調(diào)度系統(tǒng)中提交的作業(yè)數(shù)量,。通過(guò)實(shí)時(shí)更新狀態(tài)來(lái)判斷隊(duì)列中是否有空閑空間,若有則從緩沖池中讀取作業(yè)信息并提交,,否則繼續(xù)等待,,這樣既可以保證計(jì)算節(jié)點(diǎn)時(shí)刻滿負(fù)荷運(yùn)轉(zhuǎn),又可以高效合理地利用CPU資源,。
另一方面,,為了提高該系統(tǒng)的生產(chǎn)效率,系統(tǒng)采用流水線的方式實(shí)現(xiàn)了整個(gè)生產(chǎn)過(guò)程的自動(dòng)化管理:在系統(tǒng)設(shè)計(jì)時(shí)將各個(gè)子過(guò)程按照運(yùn)行時(shí)間,、資源占用率的不同,,采用同步或者異步的策略進(jìn)行作業(yè)提交。同時(shí),,為了避免相同程序同時(shí)運(yùn)行所帶來(lái)的問(wèn)題,,在系統(tǒng)執(zhí)行前會(huì)檢測(cè)是否存在相同的進(jìn)程,若發(fā)現(xiàn)則自動(dòng)退出,。
3.2.3 并行化
根據(jù)不同批量作業(yè)系統(tǒng)的特點(diǎn)(如作業(yè)提交的反饋時(shí)間)以及作業(yè)運(yùn)行時(shí)間采用同步或者異步的方式進(jìn)行作業(yè)提交:以同步方式處理耗時(shí)短,、輕量級(jí)的生產(chǎn)流程(例如作業(yè)提取、提交以及狀態(tài)更新等),,以批量作業(yè)的方式進(jìn)行異步處理耗時(shí)長(zhǎng),、CPU占用率高的生產(chǎn)步驟(例如作業(yè)驗(yàn)證),而對(duì)于運(yùn)行時(shí)間長(zhǎng),、CPU占用率低的作業(yè)傳輸過(guò)程來(lái)說(shuō),,則采用獨(dú)立多線程的運(yùn)行方式。
AMS-02實(shí)驗(yàn)的遠(yuǎn)程計(jì)算中心地域跨度大的特點(diǎn)對(duì)數(shù)據(jù)傳輸過(guò)程帶來(lái)了一定的挑戰(zhàn),。這里使用了IPv6和Bbftp/Lftp相結(jié)合的傳輸方式,其中Bbftp/Lftp是數(shù)據(jù)傳輸軟件,,支持多線程并發(fā)傳輸,,特別對(duì)大文件傳輸比傳統(tǒng)Ftp具有更高效率[6]。
此外,,對(duì)于數(shù)據(jù)庫(kù)訪問(wèn)來(lái)說(shuō),,采用了數(shù)據(jù)庫(kù)操作類來(lái)封裝數(shù)據(jù)庫(kù)查詢、增加、更改,、刪除等操作,,這樣只要調(diào)用接口就可以實(shí)現(xiàn)數(shù)據(jù)庫(kù)操作,方便快捷,,結(jié)構(gòu)清晰,,實(shí)現(xiàn)了Sqlite3數(shù)據(jù)庫(kù)的多進(jìn)程/線程的并發(fā)訪問(wèn)。
4 結(jié)論
AMS-02自動(dòng)化生產(chǎn)管理系統(tǒng)能夠適應(yīng)不同的批量作業(yè)處理平臺(tái),、不同的生產(chǎn)類型,,滿足了實(shí)驗(yàn)的數(shù)據(jù)生產(chǎn)需求。該系統(tǒng)已經(jīng)在德國(guó)Juropa,、意大利Cnaf計(jì)算中心使用并且運(yùn)行穩(wěn)定,。這不僅大幅度地提高了生產(chǎn)效率和資源使用率,而且保證了數(shù)據(jù)有效性,。
目前,,該系統(tǒng)正在法國(guó)Lyon計(jì)算中心試運(yùn)行,今后將進(jìn)一步觀察和調(diào)試,,并根據(jù)其實(shí)際情況逐步完善系統(tǒng)性能,。
參考文獻(xiàn)
[1] 楊民,陳國(guó)明. 國(guó)際空間站上的AMS實(shí)驗(yàn)[J]. 現(xiàn)代物理知識(shí),,2011,23(5):10-15.
[2] Maeno T. PanDA: distributed production and distributed analysis system for ATLAS[J]. Journal of Physics: Conference Series 119,2008: 062036.
[3] Nilsson P. Experience from a pilot based system for ATLAS[J]. Journal of Physics: Conference Series119,2008:062038.
[4] 楊鵬. 阿爾法磁譜儀實(shí)驗(yàn)海量數(shù)據(jù)處理環(huán)境的研究[J]. 計(jì)算機(jī)科學(xué), 2011,38(6):41-44.