Download presentation
Presentation is loading. Please wait.
1
北京谱仪III 数据获取系统 中科院高能所 2008年6月30日
2
DAQ在高能物理实验中的位置 电子学:将探测器输出的信号放大、成形等处理后数字化,将 信息暂存并作数据预处理;
触发判选:选择满足物理条件的好事例,压缩本底事例; 数据获取和在线分析:读出通过触发判选的好事例数据,以数 字形式记录下来;给出反映探测器性能的各种统计图形以及所 获事例的分类统计图形,监测探测器与电子学工作状态; 离线数据分析:将在线机上记录下来的数据在离线机上进行分 析和处理,把数据还原为粒子种类、能量、动量等物理量。
3
What the Trigger & DAQ Does
To keep only pink hexagonal widgets moving down a conveyor belt. y/n y n Trigger Trigger: Stamp “y” on the pink hexagonal widgets Stamp “n” on the others n y trash SAVE DAQ DAQ: Saves only widgets labeled “y” The problem is: Working fast means you make some mistakes !
4
Requirements: Decision Time
Each widget must get examined and stamped - To decide on one before the next one comes along. - The decision can’t take longer than Dt = d/v. - Taking more time means making less mistakes. Trigger d y/n y n n y v
5
Requirements: Efficiency
Can’t stamp too many pink hexagonal widgets ”n”: Trigger DAQ ? ? ? y/n n n n n SAVE n n n trash
6
Requirements: Rejection
The rate of widgets stamped “y” can’t exceed the capacity of the DAQ to save them. Whenever the DAQ is busy saving something it causes “dead-time” (he will miss the next few widgets). If he misses any marked “y”, this causes a loss of efficiency. Trigger DAQ y/n y y y y y SAVE y trash
7
Working in Steps: Pipelining
Have more than one person working in series - Each individually one takes less than Dt = d/v - Collectively, much more work is done - A smarter decision can be made – less mistakes Trigger y/n DAQ d y n n y y v SAVE n trash
8
DAQ in the 1960s and 1970s Used NIM-based FEE modules readout by a single minicomputer using CAMAC as a readout bus Lacked parallelism Low data rates of kilobytes per second
9
New trends during the 1980s An increase in detector resolution increased the number of channels. The study of rare events made it necessary to increase the event rate to achieve the required statistics. Caused an increase in DAQ system bandwidth requirements to several MByte/s. Permanent storage bandwidth was around 100 KByte/s, requiring a data rate reduction by filtering out non- interesting events in the trigger systems.
10
New trends during the 1980s The increase in sub-detector complexity justified the DAQ being partitioned into several partitions which could work autonomously. All the partitions work together in a single DAQ system. The advent of the microprocessor added parallelism to the new readout architectures by enabling the use of multiple processors.
11
DAQ systems in the 1980s A hierarchical tree-like structure with computing nodes at the branch intersections Enabled distributed computing, profiting from the VME and Fastbus multi-master feature Eased the creation of DAQ partitions Enabled data rates of megabytes per second
12
New trends in the 1990s & 21st century
The extension of the VME board size to 9U in order to accommodate more electronics on a single board. The use of ASICs to reduce the board size requirements for both the front-end and the VME interface logic.
13
New trends in the 1990s & 21st century
But the crate-based backplane architecture could not be used as the backbone in large DAQ systems with data rates of gigabytes per second. Bandwidth limitations of backplane and inter-crate buses Bus Bus Raw bandwidth (MByte/s) Effective bandwidth (MByte/s) CAMAC 20 Below 1 VME 40 10–20 VICbus 30 3 Fastbus 200 40–60
14
New trends in the 1990s & 21st century
The VME backplane at crate level replaced by point-to-point high speed links for communication between modules VICbus for inter-crate connection replaced by Switch based event builders Expensive computing facilities replaced by PC based computer farms running Linux and interconnected via network technologies such as Ethernet.
15
New trends in the 1990s & 21st century
Using PCI as a high-speed readout bus PMC standard FPGA Data are more efficiently processed locally on-board A PCI card with FPGA, memory, and mezzanine connectors can become a generic readout platform For a given application, only a specific mezzanine card has to be designed (ADCs, I/O interfaces, etc.)
16
New trends in the 1990s & 21st century
Collecting data techniques were discussed and push architectures were studied. Classical architectures relied on computing nodes pulling data from the upstream stage, building a sub-event, buffering it, and then pulling from the downstream stage. Increased performance can be obtained with push architectures in which processing nodes accept data from the upstream stage, build a sub-event, and push it to the downstream stage. Flow control then becomes an issue in order to avoid destination buffer overflow.
17
DAQ in the 1990s & 21st century
18
CMS DAQ Baseline Collision rate 40 MHz No. of In-Out units 512
Level-1 Maximum trigger rate 100 kHz† Average event size ≈ 1 Mbyte Event Flow Control ≈ 106 Mssg/s † 50 kHz at startup (DAQ staging) No. of In-Out units 512 Readout network bandwidth ≈ 1 Terabit/s Event filter computing power ≈ 106 SI95‡ Data production ≈ Tbyte/day No. of PC motherboards ≈ Thousands ‡ 6105 at startup
19
A Possible Implementation of the Network Architecture for the ATLAS T/DAQ system
Start up scenario: 25 kHz LVL1 output rate.
20
BEPCII Project Luminosity: 3.77GeV
22
BESIII DAQ设计指标 1000 * BESII DAQ 触发率: 4KHz 事例长度:12KB 数据带宽:48MB/s
Sub-Detector Channels MDC (T+Q) EMC 6240 TOF (T+Q) MUC 9088 Total ~ 30K 触发率: 4KHz 事例长度:12KB 数据带宽:48MB/s 死时间: < 5% 1000 * BESII DAQ
23
功能需求及系统组成 数据获取 运行控制 电子学刻度 数据监测 Event Filter 数据库
前端电子学读出:通过VME总线由PowerPC读出 数据流:负责探测器数据通过网络传送 运行控制 电子学刻度 数据监测 单事例显示 直方图显示 Event Filter 数据库
24
技术措施 分布式并行计算、层次结构 多线程技术、面向对象 基于网络交换技术 多级数据缓存 模块化设计,易升级和扩展 系统可靠、稳定
A multi-processor distributed environment Parallel data streams working independently and concurrently 多级数据缓存 模块化设计,易升级和扩展 系统可靠、稳定
25
DAQ基本框架
26
前端电子学读出任务及性能需求 系统任务 系统硬件组成 9U、6U VME机箱 MVME5100(主频450MHz) 管理前端电子学插件
响应DAQ后端控制命令、驱动电子学系统 读取前端电子学插件中的事例数据 检验数据正确性并完成第一级事例组装 通过网络将数据上传 完成前端电子学系统校准 系统硬件组成 9U、6U VME机箱 MVME5100(主频450MHz) 管理前端电子学插件
27
前端电子学读出基础软件框架 涉及5个读出子系统,避免重复设计
框架层:负责整个读出系统的通用功能,包括状态机跳转控制、网络连接、全局变量维护、中断服务等 读出子系统相关层:驱动每个电子学子系统的特有部分,具有硬件针对性
28
状态机系统运行状态图
29
框架层与子系统相关层状态机关系图
30
前端电子学读出核心任务与运行数据流
31
前端VME数据读出和处理(1) 单次VME总线读写 DMA方式进行大量数据传输,释放CPU 网络传输
平均每次读/写操作:1.7 / 1.1μs 4KHz事例率,单机箱400字节数据长度的条件下,传输耗时:1.7μs×100×4000=0.68s DMA方式进行大量数据传输,释放CPU 平均每传输4个字节:0.3μs 4KHz事例率,单机箱400字节数据长度的条件下,传输耗时:0.3μs×100×4000=0.12s 网络传输 达到100Mbps极限速度时占用50%的CPU
32
前端VME数据读出和处理(2) CBLT(Chained Block Transfer)方式 环形缓冲 多事例读出,降低CPU占用率
启动DMA传输之前需指定传输的数据块长度 每次触发产生的数据长度是随机的 机箱中有多个电子学读出插件 响应中断和启动传输都需要CPU干预 CBLT方式不需要事先指定传输的数据块长度,由BERR信号结束传输,插件之间通过令牌传递 环形缓冲 可以高效、紧凑地利用空间 多事例读出,降低CPU占用率 减少响应中断和启动传输次数
33
前端VME数据读出和处理(3) 并发任务 出错处理和状态报告 自动识别不同的电子学系统 FWCbltTrans: 负责CBLT数据传输
DataPack: 负责数据组装和格式转换 FWNetTrans: 负责将组装后的数据通过网络发送 FWReportStatus:负责报告当前状态和出错信息 出错处理和状态报告 触发号检查 电子学读出数据的格式检查 定时报告运行信息,如本run的总中断事例数 自动识别不同的电子学系统 简化程序设计,减少运行维护的工作量
34
PowerPC CPU占用率 与每次中断读出事例数的关系
触发率设定为 6KHz 单机箱每次触发的数据长度设定为 1K字节 → 单机箱的数据量为 6MB/s
35
PowerPC CPU占用率 与事例率的关系
每次中断读出16个事例,事例率分别为2/4/6/8KHz 单机箱每次触发的数据长度设定为1KB → 单机箱的数据量分别为2/4/6/8MB/s
36
MDC读出子系统测试 MDC四机箱联合测试 4台9U、 1台6U VME机箱,每9U VME机箱16块MQT插件
37
MQT插件设置电荷通道50%击中,时间通道屏蔽,每中断读出16个事例的系统负载情况
事例率 33号机箱 CPU/死时间 34号机箱 35号机箱 36号机箱 8 KHz 57% / NO 58% / NO 6 KHz 43% / NO 44% / NO 4 KHz 29% / NO 2 KHz 15% / NO
38
MDC 4 机箱极限响应性能测试 电荷通道25%击中,时间通道屏蔽,每中断8个事例
39
EMC读出子系统单机箱性能测试 VME机箱14块EMC Q插件 每Q插件32Q通道,设置25%通道击中率
40
TOF读出子系统任务单机箱性能测试 单机箱两块FEE插件
单实例数据长度为192bytes,事例率设定6KHz,8KHz,每中断读出1、2、4、8、16事例 CPU Trg/Int 事例率 1 2 4 8 16 6000Hz 38% 27% 18% 14% 11% 8000Hz 47% 34% 22% 16% 13%
41
MUC读出子系统任务单机箱性能测试(2006.09) 两块VME读出插件,每插件接4条链,每链接3块FEC板
设定单实例数据量为96字节,事例率10000Hz,每中断读出8个事例时,数据读出速度达1MB/s,稳定性较好
42
TRG与EMC读出子系统联调(2007.09) TRG系统一台9U、一台6U机箱,EMC 3台9U VME机箱
调试过程为整个读出系统实现奠定了基础,触发系统配置时序,配置信息得到确认,系统间配置时序调整
43
DAQ基本框架
44
控制和数据流程
45
运行停止时的时序控制
46
Sub-event size in each readout PC
Configuration SFI … 4 SFI Xeon 2.8G x 2 1 Gbps Switch Xeon 2.8G x 2 100 Mbps DFM 1 Gbps ROS … 4 ROS Xeon 2.8G x 2 Sub-event size in each readout PC 256, 4096, & Long words
47
TCP UDP
48
TCP UDP
49
硬件平台 以太网交换机 IBM服务器 - 9 x Catalyst 3750 24 10/100/1000 + 4 SFP
- 2个IBM刀片中心: 2 x 3.2GHz处理器 + 2 GB内存 - 1个IBM刀片中心: 2 x 3.2GHz处理器 + 2 GB内存+ 1块千兆光纤网卡 - 5台IBM x346服务器: 2 x 3.2GHz处理器 + 2 GB内存 + 1块千兆光纤网卡 + 1.5TB磁盘
50
DAQ系统部署 Control PCs 3 Blade centers 5 Servers Router 4 Switches UPS
51
DAQ性能测试
52
运行控制(RunControl) 负责系统运行控制,提供DAQ系统的状态管理,控制数据获取的动作行为
遵循有限状态机模型的控制器分级系统,组织成树型层次结构,避免单一控制结点产生消息瓶颈
55
电子学刻度软件需求 功能性需求 分布式环境下的并行处理 多子系统类型、多种运行模式的统一化管理 对原始刻度数据的数值拟合计算
多样化的数据处理方式 管理前端读出子系统 分支运行控制管理与状态机自动跳转
56
电子学刻度软件需求 非功能需求 限制条件 与BESIII DAQ系统充分融合 要求实时获取电子学刻度数据
要求统一管理框架易于扩展(台阶、Monitor) 具备灵活的配置结构,力求满足BESIII各系统调试运行时提出相应的各种需求 限制条件 不能影响正常取数模式下的DAQ系统运行 人机界面(Java)、数据流处理与控制(C++)
57
电子学刻度用例分析
58
Physics Calibration PED Wave Monitor MDC Y Y (Q/T) N TOF Y (Q) EMC Y (Q:3Range) MUON TRIG
59
NonPhysics统一管理框架 插件管理 动态加载 数据驱动 组合扩展 配置模式 BESIII DAQ所有非正常取数模式运行的管理核心
60
NonPhysics统一管理框架 数据驱动
61
算法与数据处理 数值拟合——最小二乘法 提供两种拟合精度:线性拟合、二次项拟合
62
算法与数据处理 对计算后参数信息处理 直方图填充 存储数据库 通道扫描检查
63
算法与数据处理(直方图)
64
算法与数据处理(数据库)
65
电子学刻度运行结果
66
算法检验 考虑量程 不考虑量程 对同一个RUN校准前后的两类数据进行比较 量能器电荷测量直方图 是否考虑量程信息
67
单事例显示软件需求 功能需求 BESIII探测器及信号击中的三维场景渲染 探测器几何信息采用XML管理
事例数据:分布式环境数据流、在线事例文件 三维场景的多视角显示 三维场景的图像控制
68
单事例显示软件需求 非功能需求 限制条件 考虑BESIII DAQ系统开发平台一致 整个场景按树型逻辑部署 人机交互与控制 软件升级,扩展性
69
事例数据管理——数据工厂 监测模式:在线模式,离线模式 采用工厂模式 事例数据统一化管理 离线模式 在线模式
70
事例可视化运行
71
事例可视化运行 固定视角(北、上、东) 图像控制(鼠标或者界面按钮) 旋转 缩放 平移
72
在线直方图 监测探测器运行状况,帮助系统调试 分布式集群环境,几十个节点并行填图 直方图全部更新一次数据传输量大
73
在线直方图需求 功能性需求 在DAQ的分布式环境中,监测系统必须能够从提供处传输监测数据和监测结果到用户
监测系统必须提供快速、全面、完整的信息 监测系统必须实现可配置的图形用户接口,用来反映所有监测项目的状态。 监测系统必须是灵活的、可配置的 监测系统能对监测结果执行自动的检查
74
在线直方图需求 非功能型需求 限制条件 实时性(秒级即可) 性能(监测全部事例数据) 可靠性与稳定性
在线监测系统不能给DAQ数据流带来负面的影响
75
直方图填注子系统部署方案实现 嵌入SFI 直方图填注可以在完成EF的传输后删除前执行 新增一个填注线程、一个直方图发布线程
76
直方图填注子系统的设计与实现 OHF (Online Histogram Filler)实现 事例数据解析 使用XML配置数据库配置
支持ROOT和数组两种直方图实现 提供状态机的转换的调用接口 发布运行信息和错误消息报告
77
直方图填注子系统的设计与实现 直方图填注配置 逻辑层为单位 探测器通道为单位 填注范围 OHFLayer、OHFLayerSet
OHFCell、OHFCellSet 填注范围 Whole 全部填入一张图 Each每单位一张图
78
直方图收集子系统设计与实现 OHG实现 获取不同节点的直方图,合并得到完整的直方图,然后再次发布 使用XML配置数据库配置
使用IS内部直方图格式 提供状态机的转换的调用接口 发布运行信息和错误消息报告
79
直方图收集子系统设计与实现 OHG配置模式 提供提供者的列表 发布配置 直方图配置 OHGProviders OHFPublishConf
OHGHistogram 对应OHFHistogram 得到相关信息
80
图形显示界面实现 OHP(Online Histogram Presenter) 显示内容可配置 可按照标签分组 双击可弹出单独窗口
81
图形显示界面实现 Brower标签内可以显示所有的直方图
82
图形显示界面实现 oh_display 提供给专家人员使用 可以查看所有节点的直方图
83
图形显示界面实现 islogger 可以绘制各个is_server上信息的历史曲线 可以设置一些阈值来自动检查得到的信息
在实时值越界后可以发布报警消息
84
图形显示界面实现 IS Monitor
85
图形显示界面实现 消息报告显示程序 可单独显示也可集成在主控制界面中
86
图形显示界面实现 Event Dump 通过事例服务得到采样的事例数据
87
Event Filter简介 软件触发 事例筛选 又称高级触发(HLT)或者三级触发(L3) BESIII没有L2
调用离线算法分析处理(完整事例) 粒子鉴别(快速) 压缩本底
88
Event Filter简介
89
Event Filter简介和硬件触发的比较
根本目的同:保留好事例、压缩本底 基本要求同:快、准 实现手段不同:硬件 vs. 软件 处理对象不同:局部事例 vs. 完整事例 算法复杂性不同:相对简单 vs. 复杂 用和离线分析一样的程序
90
在DAQ系统中的EF在线数据流
91
在DAQ系统中的EF软件架构
92
在DAQ系统中的EF硬件架构
93
在DAQ系统中的EFEF带来的好处 压缩本底 节省存储 节省(离线分析)计算 更多高级功能注入活力 事例分类(粒子鉴别) 物理统计直方图
DQM 精确单事例显示
94
在DAQ系统中的EFEF带来的险处 环节增加,可能影响取数性能 使用外部代码,可能危及运行安全 算法速度慢或者死循环,危及取数
SFISFO SFIEFDSFO 使用外部代码,可能危及运行安全 算法速度慢或者死循环,危及取数 消耗计算能力,成本增加 涉及两种开发环境,开发和维护难度增加 操作系统和编译器版本差异
95
EF与离线事例选择程序ES实际运行 2008年初,BESIII宇宙线测试
96
数据安全性研究和对策数据流安全性 EF中将使用外部代码(算法库),程序安全性,甚至数据安全性可能受到影响。 备用机制的必要性 正常
输入事例率 (Hz) 可用节点数 节点事例率 故障节点数 输出事例率 EB缓冲队列 正常 4000 30 133 供不应求 临界 20 200(极限) 10 供求持平 异常 <20 200 >10 <4000 供过于求 (前端溢出)
97
数据安全性研究和对策数据流安全性 备用机制的实现 加入一条备用通道。
98
数据安全性研究和对策数据流安全性 备用机制的逻辑 开启和关闭智能决策,自动完成
99
数据安全性研究和对策数据流安全性 备用机制的测试 时间序:1,人为故障;2,溢出探测; 3,自动开启;4,人为恢复;5,自动关闭
100
数据分流 文件分流 从事例头部读出事例类型信息,然后与可配置的Mask进行比对。 如果是需要单独存储的类型,则存放到该类型对应的文件中;
如果不在Mask关心的范围内的其它类型的事例,则一律存储到any文件中去。
101
质量监测 DQM 事例率仅为BESIII正常取数的1%,约40Hz EFD Sampler参考SFI Sampler实现 支持分类采样定制
102
实时性能监测
103
DAQ数据库工作 配置信息的备份、导出 DAQ运行基本信息的存储(Run基本信息、对应配置、对应刻度参数、对应触发条件)
数据库信息的WEB访问(RunParams、DataStorageInfo、Configuration、Calibration、PED、Dataflow、Hardware configuration)
105
高能物理实验数据获取技术的发展与计算机和网络技术的发展密不可分
总结 高能物理实验数据获取技术的发展与计算机和网络技术的发展密不可分 Fast Networking Moves Data from a local environment to a Global One Cheap Commodity Processors allow for powerful algorithms Cheap DRAM allows for large buffering, and latency FPGA
106
Thanks
Similar presentations