摘 要:AMS-02實(shí)驗(yàn)的目的是利用獨(dú)特的太空環(huán)境來研究宇宙中的暗物質(zhì)、反物質(zhì)以及測(cè)量宇宙射線的來源和組成。由于該實(shí)驗(yàn)具有數(shù)據(jù)量大、生產(chǎn)過程復(fù)雜、計(jì)算中心分布廣泛的特點(diǎn),本文首先介紹了AMS-02實(shí)驗(yàn)的背景和數(shù)據(jù)需求,然后詳細(xì)地分析了其數(shù)據(jù)類型以及處理流程,最后通過整合關(guān)鍵技術(shù),為AMS-02實(shí)驗(yàn)遠(yuǎn)程計(jì)算中心設(shè)計(jì)并實(shí)現(xiàn)了一套基于腳本語言、輕量級(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ī)模國際物理實(shí)驗(yàn)。阿爾法磁譜儀是安裝在國際空間站上的唯一大型高能粒子探測(cè)器,它于2011年5月搭載NASA奮進(jìn)號(hào)航天飛機(jī)送至國際空間站并成功安裝運(yùn)行[1]。利用磁譜儀強(qiáng)大而特殊的磁場(chǎng),探測(cè)器可以利用獨(dú)特的太空環(huán)境進(jìn)行基礎(chǔ)物理研究,例如從宇宙中捕捉粒子并將這些信息以數(shù)據(jù)形式記錄下來,然后從國際空間站上源源不斷地將獲得的數(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)過分類、重建與存檔等過程才能將其轉(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ù)處理過程復(fù)雜等特點(diǎn)。
此外,AMS-02實(shí)驗(yàn)是跨地區(qū)合作的國際性科研項(xiàng)目,美、中、俄、意、德等16個(gè)國家的56所研究機(jī)構(gòu)均參與其中。為了實(shí)現(xiàn)對(duì)現(xiàn)有資源的合理利用,其大部分?jǐn)?shù)據(jù)生產(chǎn)任務(wù)由這些合作單位來承擔(dān)并隨之建立了遠(yuǎn)程計(jì)算中心。這種分布性也帶來了一系列的問題,例如各個(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)過仔細(xì)的重建、分類與存檔才能夠被物理學(xué)家用來分析;Root文件則是Raw文件經(jīng)過數(shù)據(jù)重建過程所產(chǎn)生的,包括粒子的入射方向、軌跡、動(dòng)量、質(zhì)量、電荷、能譜等具體的物理量信息,可以直接用來做物理分析[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è)器的粒子以及其相互作用的過程,整個(gè)過程以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è)過程以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)來說,其數(shù)據(jù)生產(chǎn)既包括數(shù)據(jù)重建的過程,也包括蒙特卡羅仿真的過程,但這兩個(gè)過程并不相同,其差異主要包括以下兩點(diǎn):
(1) 并行程度的差異:數(shù)據(jù)重建一般需要16~24個(gè)線程處理,蒙特卡羅仿真過程則為單線程;
(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ù)重建和蒙特卡羅仿真過程需要在遠(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è)處理過程包括作業(yè)申請(qǐng)、提取、提交、更新、驗(yàn)證、傳輸?shù)取T撓到y(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ù)庫中;
(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ù)庫信息;
(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ù)庫,它內(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ù)量。通過實(shí)時(shí)更新狀態(tà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)過程的自動(dòng)化管理:在系統(tǒng)設(shè)計(jì)時(shí)將各個(gè)子過程按照運(yùn)行時(shí)間、資源占用率的不同,采用同步或者異步的策略進(jìn)行作業(yè)提交。同時(shí),為了避免相同程序同時(shí)運(yù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í)長、CPU占用率高的生產(chǎn)步驟(例如作業(yè)驗(yàn)證),而對(duì)于運(yùn)行時(shí)間長、CPU占用率低的作業(yè)傳輸過程來說,則采用獨(dú)立多線程的運(yùn)行方式。
AMS-02實(shí)驗(yàn)的遠(yuǎn)程計(jì)算中心地域跨度大的特點(diǎn)對(duì)數(shù)據(jù)傳輸過程帶來了一定的挑戰(zhàn)。這里使用了IPv6和Bbftp/Lftp相結(jié)合的傳輸方式,其中Bbftp/Lftp是數(shù)據(jù)傳輸軟件,支持多線程并發(fā)傳輸,特別對(duì)大文件傳輸比傳統(tǒng)Ftp具有更高效率[6]。
此外,對(duì)于數(shù)據(jù)庫訪問來說,采用了數(shù)據(jù)庫操作類來封裝數(shù)據(jù)庫查詢、增加、更改、刪除等操作,這樣只要調(diào)用接口就可以實(shí)現(xiàn)數(shù)據(jù)庫操作,方便快捷,結(jié)構(gòu)清晰,實(shí)現(xiàn)了Sqlite3數(shù)據(jù)庫的多進(jìn)程/線程的并發(fā)訪問。
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)在德國Juropa、意大利Cnaf計(jì)算中心使用并且運(yùn)行穩(wěn)定。這不僅大幅度地提高了生產(chǎn)效率和資源使用率,而且保證了數(shù)據(jù)有效性。
目前,該系統(tǒng)正在法國Lyon計(jì)算中心試運(yùn)行,今后將進(jìn)一步觀察和調(diào)試,并根據(jù)其實(shí)際情況逐步完善系統(tǒng)性能。
參考文獻(xiàn)
[1] 楊民,陳國明. 國際空間站上的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.