基于軟件框架的數(shù)據(jù)處理課件_第1頁
基于軟件框架的數(shù)據(jù)處理課件_第2頁
基于軟件框架的數(shù)據(jù)處理課件_第3頁
基于軟件框架的數(shù)據(jù)處理課件_第4頁
基于軟件框架的數(shù)據(jù)處理課件_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

基于軟件框架的數(shù)據(jù)處理基于軟件框架的數(shù)據(jù)處理主要內(nèi)容背景介紹離線數(shù)據(jù)處理及軟件軟件框架框架實例:Gaudi&SNiPER代碼示范總結(jié)和展望基于軟件框架的數(shù)據(jù)處理2主要內(nèi)容背景介紹基于軟件框架的數(shù)據(jù)處理2基于大科學(xué)裝置的實驗科學(xué)技術(shù)的發(fā)展對實驗探測技術(shù)的促進(jìn)實驗規(guī)模,大型國際合作組改變了科學(xué)實驗組織模式實驗設(shè)備規(guī)模人力、物力等資源耗費(fèi)規(guī)模數(shù)據(jù)規(guī)模,PB量級數(shù)據(jù)已經(jīng)很常見大亞灣中微子實驗原始數(shù)據(jù)約100TB/年建設(shè)中的江門中微子實驗原始數(shù)據(jù)約2PB/年基于軟件框架的數(shù)據(jù)處理3基于大科學(xué)裝置的實驗科學(xué)技術(shù)的發(fā)展對實驗探測技術(shù)的促進(jìn)基于軟現(xiàn)代高能物理實驗的要素基于軟件框架的數(shù)據(jù)處理4事例源探測器電子學(xué)觸發(fā)、DAQ原始數(shù)據(jù)刻度、重建物理分析成果模擬探測目標(biāo)的來源,如對撞機(jī)、核反應(yīng)堆、自然界的宇宙線感知探測目標(biāo)探測器中反應(yīng)的數(shù)字化信號數(shù)據(jù)(過濾和)記錄還原事例的基本物理信息,如末態(tài)粒子飛行方向、能量等還原事例的完整反應(yīng)過程,如初始粒子的衰變模式等;并通過統(tǒng)計學(xué)等分析方法,從大量事例中尋找規(guī)律預(yù)研階段:優(yōu)化探測器設(shè)計、對離線軟件進(jìn)行檢驗等取數(shù)階段:幫助我們理解探測器性能和軟件性能等現(xiàn)代高能物理實驗的要素基于軟件框架的數(shù)據(jù)處理4事例源探測器電離線軟件在數(shù)據(jù)處理中的作用基于軟件框架的數(shù)據(jù)處理5照相(鏡頭/快門)看相洗相(暗室/顯影/定影)數(shù)據(jù)獲取硬件設(shè)備和物理學(xué)家之間的橋梁,從數(shù)據(jù)到物理成果轉(zhuǎn)化中的關(guān)鍵和重要環(huán)節(jié)刻度、重建洗相物理分析看相離線軟件在數(shù)據(jù)處理中的作用基于軟件框架的數(shù)據(jù)處理5照相看相洗主要內(nèi)容背景介紹離線數(shù)據(jù)處理及軟件軟件框架框架實例:Gaudi&SNiPER代碼示范總結(jié)和展望基于軟件框架的數(shù)據(jù)處理6主要內(nèi)容背景介紹基于軟件框架的數(shù)據(jù)處理6離線數(shù)據(jù)處理示意圖基于軟件框架的數(shù)據(jù)處理7othersites分布式站點數(shù)據(jù)中心實驗數(shù)據(jù)元數(shù)據(jù)實驗數(shù)據(jù)元數(shù)據(jù)刻度Keep-UpProduction(準(zhǔn)實時)PhysicsProduction(定期)元數(shù)據(jù)庫Bookkeeping磁盤磁帶backup數(shù)據(jù)存儲/管理條件數(shù)據(jù)庫數(shù)據(jù)質(zhì)量檢查/監(jiān)控成果發(fā)布latestconditiondatafullreconstructionalgorithmspreliminarydataqualityvalidatedandfrozenconditiondataofficialreleasedandvalidateds/wdataqualityfilebyfiletrackrunbyruntrack實驗現(xiàn)場PhysicsAnalysis(持續(xù))離線數(shù)據(jù)處理示意圖基于軟件框架的數(shù)據(jù)處理7othersit數(shù)據(jù)處理軟件(一)模擬在實驗預(yù)研和建設(shè)階段優(yōu)化探測器的設(shè)計,驗證其性能指標(biāo)為離線數(shù)據(jù)處理系統(tǒng)的開發(fā)提供基礎(chǔ),驗證離線軟件性能在實驗運(yùn)行期間幫助物理學(xué)家理解探測器性能獲取物理分析軟件的性能、誤差等在整個實驗周期內(nèi)都具有重要作用刻度探測器校準(zhǔn)微小的位移自然老化造成的響應(yīng)變化等等……刻度數(shù)據(jù)(條件數(shù)據(jù))的管理不同條件數(shù)據(jù)有不同的更新周期條件數(shù)據(jù)庫為重建算法的精確度提供保障基于軟件框架的數(shù)據(jù)處理8數(shù)據(jù)處理軟件(一)模擬刻度基于軟件框架的數(shù)據(jù)處理8數(shù)據(jù)處理軟件(二)重建物理分析從海量數(shù)據(jù)中尋找感興趣的信號統(tǒng)計學(xué)+物理學(xué)其他事例顯示數(shù)據(jù)質(zhì)量檢查軟件validation…基于軟件框架的數(shù)據(jù)處理9原始數(shù)據(jù):電子學(xué)信號,如探測單元、信號(脈沖)幅度和時間重建數(shù)據(jù):如微觀粒子的能量、電荷、空間位置和運(yùn)動方向等重建結(jié)果的質(zhì)量,對物理分析有直接影響數(shù)據(jù)處理軟件(二)重建物理分析基于軟件框架的數(shù)據(jù)處理9原始數(shù)數(shù)據(jù)處理軟件的開發(fā)周期10實驗預(yù)研探測設(shè)施建造探測器運(yùn)行取數(shù)探測器壽命到期模擬軟件數(shù)據(jù)重建軟件探測器刻度軟件

物理分析軟件基于軟件框架的數(shù)據(jù)處理數(shù)據(jù)處理軟件的開發(fā)周期10實驗預(yù)研模擬軟件數(shù)據(jù)重建軟件物理分高能物理數(shù)據(jù)處理軟件的特點探測器通常是獨一無二的高成本定制設(shè)備,非批量生產(chǎn)的工業(yè)化產(chǎn)品數(shù)據(jù)處理軟件:自主開發(fā)+開源軟件和工具實驗設(shè)備越來越復(fù)雜,參與人員越來越多更細(xì)的分工、團(tuán)隊合作數(shù)據(jù)處理軟件開發(fā)面臨的挑戰(zhàn)數(shù)據(jù)處理過程紛繁復(fù)雜,需求多種多樣從原始數(shù)據(jù)到最終物理成果經(jīng)過多個環(huán)節(jié),前后步驟需要緊密銜接人員組織相對分散(世界各地)、流動性強(qiáng)(學(xué)生畢業(yè)),物理學(xué)家軟件背景不一實驗生命周期內(nèi)的長期發(fā)展和維護(hù)基于軟件框架的數(shù)據(jù)處理11高能物理數(shù)據(jù)處理軟件的特點探測器通常是獨一無二的高成本定制設(shè)基于框架的離線軟件系統(tǒng)12國內(nèi)離線軟件系統(tǒng)BESIII實驗的BOSSDYB實驗的NuWaJUNO實驗的SNiPER。。。流水線思維,離線軟件為流水線,數(shù)據(jù)為產(chǎn)品問題分解:模塊化設(shè)計和開發(fā),方便成員間的分工和合作有機(jī)整體:通過框架實現(xiàn)不同模塊的組合或替換,保證前后步驟的正確銜接團(tuán)隊協(xié)作較復(fù)雜的功能由有經(jīng)驗的人員實現(xiàn),物理學(xué)家不必接觸軟件技術(shù)細(xì)節(jié)長周期內(nèi),穩(wěn)定的軟件接口、統(tǒng)一的開發(fā)規(guī)范基于軟件框架的數(shù)據(jù)處理基于框架的離線軟件系統(tǒng)12國內(nèi)離線軟件系統(tǒng)流水線思維,離線軟主要內(nèi)容背景介紹離線數(shù)據(jù)處理及軟件軟件框架框架實例:Gaudi&SNiPER代碼示范總結(jié)和展望基于軟件框架的數(shù)據(jù)處理13主要內(nèi)容背景介紹基于軟件框架的數(shù)據(jù)處理13離線軟件的構(gòu)成基礎(chǔ)軟件庫和工具軟件開發(fā)通用庫和工具高能物理領(lǐng)域通用的流行軟件:Geant4,ROOT等框架軟件狹義上指通用的離線軟件框架,與實驗無關(guān),如Gaudi、SNiPER等通常也包括與實驗相關(guān)的通用功能模塊,如數(shù)據(jù)模型及其I/O、數(shù)據(jù)庫接口等數(shù)據(jù)處理和分析軟件與實驗緊密相關(guān),需要有物理背景人員開發(fā)專注于對數(shù)據(jù)的計算(算法),不用關(guān)心底層軟件技術(shù)細(xì)節(jié)基于軟件框架的數(shù)據(jù)處理14離線軟件的構(gòu)成基礎(chǔ)軟件庫和工具基于軟件框架的數(shù)據(jù)處理14軟件框架基于軟件框架的數(shù)據(jù)處理15軟件框架(Softwareframework),通常指的是為了實現(xiàn)某個業(yè)界標(biāo)準(zhǔn)或完成特定基本任務(wù)的軟件組件規(guī)范,也指為了實現(xiàn)某個軟件組件規(guī)范時,提供規(guī)范所要求之基礎(chǔ)功能的軟件產(chǎn)品。

----百度百科面向領(lǐng)域,一般不能跨領(lǐng)域使用WEB開發(fā)領(lǐng)域:如Struts、Spring高能物理領(lǐng)域:Gaudi、SNiPER等軟件框架基于軟件框架的數(shù)據(jù)處理15軟件框架(Software軟件框架VS.軟件庫定位軟件庫著眼于處理某一個/一類問題,軟件框架著眼于處理某一領(lǐng)域問題使用方式軟件庫(函數(shù))由用戶調(diào)用,是用戶搭建自己軟件大廈的磚塊軟件框架反向調(diào)用用戶代碼軟件框架中不包含具體功能,但抽象化了軟件的主體執(zhí)行邏輯用戶定義軟件執(zhí)行的具體細(xì)節(jié)軟件框架代表了軟件復(fù)用的新高度介于傳統(tǒng)軟件庫與完整軟件產(chǎn)品之間的“半成品”高度模塊化,易擴(kuò)展用戶能夠更專注于具體問題(如數(shù)據(jù)處理算法),以插件形式將自己的代碼嵌入框架執(zhí)行基于軟件框架的數(shù)據(jù)處理16軟件框架VS.軟件庫定位基于軟件框架的數(shù)據(jù)處理16高能物理實驗數(shù)據(jù)的組織方式17事例1離線軟件一般以事例循環(huán)方式線性處理事例之間相對獨立,或僅時間鄰近的事例之間存在關(guān)聯(lián)事例2事例3事例4事例5事例6…事例:微觀粒子在探測器中的一次可觀測反應(yīng),如e+、e-的一次對撞數(shù)據(jù)文件:若干事例按時間順序依次保存到文件Run:探測器一個運(yùn)行周期(簡單理解為一次開、關(guān)機(jī))期間的數(shù)據(jù),包含若干文件對撞機(jī)中粒子束流不斷衰減,BESIII每隔1-2小時需要重新注束大亞灣實驗探測器每2-3天需要做一次刻度基于軟件框架的數(shù)據(jù)處理高能物理實驗數(shù)據(jù)的組織方式17事例1離線軟件一般以事例循環(huán)方最簡單的軟件框架什么樣?18beginendmoreeventsYNexecute基于事例循環(huán)的數(shù)據(jù)處理偽代碼:最基本要素:反向調(diào)用用戶代碼readEvent()、process(evt)、writeResult(evt)提供事例循環(huán)的頂層執(zhí)行邏輯基于軟件框架的數(shù)據(jù)處理最簡單的軟件框架什么樣?18beginendmoreeve完備的軟件框架主要功能核心功能數(shù)據(jù)管理數(shù)據(jù)格式及其存取內(nèi)存數(shù)據(jù)管理任務(wù)執(zhí)行的流程控制模塊的加載、決定執(zhí)行次序公共服務(wù)功能模塊如條件數(shù)據(jù)庫查詢等用戶編程和運(yùn)行參數(shù)配置接口統(tǒng)一計算環(huán)境和軟件平臺19軟件框架決定著整個離線軟件系統(tǒng)的設(shè)計理念、實現(xiàn)和使用方式、性能和可靠性等用戶規(guī)范編程語言及接口,編碼風(fēng)格統(tǒng)一的運(yùn)行方式一致的開發(fā)和編譯環(huán)境Cmake、gcc開發(fā)管理和版本控制Git、CVS、SVN統(tǒng)一的版本發(fā)布和安裝基于軟件框架的數(shù)據(jù)處理完備的軟件框架主要功能核心功能數(shù)據(jù)管理統(tǒng)一計算環(huán)境和軟件平臺軟件框架的模塊化和層次化20功能分解和模塊化設(shè)計一個模塊專注于完成某項特定功能由相互關(guān)聯(lián)緊密的類組成靈活性與復(fù)雜度的平衡決定模塊粒度劃分模塊間通過接口交互模塊內(nèi)部高內(nèi)聚,模塊之間弱耦合模塊整體可替換為不同實現(xiàn)插件式開發(fā)和使用在不影響原有模塊情況下,向框架骨架中添加新功能層次間相互關(guān)系穩(wěn)定,通過協(xié)議約定降低耦合對比MVC(Model-View-Controller)模型,個人給高能物理離線軟件中常見的層次模型起名為M3CModel-Controller-Calculation-Configure基于軟件框架的數(shù)據(jù)處理軟件框架的模塊化和層次化20功能分解和模塊化設(shè)計層次間相互關(guān)主要內(nèi)容背景介紹離線數(shù)據(jù)處理及軟件軟件框架框架實例:Gaudi&SNiPER代碼示范總結(jié)和展望基于軟件框架的數(shù)據(jù)處理21主要內(nèi)容背景介紹基于軟件框架的數(shù)據(jù)處理21Gaudi由CERN為LHCb開發(fā),非常適合對撞機(jī)實驗使用國內(nèi)主要應(yīng)用BESIII實驗:完美使用大亞灣中微子實驗:可用,但遇到一些困難SNiPER最初為應(yīng)對江門中微子實驗(JUNO)的需求而自主開發(fā)吸取了Gaudi的有益經(jīng)驗和在大亞灣實驗上的教訓(xùn)針對非對撞機(jī)實驗(特別是中微子實驗)做了針對性設(shè)計被國內(nèi)JUNO、LHAASO以及美國的nEXO等實驗采用基于軟件框架的數(shù)據(jù)處理22Gaudi基于軟件框架的數(shù)據(jù)處理22Gaudi軟件框架架構(gòu)示意圖基于軟件框架的數(shù)據(jù)處理23算法(多變)與數(shù)據(jù)(穩(wěn)定)分離瞬態(tài)數(shù)據(jù)(內(nèi)存)與持久數(shù)據(jù)(磁盤)分離Gaudi軟件框架架構(gòu)示意圖基于軟件框架的數(shù)據(jù)處理23算法(Gaudi中的主要組件及其管理算法,對事例數(shù)據(jù)進(jìn)行計算處理的功能單元一般由框架按規(guī)則調(diào)用執(zhí)行,事例循環(huán)過程中執(zhí)行的計算模擬、刻度、重建和分析都主要以算法的形式實現(xiàn)服務(wù),提供公共的輔助性功能,一般由有經(jīng)驗的人員開發(fā)由用戶按需調(diào)用執(zhí)行如探測器幾何信息、條件數(shù)據(jù)庫查詢等組件以插件形式開發(fā),框架通過接口訪問組件新組件的開發(fā)不影響框架和原有組件用戶根據(jù)具體任務(wù)目標(biāo)選擇加載組件,執(zhí)行不同的應(yīng)用功能基于軟件框架的數(shù)據(jù)處理24框架:舞臺服務(wù):燈光、音樂、布景算法:用戶的表演Gaudi中的主要組件及其管理算法,對事例數(shù)據(jù)進(jìn)行計算處理的在Gaudi中開發(fā)一個新算法基于軟件框架的數(shù)據(jù)處理25設(shè)計的復(fù)用ConcreteAlgorithmAlgorithminitialize()execute()finalize()initialize()execute()finalize()從Algorithm基類派生,完成接口的具體實現(xiàn)不必考慮應(yīng)用整體的設(shè)計與其它組件通過框架交互沒有面向?qū)ο缶幊探?jīng)驗的用戶也能快速開發(fā);用戶能更專注于科學(xué)計算本身在Gaudi中開發(fā)一個新算法基于軟件框架的數(shù)據(jù)處理25設(shè)計的基于軟件框架的數(shù)據(jù)處理26Gaudi應(yīng)用運(yùn)行時序圖結(jié)構(gòu)的復(fù)用初始化事例循環(huán)收尾工作基于軟件框架的數(shù)據(jù)處理26Gaudi應(yīng)用運(yùn)行時序圖結(jié)構(gòu)的復(fù)用SNiPER軟件框架沿襲Gaudi中的算法、服務(wù)概念新增任務(wù)(Task)組件Task負(fù)責(zé)事例循環(huán)Task可以嵌套子Task,即事例循環(huán)的嵌套事例內(nèi)存管理基于時間窗的事例緩存,支持鄰近事例的關(guān)聯(lián)處理和分析輕量,核心模塊僅依賴C++標(biāo)準(zhǔn)庫和準(zhǔn)標(biāo)準(zhǔn)庫Boost框架關(guān)鍵功能完備基于軟件框架的數(shù)據(jù)處理27繼續(xù)前面對舞臺的類比在SNiPER中,用戶可以表演劇中劇,對數(shù)據(jù)處理實現(xiàn)更為復(fù)雜的邏輯控制SNiPER軟件框架沿襲Gaudi中的算法、服務(wù)概念基于軟件主要內(nèi)容背景介紹離線數(shù)據(jù)處理及軟件軟件框架框架實例:Gaudi&SNiPER代碼示范總結(jié)和展望基于軟件框架的數(shù)據(jù)處理28主要內(nèi)容背景介紹基于軟件框架的數(shù)據(jù)處理28實現(xiàn)一個算法(C++偽代碼)基于軟件框架的數(shù)據(jù)處理29使用接口訪問數(shù)據(jù):與數(shù)據(jù)讀取模塊、其它算法解耦和。調(diào)用公共服務(wù):以條件數(shù)據(jù)庫服務(wù)為例,服務(wù)根據(jù)事例上下文自動查找正確的數(shù)據(jù),用戶不必自己寫SQL語句。注冊后的數(shù)據(jù)可被其它模塊訪問,或保存到輸出文件。用戶能更專注于解決物理/數(shù)學(xué)問題。實現(xiàn)一個算法(C++偽代碼)基于軟件框架的數(shù)據(jù)處理29使用接運(yùn)行時作業(yè)配置(Python偽代碼)基于軟件框架的數(shù)據(jù)處理30模塊替換,讀取不同格式數(shù)據(jù)算法組合,執(zhí)行不同功能按需加載公共服務(wù)Gaudi和SNiPER均支持(一定程度上的)C++和Python混合編程C++開發(fā)算法/服務(wù)模塊,能夠保證運(yùn)行速度Python主要用于作業(yè)配置,靈活性強(qiáng)、調(diào)整參數(shù)方便,還可避免反復(fù)編譯等麻煩運(yùn)行時作業(yè)配置(Python偽代碼)基于軟件框架的數(shù)據(jù)處理3主要內(nèi)容背景介紹離線數(shù)據(jù)處理及軟件軟件框架框架實例:Gaudi&SNiPER代碼示范總結(jié)和展望基于軟件框架的數(shù)據(jù)處理31主要內(nèi)容背景介紹基于軟件框架的數(shù)據(jù)處理31基于軟件框架的數(shù)據(jù)處理系統(tǒng)基于軟件框架的數(shù)據(jù)處理32物理軟件平臺ROOTGeant4CLHEP???BOOSTPython框架軟件(SNiPER,GAUDI…)基礎(chǔ)軟件庫數(shù)據(jù)處理系統(tǒng)BOSSNuWa???物理成果實驗平臺基于軟件框架的數(shù)據(jù)處理系統(tǒng)基于軟件框架的數(shù)據(jù)處理32物理軟件展望未來信息技術(shù)仍在快速發(fā)展中并行計算、異構(gòu)計算、大數(shù)據(jù)技術(shù)、機(jī)器學(xué)習(xí)等數(shù)據(jù)處理軟件在科學(xué)實驗中的應(yīng)用展望數(shù)據(jù)爆炸的時代,科學(xué)實驗對數(shù)據(jù)處理技術(shù)越來越依賴軟件開發(fā)技術(shù)+專業(yè)知識=專業(yè)化數(shù)據(jù)處理軟件的發(fā)展方向高層應(yīng)用(算法)開發(fā)簡單化底層軟件專業(yè)化,向高層用戶隱藏技術(shù)復(fù)雜性基于軟件框架的數(shù)據(jù)處理33展望未來信息技術(shù)仍在快速發(fā)展中基于軟件框架的數(shù)據(jù)處理33謝謝!基于軟件框架的數(shù)據(jù)處理34謝謝!基于軟件框架的數(shù)據(jù)處理34軟件復(fù)用技術(shù)的發(fā)展35結(jié)構(gòu)化軟件開發(fā)(FORTRAN)面向?qū)ο筌浖_發(fā)(C++/Java)面向組件和接口的開發(fā)(軟件框架)代碼復(fù)用,函數(shù)庫類庫組件復(fù)用,設(shè)計復(fù)用,結(jié)構(gòu)復(fù)用代碼片段的復(fù)用,用戶仍需考慮應(yīng)用的所有細(xì)節(jié)源代碼復(fù)用的高級形式,相對完整的軟件子功能復(fù)用比類庫粒度更大的子功能復(fù)用;按接口規(guī)范開發(fā)用戶代碼,復(fù)用框架的組件設(shè)計和骨架結(jié)構(gòu)隨著軟件規(guī)模的增長:開發(fā)難度、維護(hù)開銷等因素愈發(fā)重要基于軟件框架的數(shù)據(jù)處理軟件復(fù)用技術(shù)的發(fā)展35結(jié)構(gòu)化軟件開發(fā)(FORTRAN)面向?qū)?6摘自黃性濤教授(山東大學(xué))報告系統(tǒng)和框架基于軟件框架的數(shù)據(jù)處理36摘自黃性濤教授(山東大學(xué))報告系統(tǒng)和框架基于軟件框架的數(shù)基于軟件框架的數(shù)據(jù)處理基于軟件框架的數(shù)據(jù)處理主要內(nèi)容背景介紹離線數(shù)據(jù)處理及軟件軟件框架框架實例:Gaudi&SNiPER代碼示范總結(jié)和展望基于軟件框架的數(shù)據(jù)處理38主要內(nèi)容背景介紹基于軟件框架的數(shù)據(jù)處理2基于大科學(xué)裝置的實驗科學(xué)技術(shù)的發(fā)展對實驗探測技術(shù)的促進(jìn)實驗規(guī)模,大型國際合作組改變了科學(xué)實驗組織模式實驗設(shè)備規(guī)模人力、物力等資源耗費(fèi)規(guī)模數(shù)據(jù)規(guī)模,PB量級數(shù)據(jù)已經(jīng)很常見大亞灣中微子實驗原始數(shù)據(jù)約100TB/年建設(shè)中的江門中微子實驗原始數(shù)據(jù)約2PB/年基于軟件框架的數(shù)據(jù)處理39基于大科學(xué)裝置的實驗科學(xué)技術(shù)的發(fā)展對實驗探測技術(shù)的促進(jìn)基于軟現(xiàn)代高能物理實驗的要素基于軟件框架的數(shù)據(jù)處理40事例源探測器電子學(xué)觸發(fā)、DAQ原始數(shù)據(jù)刻度、重建物理分析成果模擬探測目標(biāo)的來源,如對撞機(jī)、核反應(yīng)堆、自然界的宇宙線感知探測目標(biāo)探測器中反應(yīng)的數(shù)字化信號數(shù)據(jù)(過濾和)記錄還原事例的基本物理信息,如末態(tài)粒子飛行方向、能量等還原事例的完整反應(yīng)過程,如初始粒子的衰變模式等;并通過統(tǒng)計學(xué)等分析方法,從大量事例中尋找規(guī)律預(yù)研階段:優(yōu)化探測器設(shè)計、對離線軟件進(jìn)行檢驗等取數(shù)階段:幫助我們理解探測器性能和軟件性能等現(xiàn)代高能物理實驗的要素基于軟件框架的數(shù)據(jù)處理4事例源探測器電離線軟件在數(shù)據(jù)處理中的作用基于軟件框架的數(shù)據(jù)處理41照相(鏡頭/快門)看相洗相(暗室/顯影/定影)數(shù)據(jù)獲取硬件設(shè)備和物理學(xué)家之間的橋梁,從數(shù)據(jù)到物理成果轉(zhuǎn)化中的關(guān)鍵和重要環(huán)節(jié)刻度、重建洗相物理分析看相離線軟件在數(shù)據(jù)處理中的作用基于軟件框架的數(shù)據(jù)處理5照相看相洗主要內(nèi)容背景介紹離線數(shù)據(jù)處理及軟件軟件框架框架實例:Gaudi&SNiPER代碼示范總結(jié)和展望基于軟件框架的數(shù)據(jù)處理42主要內(nèi)容背景介紹基于軟件框架的數(shù)據(jù)處理6離線數(shù)據(jù)處理示意圖基于軟件框架的數(shù)據(jù)處理43othersites分布式站點數(shù)據(jù)中心實驗數(shù)據(jù)元數(shù)據(jù)實驗數(shù)據(jù)元數(shù)據(jù)刻度Keep-UpProduction(準(zhǔn)實時)PhysicsProduction(定期)元數(shù)據(jù)庫Bookkeeping磁盤磁帶backup數(shù)據(jù)存儲/管理條件數(shù)據(jù)庫數(shù)據(jù)質(zhì)量檢查/監(jiān)控成果發(fā)布latestconditiondatafullreconstructionalgorithmspreliminarydataqualityvalidatedandfrozenconditiondataofficialreleasedandvalidateds/wdataqualityfilebyfiletrackrunbyruntrack實驗現(xiàn)場PhysicsAnalysis(持續(xù))離線數(shù)據(jù)處理示意圖基于軟件框架的數(shù)據(jù)處理7othersit數(shù)據(jù)處理軟件(一)模擬在實驗預(yù)研和建設(shè)階段優(yōu)化探測器的設(shè)計,驗證其性能指標(biāo)為離線數(shù)據(jù)處理系統(tǒng)的開發(fā)提供基礎(chǔ),驗證離線軟件性能在實驗運(yùn)行期間幫助物理學(xué)家理解探測器性能獲取物理分析軟件的性能、誤差等在整個實驗周期內(nèi)都具有重要作用刻度探測器校準(zhǔn)微小的位移自然老化造成的響應(yīng)變化等等……刻度數(shù)據(jù)(條件數(shù)據(jù))的管理不同條件數(shù)據(jù)有不同的更新周期條件數(shù)據(jù)庫為重建算法的精確度提供保障基于軟件框架的數(shù)據(jù)處理44數(shù)據(jù)處理軟件(一)模擬刻度基于軟件框架的數(shù)據(jù)處理8數(shù)據(jù)處理軟件(二)重建物理分析從海量數(shù)據(jù)中尋找感興趣的信號統(tǒng)計學(xué)+物理學(xué)其他事例顯示數(shù)據(jù)質(zhì)量檢查軟件validation…基于軟件框架的數(shù)據(jù)處理45原始數(shù)據(jù):電子學(xué)信號,如探測單元、信號(脈沖)幅度和時間重建數(shù)據(jù):如微觀粒子的能量、電荷、空間位置和運(yùn)動方向等重建結(jié)果的質(zhì)量,對物理分析有直接影響數(shù)據(jù)處理軟件(二)重建物理分析基于軟件框架的數(shù)據(jù)處理9原始數(shù)數(shù)據(jù)處理軟件的開發(fā)周期46實驗預(yù)研探測設(shè)施建造探測器運(yùn)行取數(shù)探測器壽命到期模擬軟件數(shù)據(jù)重建軟件探測器刻度軟件

物理分析軟件基于軟件框架的數(shù)據(jù)處理數(shù)據(jù)處理軟件的開發(fā)周期10實驗預(yù)研模擬軟件數(shù)據(jù)重建軟件物理分高能物理數(shù)據(jù)處理軟件的特點探測器通常是獨一無二的高成本定制設(shè)備,非批量生產(chǎn)的工業(yè)化產(chǎn)品數(shù)據(jù)處理軟件:自主開發(fā)+開源軟件和工具實驗設(shè)備越來越復(fù)雜,參與人員越來越多更細(xì)的分工、團(tuán)隊合作數(shù)據(jù)處理軟件開發(fā)面臨的挑戰(zhàn)數(shù)據(jù)處理過程紛繁復(fù)雜,需求多種多樣從原始數(shù)據(jù)到最終物理成果經(jīng)過多個環(huán)節(jié),前后步驟需要緊密銜接人員組織相對分散(世界各地)、流動性強(qiáng)(學(xué)生畢業(yè)),物理學(xué)家軟件背景不一實驗生命周期內(nèi)的長期發(fā)展和維護(hù)基于軟件框架的數(shù)據(jù)處理47高能物理數(shù)據(jù)處理軟件的特點探測器通常是獨一無二的高成本定制設(shè)基于框架的離線軟件系統(tǒng)48國內(nèi)離線軟件系統(tǒng)BESIII實驗的BOSSDYB實驗的NuWaJUNO實驗的SNiPER。。。流水線思維,離線軟件為流水線,數(shù)據(jù)為產(chǎn)品問題分解:模塊化設(shè)計和開發(fā),方便成員間的分工和合作有機(jī)整體:通過框架實現(xiàn)不同模塊的組合或替換,保證前后步驟的正確銜接團(tuán)隊協(xié)作較復(fù)雜的功能由有經(jīng)驗的人員實現(xiàn),物理學(xué)家不必接觸軟件技術(shù)細(xì)節(jié)長周期內(nèi),穩(wěn)定的軟件接口、統(tǒng)一的開發(fā)規(guī)范基于軟件框架的數(shù)據(jù)處理基于框架的離線軟件系統(tǒng)12國內(nèi)離線軟件系統(tǒng)流水線思維,離線軟主要內(nèi)容背景介紹離線數(shù)據(jù)處理及軟件軟件框架框架實例:Gaudi&SNiPER代碼示范總結(jié)和展望基于軟件框架的數(shù)據(jù)處理49主要內(nèi)容背景介紹基于軟件框架的數(shù)據(jù)處理13離線軟件的構(gòu)成基礎(chǔ)軟件庫和工具軟件開發(fā)通用庫和工具高能物理領(lǐng)域通用的流行軟件:Geant4,ROOT等框架軟件狹義上指通用的離線軟件框架,與實驗無關(guān),如Gaudi、SNiPER等通常也包括與實驗相關(guān)的通用功能模塊,如數(shù)據(jù)模型及其I/O、數(shù)據(jù)庫接口等數(shù)據(jù)處理和分析軟件與實驗緊密相關(guān),需要有物理背景人員開發(fā)專注于對數(shù)據(jù)的計算(算法),不用關(guān)心底層軟件技術(shù)細(xì)節(jié)基于軟件框架的數(shù)據(jù)處理50離線軟件的構(gòu)成基礎(chǔ)軟件庫和工具基于軟件框架的數(shù)據(jù)處理14軟件框架基于軟件框架的數(shù)據(jù)處理51軟件框架(Softwareframework),通常指的是為了實現(xiàn)某個業(yè)界標(biāo)準(zhǔn)或完成特定基本任務(wù)的軟件組件規(guī)范,也指為了實現(xiàn)某個軟件組件規(guī)范時,提供規(guī)范所要求之基礎(chǔ)功能的軟件產(chǎn)品。

----百度百科面向領(lǐng)域,一般不能跨領(lǐng)域使用WEB開發(fā)領(lǐng)域:如Struts、Spring高能物理領(lǐng)域:Gaudi、SNiPER等軟件框架基于軟件框架的數(shù)據(jù)處理15軟件框架(Software軟件框架VS.軟件庫定位軟件庫著眼于處理某一個/一類問題,軟件框架著眼于處理某一領(lǐng)域問題使用方式軟件庫(函數(shù))由用戶調(diào)用,是用戶搭建自己軟件大廈的磚塊軟件框架反向調(diào)用用戶代碼軟件框架中不包含具體功能,但抽象化了軟件的主體執(zhí)行邏輯用戶定義軟件執(zhí)行的具體細(xì)節(jié)軟件框架代表了軟件復(fù)用的新高度介于傳統(tǒng)軟件庫與完整軟件產(chǎn)品之間的“半成品”高度模塊化,易擴(kuò)展用戶能夠更專注于具體問題(如數(shù)據(jù)處理算法),以插件形式將自己的代碼嵌入框架執(zhí)行基于軟件框架的數(shù)據(jù)處理52軟件框架VS.軟件庫定位基于軟件框架的數(shù)據(jù)處理16高能物理實驗數(shù)據(jù)的組織方式53事例1離線軟件一般以事例循環(huán)方式線性處理事例之間相對獨立,或僅時間鄰近的事例之間存在關(guān)聯(lián)事例2事例3事例4事例5事例6…事例:微觀粒子在探測器中的一次可觀測反應(yīng),如e+、e-的一次對撞數(shù)據(jù)文件:若干事例按時間順序依次保存到文件Run:探測器一個運(yùn)行周期(簡單理解為一次開、關(guān)機(jī))期間的數(shù)據(jù),包含若干文件對撞機(jī)中粒子束流不斷衰減,BESIII每隔1-2小時需要重新注束大亞灣實驗探測器每2-3天需要做一次刻度基于軟件框架的數(shù)據(jù)處理高能物理實驗數(shù)據(jù)的組織方式17事例1離線軟件一般以事例循環(huán)方最簡單的軟件框架什么樣?54beginendmoreeventsYNexecute基于事例循環(huán)的數(shù)據(jù)處理偽代碼:最基本要素:反向調(diào)用用戶代碼readEvent()、process(evt)、writeResult(evt)提供事例循環(huán)的頂層執(zhí)行邏輯基于軟件框架的數(shù)據(jù)處理最簡單的軟件框架什么樣?18beginendmoreeve完備的軟件框架主要功能核心功能數(shù)據(jù)管理數(shù)據(jù)格式及其存取內(nèi)存數(shù)據(jù)管理任務(wù)執(zhí)行的流程控制模塊的加載、決定執(zhí)行次序公共服務(wù)功能模塊如條件數(shù)據(jù)庫查詢等用戶編程和運(yùn)行參數(shù)配置接口統(tǒng)一計算環(huán)境和軟件平臺55軟件框架決定著整個離線軟件系統(tǒng)的設(shè)計理念、實現(xiàn)和使用方式、性能和可靠性等用戶規(guī)范編程語言及接口,編碼風(fēng)格統(tǒng)一的運(yùn)行方式一致的開發(fā)和編譯環(huán)境Cmake、gcc開發(fā)管理和版本控制Git、CVS、SVN統(tǒng)一的版本發(fā)布和安裝基于軟件框架的數(shù)據(jù)處理完備的軟件框架主要功能核心功能數(shù)據(jù)管理統(tǒng)一計算環(huán)境和軟件平臺軟件框架的模塊化和層次化56功能分解和模塊化設(shè)計一個模塊專注于完成某項特定功能由相互關(guān)聯(lián)緊密的類組成靈活性與復(fù)雜度的平衡決定模塊粒度劃分模塊間通過接口交互模塊內(nèi)部高內(nèi)聚,模塊之間弱耦合模塊整體可替換為不同實現(xiàn)插件式開發(fā)和使用在不影響原有模塊情況下,向框架骨架中添加新功能層次間相互關(guān)系穩(wěn)定,通過協(xié)議約定降低耦合對比MVC(Model-View-Controller)模型,個人給高能物理離線軟件中常見的層次模型起名為M3CModel-Controller-Calculation-Configure基于軟件框架的數(shù)據(jù)處理軟件框架的模塊化和層次化20功能分解和模塊化設(shè)計層次間相互關(guān)主要內(nèi)容背景介紹離線數(shù)據(jù)處理及軟件軟件框架框架實例:Gaudi&SNiPER代碼示范總結(jié)和展望基于軟件框架的數(shù)據(jù)處理57主要內(nèi)容背景介紹基于軟件框架的數(shù)據(jù)處理21Gaudi由CERN為LHCb開發(fā),非常適合對撞機(jī)實驗使用國內(nèi)主要應(yīng)用BESIII實驗:完美使用大亞灣中微子實驗:可用,但遇到一些困難SNiPER最初為應(yīng)對江門中微子實驗(JUNO)的需求而自主開發(fā)吸取了Gaudi的有益經(jīng)驗和在大亞灣實驗上的教訓(xùn)針對非對撞機(jī)實驗(特別是中微子實驗)做了針對性設(shè)計被國內(nèi)JUNO、LHAASO以及美國的nEXO等實驗采用基于軟件框架的數(shù)據(jù)處理58Gaudi基于軟件框架的數(shù)據(jù)處理22Gaudi軟件框架架構(gòu)示意圖基于軟件框架的數(shù)據(jù)處理59算法(多變)與數(shù)據(jù)(穩(wěn)定)分離瞬態(tài)數(shù)據(jù)(內(nèi)存)與持久數(shù)據(jù)(磁盤)分離Gaudi軟件框架架構(gòu)示意圖基于軟件框架的數(shù)據(jù)處理23算法(Gaudi中的主要組件及其管理算法,對事例數(shù)據(jù)進(jìn)行計算處理的功能單元一般由框架按規(guī)則調(diào)用執(zhí)行,事例循環(huán)過程中執(zhí)行的計算模擬、刻度、重建和分析都主要以算法的形式實現(xiàn)服務(wù),提供公共的輔助性功能,一般由有經(jīng)驗的人員開發(fā)由用戶按需調(diào)用執(zhí)行如探測器幾何信息、條件數(shù)據(jù)庫查詢等組件以插件形式開發(fā),框架通過接口訪問組件新組件的開發(fā)不影響框架和原有組件用戶根據(jù)具體任務(wù)目標(biāo)選擇加載組件,執(zhí)行不同的應(yīng)用功能基于軟件框架的數(shù)據(jù)處理60框架:舞臺服務(wù):燈光、音樂、布景算法:用戶的表演Gaudi中的主要組件及其管理算法,對事例數(shù)據(jù)進(jìn)行計算處理的在Gaudi中開發(fā)一個新算法基于軟件框架的數(shù)據(jù)處理61設(shè)計的復(fù)用ConcreteAlgorithmAlgorithminitialize()execute()finalize()initialize()execute()finalize()從Algorithm基類派生,完成接口的具體實現(xiàn)不必考慮應(yīng)用整體的設(shè)計與其它組件通過框架交互沒有面向?qū)ο缶幊探?jīng)驗的用戶也能快速開發(fā);用戶能更專注于科學(xué)計算本身在Gaudi中開發(fā)一個新算法基于軟件框架的數(shù)據(jù)處理25設(shè)計的基于軟件框架的數(shù)據(jù)處理62Gaudi應(yīng)用運(yùn)行時序圖結(jié)構(gòu)的復(fù)用初始化事例循環(huán)收尾工作基于軟件框架的數(shù)據(jù)處理26Gaudi應(yīng)用運(yùn)行時序圖結(jié)構(gòu)的復(fù)用SNiPER軟件框架沿襲Gaudi中的算法、服務(wù)概念新增任務(wù)(Task)組件Task負(fù)責(zé)事例循環(huán)Task可以嵌套子Task,即事例循環(huán)的嵌套事例內(nèi)存管理基于時間窗的事例緩存,支持鄰近事例的關(guān)聯(lián)處理和分析輕量,核心模塊僅依賴C++標(biāo)準(zhǔn)庫和準(zhǔn)標(biāo)準(zhǔn)庫Boost框架關(guān)鍵功能完備基于軟件框架的數(shù)據(jù)處理63繼續(xù)前面對舞臺的類

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論