JUNO数据模型设计和相关软件开发 李腾 黄性涛 山东大学 2015.8 合肥 2018/12/2.

Slides:



Advertisements
Similar presentations
陳旺全醫師主講 健康養生茶飲 明目菊花茶 明目菊花茶 成分:菊花五錢、 500c.c 熱水沖泡 成分:菊花五錢、 500c.c 熱水沖泡 功效:可治療急慢性結膜炎、頭暈 功效:可治療急慢性結膜炎、頭暈 頭痛、口苦、口乾、高血壓 頭痛、口苦、口乾、高血壓.
Advertisements

六大類食物 五穀根莖類 六大類食物 油脂類 蛋魚肉豆類 奶類 蔬菜類 水果類. 五穀根莖類 : 提供熱量 : 部份蛋白質,維生素,礦物質,及膳食纖維 包含麵 ( 及麵包饅頭 ) ,飯類,蕃薯等食物 也就是一般所稱的 " 主食 " ( 蘿蔔不是這一類,是屬於蔬菜類喔! ) 飲食建議吃三到六碗 並推薦攝取全穀類食品.
正確睡午睡精神更好 正確睡午睡 精神更好 可降血壓 增加思考能力 懶懶的冬天加 上星期一又是假日後上班,如果能夠在 中午補個眠,稍微休息一下,對於精神 的提振及下午工作效率都有幫助。但冬 天睡午覺要注意保暖以及水分的補充, 避免受涼或是血液循環不好,造成手或 腿麻痛,注意這些小地方可以讓睡午睡 更健康!
揮別電腦族疲勞症候群 主講人 : 陳潮宗 中醫師. 常有症狀一 起因&症狀: 起因&症狀: 坐姿不正最易引起腰酸背痛、 過度看螢幕則眼睛疲勞酸痛。 治療重點: 治療重點:補固腰腎、明目保睛。
引言 高血壓自我健康管理包含飲食、 運動、 及健康生活型態三大方向。 飲食 是改善高血壓的重要部分, 並提 供飲食方式來改善高血壓。
人事室專題計畫業務報告 人事室 謝明峯 轉 一、專任助理注意事項 計畫案如有聘任專任助理者, 請依據「南 華大學專案助理報到程序單」內容, 將資 料繳交至人事室 ( 請於聘任到職日前繳交, 以免影響到本身權利 ) 。 離職儲金或勞工退休金 依勞工退休金條例相關規定,
山伯與英台在健康書院修業完 成後,一行人逗陣開開心心的 回自己的家鄉 …… 於是開啟了另一段 ~ 新梁祝的故事 ~ 在下 梁山伯 小女子 祝英台 我是 阿成 我是 阿香.
糖尿病的饮食控制 厦门长庚医院张翼翔. 糖尿病 糖尿病的发病率逐年增高 糖尿病的发病率逐年增高 糖尿病对健康和生命的危害 糖尿病对健康和生命的危害 心、脑、肾、神经等 心、脑、肾、神经等 糖尿病的表现和诊断 糖尿病的表现和诊断 糖尿病的治疗 — 终身治疗 糖尿病的治疗 — 终身治疗.
第八章 膳食與營養 第一節 均衡營養與膳食 年 7 月公布新版「每日飲食指南」, 依食物營養特性,分為六大類: 全榖根莖類 蔬菜類水果類 低脂乳品類 油脂與堅果種子類 豆魚肉蛋類 食全十美.
中醫臨床常見養生藥膳 臺 北 市 立 聯 合 醫 院中醫院區 院長 鄭振鴻. 壹、前言 在臺灣地處亞熱帶的氣候,冬季溫暖,夏 季炎熱,雨量多的特性。吃補的概念源自 中國大陸,但生活習性與食物亦有其地域 性,因此針對臺灣常用藥膳的食物與藥物 的性能作用,解析其效用、功能,了解食 物與人的關係,利用食物特性,藥物的效.
青春期 女生可以早在八、九歲, 或晚到十三、四歲才進入 青春期。 男生早的在十、十一歲, 晚到十四、五歲,甚至更 遲才進入青春期。
高職生的早餐飲食習慣之研究 以市立士林高商為例 二年九班 李婷葦 二年九班 卓佳惠 二年九班 郭胤彣 關鍵字:早餐. 飲食習慣. 士林高商.
第八課 路 *課前預習 一 二 三 *題解 *作者介紹 *課文內容 一 、 、 、 *修辭回顧
請愛惜自己 衛生署日前公佈了去年國人的十大 死因統計,惡性腫瘤(癌症)又第 二十度蟬聯冠軍,而且是每四名死 亡人口中,就有一人「因癌而」,
E時代盛宴 健康123年菜發表會 新春新氣象,處於資訊蓬勃E時代的您,是否已構思好如何為自己及家人準備一桌健康、豐盛的年菜?隨著國人健康意識的提升,對年菜訴求也有別於傳統年菜四大特點-高油、高鹽、高糖、低纖,加上其繁瑣的製備過程,對講求速度及效率的E時代族群而言,已不符現今年菜簡單製備、健康需求性。在這距離農曆春節只剩短短二個星期,豐原醫院營養室關心您的健康、滿足您的胃蕾,推出「E時代盛宴-健康123-年菜發表會」,以「一高、二少、三低」的健康原則,利用家中減少烹調油量的鍋具,如:烤箱、電鍋、不沾鍋等,製
生活常規.
雅樂舞基本動作與身體探索 陳玉秀老師主授 【本著作除另有註明外,採取創用CC「姓名標示-非商業性-相同方式分享」台灣3.0版授權釋出】
嘴破怎麼辦? 嘴角或嘴唇內常常破一小傷口的人, 吃東西時真是痛苦萬分; 有的人試著補充維他命C及B群,
我征服了黃山 林達的黃山之旅 2006春.
肺臟的藥膳介紹 台中慈濟醫院 中醫部 陳建仲.
位置的表示方法.
說明完後將會有一個小測驗歐! 要認真聽歐!
合理水價之探討 台灣省自來水公司前財務處經理 王禮忠 台灣省自來水公司財務處組長 賴祐.
口腔衛生保健 主講者:興中國小 護理師:莊靜華.
花孃心語.
校园信息管理系统 河北科技大学网络中心 2000/4/10.
水 生命之源 威海文登中心医院 王倩倩.
認識大腸直腸癌 大腸直腸外科 李元魁醫師.
芳香小物.
健康飲食觀 主講人:蘇麗棗.
兔 子.
請愛惜自己 衛生署日前公佈了去年國人的十大 死因統計,惡性腫瘤(癌症)又第 二十度蟬聯冠軍,而且是每四名死 亡人口中,就有一人「因癌而」,
節能減碳—兒童廢物利用 遊戲闖關活動 設計者—賴姿良 陳俐諭 陳松吉.
數位芝麻網路公司( 軟體工程師
第二章 项目一:企业厂区与车间平面设计 1.
牙齒保健常識 胖福2050/12.
第1课 欧洲的君主专制 香山中学 聂渭清.
第一章信託法 第一節 信託契約 第二節 信託財產 第三節 受益人 第四節 受託人 第五節 信託關係之消滅.
徵收苗栗市福全段147、1588及文心段10、11地號等4筆土地之
農委會及其他計畫 執行應注意事項 第四組 涂怡禎 日期:104年10月5、6日.
膀胱過動症 & 間質性膀胱炎 台中榮總/埔里分院 蔡青倍.
讲 义 大家好!根据局领导的指示,在局会计科和各业务科室的安排下,我给各位简要介绍支付中心的工作职能和集中支付的业务流程。这样使我们之间沟通更融洽,便于我们为预算单位提供更优质的服务。 下面我主要从三方面介绍集中支付业务,一是网上支付系统,二是集中支付业务流程及规定等,
嘴破怎麼辦? 嘴角或嘴唇內常常破一小傷口的人, 吃東西時真是痛苦萬分; 有的人試著補充維他命C及B群, 有的人塗抹進口藥膏,
小組成員:洪偉凱 簡子昀 李佳旻 陳泓憲.
延伸課程(專題研習)科美好生活之成長的我
微笑的天空 2008.12.1(星期一)農曆戌子年十一月四日的傍晚天上的金星、木星在上弦月左右相互輝映,形成「微笑的天空 」天文奇景。 「金星、木星伴月」,在空軍官校停機坪的上空微笑著面對著校園裡所有仰望天空的筧橋學子,真是令人難忘!因此,決定將網路詩集的初刊定名為「微笑的天空 」。
中国人民公安大学经费管理办法(试行) 第一章总则 第四条:“一支笔” “一支笔”--仅指单位主要负责人。负责对本 单位的经费进行审核审批。
別忘了,每天都要…… 實踐8大自然養生法 保持3次排便 至少喝3杯蔬果汁 曬太陽30分鐘
泰式料理食譜 137實餐 謝宏德.
奶 麻.
【本著作除另有註明外,採取創用CC「姓名標示-非商業性-相同方式分享」台灣2.5版授權釋出】
在 线 考 试 系 统 的 设 计 学 生: 班 级: 指导老师:.
8-5 特別口腔清潔法 (一)目的 1. 為病情較嚴重而無法自行刷牙的案主保持口腔清潔、潮溼與舒適。 2. 避免口腔發生感染情況。
【本著作除另有註明外,採取創用CC「姓名標示-非商業性-相同方式分享」台灣2.5版授權釋出】
兒 童 營 養 高雄長庚醫院營養治療科 營養師 洪凱殷.
第四章 内战与危机 第一节 南京国民政府统治的确立与加强 第二节 中共的武装反抗和土地革命 第三节 日本入侵与局部抗战
一年三班 我 愛 早 讀 102/11/11.
狗狗宝典 (全新版) 汪汪出版社.
西餐烹調 香蒜白酒海瓜子麵 焦糖布丁.
大亚湾反应堆中微子实验 离线软件 何苗 中国科学院高能物理研究所
邹佳恒 第十八届全国科学计算与信息化会议 • 威海,
第 5 單元:法規的種類與位階關係(二) 1 【本著作除另有註明外,採取創用CC「姓名標示-非商業性-相同方式分享」台灣3.0版授權釋出】
微信商城系统操作说明 色卡会智能门店.
國立勤益科技大學 105學年度新進教師輔導講習 總務處業務簡報 報告人:鄭文達總務長 105年9月6日.
第三章 世界文明的蛻變與互動 第一節 歐洲社會的蛻變 第二節 世界文明的交匯 第三節 亞洲大帝國的發展 1.
中国农业科学院博士后学术论坛 博士后基金申请的经验及体会 中国农业科学院生物技术研究所 秦 华 博士
EventDB: 基于NoSQL的高能物理事例管理
臺灣當代小說與電影 授課教師:宋千儀 老師 【本著作除另有註明外,採取創用CC「姓名標示-非商業性-相同方式分享」台灣2.5版授權釋出】
网校温州中学 关于显性基因与隐性基因 ——
大綱 一.受試者之禮券/禮品所得稅規範 二.範例介紹 三.自主管理 四.財務室提醒.
Presentation transcript:

JUNO数据模型设计和相关软件开发 李腾 黄性涛 山东大学 2015.8 合肥 2018/12/2

目录 JUNO离线软件简介 数据模型设计 总结 基于ROOT的数据模型设计方案 智能指针SmartRef 事例导航器EvtNavigator 延时加载特性 工具软件XmlObjDesc 总结 2018/12/2

JUNO离线软件简介 JUNO离线软件由以下部分构成: 外部库软件:广泛应用于高能物理实验的工具和库 JUNO相关软件包:模拟、重建等 SNiPER:用于非对撞高能物理的新底层框架 2018/12/2

数据模型 什么是事例数据模型? 数据模型指在粒子物理实验离线数据处理过程中,事例在不同处理阶段所需处理或生 成的相关信息的组织方式 定义数据在内存/文件中存在的格式 以C++对象形式存在 Data Store 输入/输出 数据模型(Transient) 文件 GenEvent SimEvent RecEvent PhyEvent 获取/修改/存放 用户算法 Recon- struction Generator Simulation Analysis 2018/12/2

基于ROOT的数据模型设计方案 JUNO数据模型基于ROOT开发 在高能物理实验中,ROOT功能强大,应用广泛 输入/输出(ROOT I/O) 运行时类型信息(RTTI) 画图(Draw) 容器支持(ROOT Collections) …… 其它优势: 数据模型类的Streamer功能可以简化框架的输入输出服务 支持数据模型类的版本进化 内存和文件中可以用同一套数据模型,不需要转换 2018/12/2

数据模型设计方案 数据模型设计方案: 所有数据模型类间接或直接由 TObject派生 每个过程定义自己的Header和 Event类型 EvtNavigator关联各个Header 2018/12/2

Header和Event分层的设计 每个过程的数据模型由两部分组成: 将能够反映事例的关键信息(Tag)保存到 Header中 HeaderObject EventObject 分别保存事例的元信息和完整的数据. 将能够反映事例的关键信息(Tag)保存到 Header中 提升事例筛选的速度:仅将Header读入内存并判断 是否读入Event Header和Event之间的关联由智能指针 SmartRef实现 2018/12/2

智能指针SmartRef: 动机 设计SmartRef的动机: 实现数据模型对象之间的关联 希望可以实现关联对象的延时加载功能 普通的C++指针或智能指针只能实现内存中的对象关联,无法实现文件中复杂的关联: 希望可以实现关联对象的延时加载功能 实现上述Header及Event分离的设计并实现快速筛选 简化输入服务 文件 文件 Obj A Obj B Obj A Obj B 文件1 文件2 Obj A Obj B Obj C Obj C Case A: 多个对象关联一个对象 Case B: 互相/循环关联 Case C: 关联对象存入不同文件 2018/12/2

智能指针SmartRef: 设计方案 设计方案: ROOT为对象关联提供了一个解决方案TRef,但有一些缺陷和限制:延时加载速度慢、 占用空间大等 SmartRef基于ROOT中TRef的功能并重新设计 保留TRef关联对象的功能,重新设计并实现延时加载、引用计数等功能 SmartRef结构: SmartRef由TObject派生 可关联EventObject类型的对象 关键变量:fUniqueID(整型),fPID(TProcessID) 2018/12/2

智能指针SmartRef: 工作原理 SmartRef关联对象的原理: SmartRef利用全局统一标示符(Universally Unique IDentifier, UUID)实现对象在内存和文件 中的关联 在一个ROOT相关进程里,ROOT会创建TProcessID对象,其内部存有一个UUID TProcessID被创建的同时,一个全局指针数组和一个全局整形变量会被同时创建 TProcessID (UUID) ObjNum 全局指针数组 …… 2018/12/2

智能指针SmartRef: 工作原理(续) SmartRef利用全局统一标示符(Universally Unique IDentifier, UUID)实现对象在内存和文件 中的关联 当一个SmartRef和一个EventObject建立关系时,SmartRef中的fPID就会指向当前的TProcessID 同时全局整型变量会自加1,并分别赋值给SmartRef和EventObject的fUniqueID 同时一个指向这个EventObject的指针会被置入这个全局数组的相应位置 TProcessID (UUID) ObjNum ++ 全局指针数组 …… SmartRef fPID fUniqueID EventObject fUniqueID 2018/12/2

智能指针SmartRef: 工作原理(续) SmartRef和EventObject的关系就此建立 当用户通过SmartRef访问EventObject的时候,会通过SmartRef中的fPID和fUniqueID这两个量在指 针数组中找到相应的位置,并获得EventObject I/O过程: SmartRef和EventObject被写入文件时,TProcessID会同 时被存入 保存有SmartRef和EventObject的文件被打开时, TProcessID会被读入内存,并重新创建指针数组 EventObject读入内存后会被自动置入指针数组 SmartRef和EventObject的关系重新被建立 2018/12/2

基于SmartRef的应用: EvtNavigator EvtNavigator将同一事例在不同处理阶段的数据模型利用SmartRef关联起来 用户可以用路径访问EvtNavigator,并获取事例在任意处理阶段的信息 EvtNavigator将单独保存到数据文件一个TTree中,并作为数据输入输出和访问的主线 EvtNavigator Get from data store Access with data path GenHeader SimHeader CalibHeader RecHeader PhyHeader 2018/12/2

基于SmartRef的延时加载: 动机 由于JUNO高精度的要求,单个事例包含的信息可能十分庞大 一次性读入整个事例会带来较大的磁盘传输压力 延时加载指输入服务不主动输入被SmartRef关联的对象,而会延时到用户主动访 问其时才会自动加载的功能 配合数据模型Header和Event分层的设计,可令用户在不加载全部事例信息的情况下完成事例筛 选 配合事例导航器EvtNavigator的设计,在面临有相关联的多输入流的情况时,也可以极大得简化 输入服务和内存管理系统的设计难度 配合SmartRef,ROOT和输入服务实现延时加载机制 2018/12/2

输入服务概览 JUNO ROOT输入服务的简要构造: RootInputSvc:输入服务的用户接口,管理RootInputStream InputElementKeeper:负责提供延时加载机制 2018/12/2

延时加载工作原理 延时加载工作原理: SmartRef关联的对象被写入TTree时,它们的UniqueID会被同时记录到表中并被写入文件 对应的TProcessID中的UUID会被写入文件元信息 输入服务初始化时,InputElementKeeper模块会读入输入文件的元信息,并建立一个UUID与文 件的映射表 ROOT文件 InputElementKeeper Map: UUID --- 文件 TTree UniqueID 表 TTree UniqueID 表 TTree UniqueID 表 File Meta Data (UUIDs) 2018/12/2

延时加载工作原理(续) 延时加载工作原理: 用户访问SmartRef时,SmartRef首先在内存中查询,如果未找到则启动延时加载机制 SmartRef访问InputElementKeeper,根据UUID查找关联对象所在的文件 InputElementKeeper打开文件,加载Unique ID表,查询关联对象所在文件中的位置 读入关联对象,完成加载 ROOT 输入服务 访问 查询对象 对象未加载 访问输入文件 SmartRef InputElementKeeper 输入文件 加载ID表格 成功加载 2018/12/2

XmlObjDesc: 使用Xml定义数据模型 不同的数据模型类由不同的用户定义 代码的统一是比较重要的 需要大量手动的重复性工作(getter, setter) 数据模型类的实现遵循一定规则,无需用户关心和实现 我们开发了XmlObjDesc(XOD), 帮助用户使用XML定义数据模型 数据模型开发者可以只关心数据模型的内容并书写XML文件,无需关心代码实现 XOD解析XML文件,并依据我们制定的规则产生C++代码 2018/12/2

Document Type Definition XmlObjDesc: 结构 XOD由python实现,按功能可分为XML解析器和代码产生器: *.h (C++ header) generate Code Generator Template header.tpl … genClasses.py genLinkDef.py *.cc (C++ source) model genSrc.py genPackage.py …… *LinkDef.h Document Type Definition xdd.dtd, xld.dtd… Xml Parser Xml files validation parse 2018/12/2

总结 总结 简要介绍了基于ROOT的JUNO数据模型设计 详细介绍了SmartRef智能指针及其延时加载的特性 介绍了工具XmlObjDesc 2018/12/2