数据获取系统BES.docx
- 文档编号:12972894
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:13
- 大小:141KB
数据获取系统BES.docx
《数据获取系统BES.docx》由会员分享,可在线阅读,更多相关《数据获取系统BES.docx(13页珍藏版)》请在冰点文库上搜索。
数据获取系统BES
4.12数据获取系统
4.12.1BESIII数据量估计
BEPCII的设计亮度为
,预期在J/ψ能区通过一级触发判选后的事例率高达4000Hz。
BEPCII亮度两个数量级的提高和BESIII探测器的升级需要采用流水线的电子学系统,因此BESIII数据获取系统(DAQ)的设计目标是完成高事例率(不超过4000Hz)下的数据读出和处理。
DAQ系统的性能需求是由触发率和事例大小决定的,也就是说,可以通过对探测器数据量的估计来决定DAQ系统的设计方案。
下面根据探测器的指标对数据量进行初步的估计,BESIII总电子学信道数将超过3万路,其中ADC和TDC类型的有2万多路。
如果MDC时间信号通道按平均15%“着火”率计算,EMC按平均17%“着火”率计算,MUC按平均1%“着火”率计算,剩下的按平均10%“着火”率计算,可以得到表4.12-1数据量估算参数。
表4.12-1BESIII探测器数据量估计
探测器子系统
信道数
VME机箱读出数据量
(Mbyte/s)
机群处理数据量
(MByte/s)
记带数据量
(Mbyte/s)
MDC(T+Q)
13600
46.6
28
21
EMC
6272
24.8
17
13
TOF+CCT
896
2.3
1.6
1.2
MUC
9088
2.4
1.6
1.2
触发
400
6.4
6.4
4.8
小计
30256
82.5
54.6
41.2
因此,BESIII数据获取系统需要完成超过每秒80Mbytes的数据读出任务,经PowerPC和读出PC机对事例进行初步组装,去除冗余的字头、字尾和出错等信息后,在线计算机机群需要处理的数据量超过每秒50Mbytes,最后通过软件触发判选的记带数据量超过每秒40MBytes。
由此可见,分级事例组装技术不仅可以逐级减少数据量,而且可以有效地利用网络资源。
与国外目前运行的同类系统相比,不论在规模还是在性能方面,BESIII数据获取系统的设计指标都是相当高的,实现的技术难度比较大,研制周期长。
因此,在系统设计策略方面必须采用成熟的和先进的技术,特别需要注重总线技术、网络技术和计算机技术的未来发展。
4.12.2系统的主要任务
BESIII数据获取系统的主要任务是获取通过一级触发判选后的前端电子学事例数据,经过两级计算机预处理和高速网络传输,将分布在各电子学(VME)读出机箱中的事例数据段迅速地汇集到在线计算机系统上进行事例包装和过滤,整理成为完整的有效事例,最终将标记的事例数据通过网络传送到计算中心记录到永久介质上。
为了从前端电子学系统中快速读出数据并使系统死时间尽可能地小,BESIII数据获取系统设计将大量采用多级数据缓冲技术、并行处理技术、VME总线高速读出技术以及网络传输技术。
多级数据缓冲可以有效地减小由于高能物理实验事例产生的随机性而引起的死时间,基于网络交换机的并行数据传送可以提高数据流量和完成事例的并行处理。
为此,BESIII数据获取系统必须实现下列任务:
(1)实现读出机箱中VME设备(ADC和TDC插件)的高速数据采集,最充分地利用VME总线的带宽资源,采用CBLT(ChainedBlockTransfer)DMA传输技术将前端电子学插件中的数据段读出并汇集成事例段;
(2)设计并实现数据获取系统对前端电子学读出系统、触发系统、事例数据流控制系统、在线系统、运行控制及监测系统的接口;
(3)提供并实现保证数据正确读出/传输所需的硬件和软件所有协议;
(4)实现上位机系统,完成全系统运行控制、信息监测和状态调整功能。
提供完善的系统运行“报错”功能,包括:
无效或错误的操作、缓冲区溢出、各种故障等;
(5)实现在线基本软件系统,包含事例组装、事例过滤和在线分析等重要数据处理软件以及直方图和单事例显示等功能;
(6)完成大容量、高速度的数据转储任务,最终将事例数据送到计算中心记录到永久介质上;
(7)提供系统在线刻度、电子学读出系统校准和网络环境监测等辅助支持系统;
(8)根据BESIII的数据贮存需求和其它数据监测需求,设计并实现在线数据库管理系统,并与离线分析数据库管理系统连接,实现数据自动更新。
4.12.3系统构成
BESIII数据获取系统是基于前端电子学和触发/判选的硬件系统,由读出系统、在线系统和校准系统及其它辅助/服务系统组成。
在系统构造方面,BESIII数据获取系统必须成为高可靠性、高稳定性、易升级、易扩充的系统。
系统设备配置和软件开发工具着眼于未来技术发展趋势,尽可能采用市场上性能/价格比最好的商业化产品。
BESIII数据获取系统大规模运用先进的计算机和网络技术,采用多级并行处理方案。
最低一级为基于VME总线系统的读出机箱,由前端电子学读出插件(TDC和ADC等)和一个作为控制器使用的处理机组成。
每个VME读出机箱中的前端电子学读出插件数不超过16个,电子学信道数不超过1024个。
VME处理机拟采用MVME2431单板计算机,用以完成数据的采集、处理、监视和传输。
若干个读出机箱通过Ethernet网络的100MSwitch连接到读出计算机,组成一个读出分支。
所有读出分支通过1G以上Switch连接到在线计算机群,形成数据获取系统的数据流主干通路。
来自各读出分支的子事例数据包通过在线计算机群汇总成完整事例,并进行标记、处理和监测,直到安全记录到永久介质上(参见图4.12-1)。
BESIII数据获取系统提供其它控制与测试功能的支持。
在系统设计过程中,需要明确定义并实现BESIII数据获取系统与前端电子学系统和触发系统的接口及驱动方式。
从设计阶段开始就要充分考虑如何实现整个系统和分系统的控制、校准和测试功能。
此外,还要提供对磁铁电源、电子学电源、高压系统、加速器参数的记录、系统初始化、程序/参量的下载、运行命令的送达与执行等一系列系统服务功能。
图4.12-1BESIII数据获取系统示意图
BESIII数据获取系统的软件是一个庞大的软件工程,必须考虑软件的质量和标准化方面的技术实施。
要依赖于强有力的软件工程管理办法和配置软件工程开发/管理工具。
读出机箱的软件开发环境将采用实时操作系统VxWorks及其C程序语言,读出计算机和在线计算机系统的软件开发环境将采用Unix/Linux及其C和C++程序语言。
为了保存和使用运行参数,标准的数据库技术将被用于BESIII数据获取系统。
4.12.4系统配置需求
BESIII数据获取系统的设计具有一定的复杂性,主要原因是一级触发事例率指标是BESII的200倍,事例数据长度是BESII的6倍。
在系统配置需求方面存在两个关键技术问题:
(1)在读出系统配置方面,解决数据Bandwidth和数据流量的匹配问题;
(2)在系统构造方面,解决在复杂的并行计算环境下,与前端电子学及触发系统一起构造成一个集成化的可操作数据获取系统问题,包括实现分系统局部测试和系统初始化、控制及监测等一系列任务。
根据各探测器读出电子学子系统和触发系统提供的需求信息,BESIII数据获取系统的读出基本配置参见表4.12-2。
读出机箱个数约48个,读出分支不超过16个。
预计的在线计算机群需要30台以上的PC机,大型数据存储系统达到(240TByte/5年)运行能力。
设计中的BESIII数据获取系统,考虑到数据分布的不均匀性,要使系统以最小死时间开销的代价完成数据获取任务,预期读出机箱的数据平均通过能力要达到3.2MBytes/sec。
因此,必须采用高速的VME总线读出方法和高速Ethernet网络技术。
表4.12-2读出设备配置表
子系统名称
通道数
读出插件数
读出机箱数
读出分支数
MDC(T+Q)
13600
224
16
4
EMC
6272
208
16
4
TOF+CCT(T+Q)
896
28
2
1
MUC
9088
40
4
1
触发
400
160
10
2
总计
30256
804
48
12
为了保证事例数据正确地采集并传送到在线计算机系统,在读出机箱和读出分支上要对原始事例数据段进行初步组装。
前端电子学和触发系统的数据读出方式及数据格式要求采取比较一致性的设计要求,以便对事例数据段进行正确的处理和包装。
BESIII数据获取系统的可操作性,取决于系统设备的连接、逻辑信号约定和软件集成设计。
电子学系统和触发系统提供一切必备的操作硬件条件。
BESIII数据获取系统在软件设计过程中,要准确理解和覆行硬件功能,最大限度地发挥全部硬件资源的作用。
为了增强系统运行的可操作性,尽可能将软件系统的功能集成为一体。
此外,任务恢复以及一般功能插件“出错”处理和“死道”处理等功能,对BESIII数据获取系统来说是必备的。
为了保证大规模软件开发的质量和性能,软件开发工具将采用可靠的商业软件产品。
要按照软件工程的标准进行软件设计、实施和管理。
软件系统要具备可维护性、可扩展性和可移植性。
另外,保留完整的原始资料并完成最终文档资料的整理,也是BESIII数据获取系统软件工程的重要组成部分。
4.12.5读出系统
BESIII数据获取系统的关键技术问题是实现来自前端电子学的事例数据高速读出。
由于读出机箱VME总线的读出速度和计算机节点间的网络传输速度受到设备带宽的限制,最容易在系统中形成数据流“瓶颈”。
根据对特定I/O设备的测试结果,使用MVME2431处理机编程访问VME设备,单次直接“读”操作的时间周期为1μs秒以上(其中800ns为处理机占用的时间,其余为设备占用时间),32Bit读出速度至多为3MBytes/sec;DMA方式的32Bit读出速度可达到13MBytes/Sec以上(即,每个读周期<300ns)。
由此看来,选择采用DMA方式进行读出才可能满足BESIII数据获取系统的需要。
与读出系统有关的还包括网络传输能力。
根据测试,点对点的100M网络传输速度可以达到10MBytes/sec。
为了实现这样高的速度,除了采用12口100M的Switch以外,在读出计算机上要采用多网卡方案。
读出计算机上的另一个千兆网卡则连接到在线千兆Switch上。
使用这种方法构成的读出分支,其主要功能是:
(1)汇集读出机箱中的事例数据片段,组成带标志的子事例数据包;
(2)数据及命令流控制与传输;
(3)实现事例数据流从100M网络段到1G网络段的传输,最终迅速安全地到达在线计算机群。
读出系统的性能主要取决于读出机箱的数据通过能力——在单位时间内完成VME总线数据读出、数据预处理、数据网络发送这三方面任务的综合能力。
数据预处理通过对事例初步组装可以有效地压缩冗余的字头、字尾和触发号,减轻数据网络传送的压力。
读出系统的数据通过能力与前端电子学插件设计有关。
根据目前电子学读出系统的方案设计,可以考虑以下读出方案:
采用CBLT(ChainedBlockTransfer)DMA方式读出,要求前端电子学插件数据缓冲器是一个足够深度的GlobalBuffer,可以存储多个“零压缩”后的事例数据,每个数据占一个32Bit长字(包含通道号和数据字)。
CBLT方式可以只启动一次DMA就读出整个机箱中所有插件的数据,大大减少启动DMA的次数,另外多个事例汇总读出也可以有效提高DMA传输效率。
但采用此方法,需要增加硬件设计的复杂性。
由于子探测器MDC的电子学系统的时间和电荷测量在同一个插件中完成,而且准备采用CERN的HPTDC作为时间测量的主要器件,工作原理不同于普通TDC电路,具有多次击中功能,需要读出额外的字头、字尾和出错等信息,预计电路板级的数据量将大幅度增加。
因此,电子学硬件设计需要采用64位CBLTDMA读出。
读出系统选用了具有良好性/价比的VME处理机MVME2431作为读出机箱的控制器。
该处理机使用PowerPC750为MPU,具备350MHz时钟、32M存储器、9M闪存、10M/100M网口、D64(MBLT)/D32/D16/D8VME-PCI总线接口和DMA控制器等配置。
读出机箱控制器的主要作用是完成高速数据读出任务。
除此之外,还要完成下载软件、读出配置、中断处理、任务调度、设备控制、监测、校准、调试、局部测试等功能操作。
以上配置基本可以满足设计需要。
根据目前设备能力(主要是VME访问速度和网络速度)的测算,各电子学子系统的读出机箱性能的更进一步提升,将采取设备升级的措施来解决。
如,更多地采用VME64或VME64x总线标准进行系统设计。
读出机箱控制器的软件开发采用VxWorks实时操作系统和C语言。
读出计算机的软件开发采用Linux及其C和C++语言开发环境。
4.12.6在线系统
BESIII在线系统的任务是将通过第一级触发判选后的事例数据传送到在线计算机群进行事例组装和筛选(软件触发),最后将通过软件触发的事例数据送到计算中心写到存储介质中。
BESIII在线系统包括事例组装、事例筛选、事例分类、数据存储、运行控制、单事例显示、直方图显示和进程监测等(参见图4.12-2)。
(1)事例数据组装
BESIII的事例数据获取将采用分级事例组装技术如图4.12-2所示,第一级事例组装过程是电子学读出机箱级的数据集中,当触发系统给出好事例信号时,VME机箱中的PowerPC将经过电子学插件级初步处理后的数据从电子学插件中读出,经过非线性校正后组装成该读出机箱的数据段,存放在缓冲器中。
各个读出机箱数据段的组装是并行地进行的。
第二级事例组装过程是读出分支级的数据装配,即对适当数目的读出机箱进行编组,同一编组内的每个读出机箱通过快速以太网交换机(100Mbps)与一台多CPU、多网卡的读出PC机相连,把存储在同一编组内的各个读出机箱缓冲器内的数据段传送到PC机上,组装成该读出分支的数据块,并存储在读出PC机的内存中。
根据读出通道数,各个子探测器的读出电子学可以编为一个或多个读出分支。
第三级事例组装过程是事例级的数据组装,BESIII在线系统把分散存储在各读出PC机内存中的数据块通过千兆以太网交换机,传送到计算机群的某一个节点,该节点的计算机将这些数据块组装成一个完整的事例数据,并对事例数据进行筛选,最后把筛选过的事例数据传送到在线文件服务器上进行编号。
图4.12-2BESIII数据获取系统事例组装的拓扑图
以太网交换机作为并行事例组装器的技术可以把一个读出分支关于一个事例的数据块送到计算机群的某一个节点,同时把其它读出分支关于其它事例的数据块送到计算机群的另外一些节点,这样可以实现高速并行事例组装。
并行事例组装器的优点是高度平行、可扩展性好,主要采用市售设备,可靠性、通用性和性能价格比都好。
交换机固有的延迟响应时间对数据传送有影响,因此应尽可能地发送大的数据包以减少发送次数。
采用多级事例组装技术,数据从分散的前端读出单元到事例筛选计算机群的传输过程中逐步集中,在一定程度上缓解了交换机的压力。
但是在如此高的事例率下,为了最大程度地减小交换机的总延迟响应时间,必要时可以把多个事例的数据段和数据块捆绑在一起进行传送。
(2)在线数据流程
BESIII在线系统的数据流向如图4.12-3所示,具体描述如下:
1.读出PC机对数据进行读出分支级的装配后,通知在线计算机群管理器某一事例号的事例数据块已准备好,等待读出;
2.在线计算机群管理器收到所有的读出PC机发来的事例准备好信号后,通知其中空闲的计算机群节点n读出对应事例号的数据块;
3.计算机群节点n从所有的读出PC机中读出对应事例号的数据块;
4.计算机群节点n对该事例数据块进行组装、格式转换、在线筛选和分类等处理,并将结果送到在线文件服务器;
5.在线文件服务器收到计算机群节点n送来的事例数据后,通知在线计算机群管理器对应事例号的数据已处理完毕,累计一定的事例后进行存盘、传送到计算中心进行记带操作等;
6.通知计算机群节点n和所有读出PC机释放对应事例号的数据缓存。
图4.12-3BESIII在线数据获取系统数据流向图
在线计算机群管理器选用可靠性高的工作站。
计算机群管理器内有两个队列,一是从读出PC机得到的待组装事例号队列,另一个是从机群来的空闲节点队列。
计算机群管理器根据这两个队列通知指定的计算机群节点到各读出PC机读取某一事例的数据块,必须保证同一个事例号的数据块都传送到同一台计算机机群节点中。
所有数据处理的任务都在该计算机群节点完成。
(3)事例筛选
在线事例筛选也被称为第三级软件触发判选,即在计算机群节点上完成事例组装任务后,用软件方法对事例进行筛选,进一步地压缩本底,以减小数据的记带率。
与硬件触发判选相比,软件筛选可以采用更为灵活、复杂的算法,如主漂移室的快速径迹拟合、电磁量能器簇射团的快速寻找等。
利用从主漂移室的简单寻迹过程中获取的事例顶点信息,可以压缩远离对撞点的、由束流丢失等原因造成的本底事例和宇宙线事例;联合主漂移室的径迹信息和电磁量能器的簇射团信息,可以直接挑选出Bhabha事例样本,用来进行探测器的刻度和加速器亮度的测量;结合μ子计数器的信息,可以直接选出μ样本,用来刻度μ子计数器。
在事例筛选过程中,在线机群将填充和累积事例数据的直方图,并对事例按强子、Bhabha、μμ、宇宙线等事例类型进行分类,供上位机的查询和监测。
按是否对事例进行初始重建分类,筛选算法可采用以下两种方式之一:
●按硬件触发的原则用全事例数据进行数字式触发判选;
●发展更复杂的筛选算法,进行快速的径迹重建。
若按本底筛选率为50%计算,最后记到磁带上的事例率将降低到3000Hz左右。
在线机群由高性能PC机构成。
由于PC机的CPU功能强大,在线机群将来也可以对筛选过的事例进行实时的在线重建,但必须用和离线分析完全一样的程序,而且仅仅是第一轮重建,以后还要离线进行几轮重建。
在线重建中所使用的刻度常数是从上一个RUN的数据中得出的。
(4)事例数据存储
经过在线事例筛选后,BESIII数据获取系统要记录的事例率约为3000Hz,预期记带率超过40MBytes/sec。
事例数据经千兆以太网交换机传送到在线文件服务器上进行编号并存储。
在线文件服务器是两台高性能、多CPU、多网卡的工作站,装有磁盘阵列。
事例数据按RUN号组装后,形成磁盘文件,然后通过网络发送到计算中心转储到永久介质上。
(5)上位机系统
上位机系统负责实验进程的监测和运行控制,提供人机交互。
上位机由多台高性能工作站和PC机组成,分别承担不同的任务,如运行控制、单事例显示、直方图显示和运行状态显示等。
1)运行控制
作为人机接口接受各种运行命令(如刻度、台阶、运行取数等),通过网络向各读出PC机和计算机群各节点发出相应的命令,各读出PC机和计算机群各节点的PC机调用相应的程序并执行之。
实验参数以及数据获取系统的构成参数也由上位机控制。
2)数据监测
由于在线机群有足够的处理能力,将在对每一个事例进行筛选的同时做各种探测器参数的直方图积累,并对事例进行分类。
上位机可以监测某一个在线机群节点上累积的直方图,还可以监测所有节点获取的直方图之和以及对各个节点随机抽样的单事例显示图。
结合亮度探测器的计数率和事例的分类信息,上位机计算并显示各种物理过程的在线产生截面和物理积分亮度等。
另外,上位机要对各种计数率(如亮度、触发事例率、死时间和各子探测器的计数率等)做定时监测,显示它们随时间的变化过程,必要时发出报警。
上位机还将显示并处理各个子系统和在线机群各节点的“报错”信息。
(6)数据库管理系统
BESIII数据获取系统和离线分析系统使用的数据库系统都是由IHEP计算中心提供支持。
BESIII数据获取系统需要建立相应的BESIII数据库管理系统。
主要功能是提供BESIII的各类运行参数及共享数据管理。
事例数据并不直接存储在数据库中,但BESIII数据库管理系统要提供关于事例数据的信息管理支持。
BESIII数据获取系统的运行信息通过BESIII数据库管理系统保存和管理,各个分系统所需的共享数据统一通过BESIII数据库管理系统访问,以保证BESIII数据信息的安全。
数据库中的BESIII运行数据信息将被保存相当长的时间,预计每个运行年度的数据量小于40GByte。
(7)系统刻度
由于探测器和电子学系统在运行期间受到环境变化影响,性能指标会发生晃动。
因此,需要经常进行系统刻度,以纠正这种系统误差。
刻度系统获得的刻度参数被存放到数据库中,供读出系统使用。
4.12.7其它支持系统
在BESIII数据获取系统建造和运行过程中,还需要其它各类较为独立的支持系统。
主要包括电子学读出校准系统、故障诊断系统和网络环境与数据流量监测系统。
(1)校准系统
对于所有BESIII上的前端电子学,如ADC或TDC等数字化设备,都需要对其性能进行参数标定,以检查电子学读出系统的误差范围和故障点。
电子学读出校准系统在建造系统样机时,还可以用来检测前端电子学设备的性能、功能等,对各个电子学通道进行准确的标定。
因此,校准系统应当设计成全局和局部都可以使用的相对独立的系统。
(2)故障诊断系统
由于BESIII数据获取系统结构庞大而复杂,系统的硬件和软件故障需要及早发现。
因此,必须研制足够的全局和局部的检测手段,以便静态联机检查从数据获取系统到基本设备是否存在问题。
(3)网络环境与数据流监测系统
BESIII数据获取系统设计大规模利用了高速网络技术。
网络系统的安全及其是否正常运行直接影响BESIII数据获取效率。
因此需要建立一个既能及时检测各节点运行状态,又不影响BESIII数据获取系统网络使用的网络环境与数据流量监测系统。
该系统提供友好用户界面,对全部BESIII数据获取系统的网络段及其数据流实施动态监测,以便做出调整决策。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 获取 系统 BES