-
兰州重离子研究装置(HIRFL) 是我国目前具有规模最大、能量最高、加速离子种类最多的重离子研究装置。为了进一步研究量子色动力学的低温高密区域,在HIRFL上建造了低温高密度核物质测量谱仪(CSR External-target Experiment,CEE),其主要科学目标是实现该能区重离子碰撞中带电粒子产物的近全空间测量。如图1所示,CEE实验中包含多种探测器系统,例如微像素定位探测器、径迹探测器、飞行时间探测器(TOF)等子系统[1]。CEE实验采用触发方式工作,用于剔除本底噪声,提取感兴趣的事例,触发率约为10 kHz。各个探测器系统的前端电子学(FEE)板卡接收触发子系统产生的触发信号,将触发后的包含触发号的有效事例传输到数据获取(DAQ)系统。经估算,触发后传输至DAQ的平均数据率约为2 GB/s,随着未来实验升级,数据率可能会扩大到更高的量级。
TOF探测器作为主体探测器之一用以测量带电粒子飞行时间,飞行时间信息和动量结合给出粒子质量,用于较高动量的粒子鉴别,同时提供实验的触发信号。如图1所示,TOF系统主要由起始时间探测器(T0)、端盖飞行时间探测器(eTOF)和内飞行时间探测器(iTOF)组成,三者均为多气隙电阻板室(MRPC)探测器。
TOF探测器系统中,FEE触发系统和时钟系统基于PXI平台开发,其中对 T0、iTOF 和 eTOF 探测器信号的读出通道共约 3 000 通道,在每块FEE板卡上包含16通道。FEE板卡上包含前端和后端处理,在前端使用集成电路单芯片NINO芯片对信号进行处理,在后端中使用FPGA TDC完成高精度时间数字变换,经修正后通过数据接口送入后端DAQ中[2-3]。TOF系统中经过触发后的事例率约为10 kHz,经估算TOF系统总数据率可达到640 Mbps。
考虑到以上TOF系统的数据率和通道要求,以及未来可能遇到的系统升级的需求,借鉴大数据处理中流处理的思想,在文中提出了通用的D-Matrix流处理数据获取系统架构,用于在CEE实验TOF子探测器系统中对数据进行传输、事例组装和存储,同时完成对整个系统的控制。
-
为了兼容其他子探测器系统,同时考虑到未来更高的数据率以及升级换代的需求,CEE实验的DAQ系统均采用光纤与FEE板卡通信,系统内采用光纤、PCIe和以太网等高速串行通讯方式,使用FPGA和服务器软件进行数据处理。TOF子探测器的DAQ采用多级架构如图2所示,考虑如下:
(1) 基于供电、散热、信号连接和可靠性考虑,TOF系统FEE、时钟和触发系统基于PXI平台开发[4],DAQ系统使用PXI通用读出卡(Common Read-Out-Board on PXI,CROB_on_PXI)进行FEE数据的高速汇总,PXI机箱为其提供电源和机械支撑。CROB_on_PXI卡按照功能包含FMC载卡和FMC扣卡。载卡使用Xilinx公司的Kintex UltraScale 系列FPGA作为控制核心,留有触发控制和时钟接口与触发同步系统通信,包含两路光纤连接到PCIe卡。2块FMC扣卡[5]上搭载16个SFP+光模块,最大可支持16路光纤连接到FEE板卡。
(2) PCIe通用读出卡(Common Read-Out-Board on PCIe,CROB_on_PCIE)为一块自定义的 PCI-E 插卡,是数据接入服务器(Data Access Server, DAS)的接口卡,包含载卡和FMC(FPGA mezzanine card)扣卡。载卡上使用Xilinx公司的Kintex 7系列FPGA进行控制处理。FMC扣卡最大支持8路光纤与CROB_on_PXI板卡进行通讯[6],在后端通过PCIe总线和DAS进行通信。
(3) 在服务器集群上,包含多种服务器,服务器之间以Infiniband或以太网技术互联[7]。数据接入服务器完成多个CROB_on_PCIE卡的数据的合并,再送入事例组装服务器(Event Building Server, EBS)。EBS使用刀片式服务器,负责事例的最后一级组装最终送入NAS存储服务器(NAS Storage Server, NSS),NSS用于保存CEE实验的数据。远程在线控制服务器(Remote Online Control Server, ROCS)可对DAQ系统进行远程控制和监控,且ROCS将命令等信息发往在线控制服务器(Online Control Server, OCS),通过OCS来控制整个DAQ系统。其中为方便描述,将从FEE传输至服务器方向标记为C2S(Card-to-System),相反传输方向为S2C(System-to-Card)。
在TOF系统中大致包含3 000个通道,即前端电子学大概有188个FEE卡,每个PXI机箱中最多包含12块FEE卡,最终TOF子探测器DAQ硬件架构包含16个PXI机箱,16块CROB_on_PXI卡,4块CROB_on_PCIE卡,2个DAS,4个EBS,1个OCS和1个ROCS。
-
如今在大数据计算模式中流式计算被广泛应用在实时性处理场景中[8]。在流式计算中,数据具有无限性特征,因此不进行数据存储,直接进行数据的实时计算[9]。流式大数据具有的特点使其可以应用于高能物理场景中:
(1) 流式大数据是实时产生、实时计算的。在高能物理实验中,实验数据也需要被实时、可靠、低延迟地处理传输到远程的存储和计算中心。
(2) 流式数据具有无限性特征。高能物理实验的数据具有同样的特点,数据由传感器产生,数据规模大且动态增加,在实验过程中数据一直产生和持续增长,需要流式计算来及时处理和管理,保证系统长期稳定运行。
但目前流式计算的应用场景与高能物理实验系统中具有一些不同之处:
(1) 高能物理实验对于数据处理速度和延时要求更高。相比于大数据流式计算采用的纯软件系统,高能物理实验系统中常采用软件和硬件结合的方式,借助FPGA并行和低延迟计算优势,提高系统的实时性。
(2) 在大数据处理中,常使用DAG(Directed acyclic graph)作为拓扑结构,但在高能物理实验中可能会存在回环和反馈,例如触发信号的计算。这意味着高能物理实验相比于大数据处理具有更复杂的拓扑结构。
借鉴上述大数据处理中的流处理思想,结合高能物理实验的需求和应用场景,在本项目中自主设计了数据矩阵(Data-Matrix, D-Matrix)流处理数据获取架构[1,10]。该架构采用数据驱动方式,将数据视为时空坐标下的二维矩阵(Matrix)进行分块处理,故命名为Data-Matrix (D-Matrix)。同时数据的传输处理视为流处理,处理任务被抽象为几种标准的流处理节点的级联组合。该架构与数据获取系统中数据以流的方式产生传输的特点相匹配,与目前大型物理实验中越来越多使用LVDS、光纤、PCIe总线等点到点的高速串行通讯趋势相符合。D-Matrix架构具有以下几种特点:
(1) 将不同信息视为不同的流,每种流中只包含一种纯净的信息。不同流通过不同的流id进行区分。在TOF子系统中,根据信息内容抽象为数据流、命令流、命令反馈流、状态流、监控流和出错流等。其中将对探测器传来的原始数据及对数据的传输、汇聚、打包和存储的操作视为数据流;命令流中包含对系统的控制和配置信息,命令反馈流中用于反馈读命令的返回信息;板卡的电压和温度等信息被抽象为状态信息;监控流负责实时抽取数据信息,供在线控制系统使用;出错流为系统中的高优先级流,包含故障等紧急信息。
(2) 对于流数据采用标准的流处理节点来进行处理,完成DAQ中常用功能例如事例组装,命令路由等。D-Matrix对标准的流处理节点如多路复用、合并和转发等模块,这些都可根据需求调用服务器软件和FPGA固件来实现。根据TOF系统中流处理的几种主要需求,可分为三种处理模式,在下文(3.1, 3.2, 3.3节)进行详细阐述。其中主要用到了流处理节点合并、分发、规格化、命令路由和多路复用等模块。
(3) D-Matrix架构中,流处理节点间通信采用统一的接口,即在同一物理节点内部(板卡或服务器)采用自定义的标准D-Matrix FPGA接口(Standard D-Matrix FPGA Interface,SDMF)或Linux下标准D-Matrix软件接口(Standard D-Matrix Software Interface,SDMS),在跨物理节点间使用AXI4-STREAM协议。SDMF是一种基于AXI4-Stream封装同时包含时空属性的自定义接口,允许帧内多个数据块进行协同传输,在FPGA内部逻辑模块间使用。SDMS为自定义的基于共享内存和消息队列的进程间通信接口,在服务器软件进程间使用。在跨物理节点间,将传输接口抽象为多个点到点接口,其基于光纤、PCIe和以太网等高速串行接口封装。
(4) D-Matrix架构中,将不同的数据按照组织粒度和时空范围划分为不同的数据域。在同一数据域下,流数据帧采用统一的标准格式。在TOF系统中,随着数据流合并的不同阶段,在数据流中可能存在着多种数据域。在不同数据域的传输的数据帧中,由于其描述的数据时间和空间范围不同,其数据帧的各个信息段的长度定义可能不同。在D-Matrix架构下,通过不同的数据域属性定义了各个信息段长度的不同,而所有数据域的数据帧组织均采用信息段组织顺序定义,从而实现了全系统范围内数据帧格式定义的统一。
在(3)、(4)中提到的两个特点(统一的传输接口特点和相同数据帧格式特点)保证了同一个数据域下流处理节点间可以自由连接,从而在数据获取系统搭建中,可结合需求选择流处理节点,并结合资源情况对其灵活部署。
根据D-Matrix架构流处理思想,可将FEE板抽象为如图3所示的模型,其中上行接口和下行接口与DAQ系统相连,同步接口与触发系统相连,在这里只分析上行接口和下行接口通过的流。根据其包含信息,可抽象为状态流、数据流、命令流、命令反馈流等。多种流通过流的调度传输至CROB_on_PXI板卡上,在后面的DAQ中进行后续处理。
根据流的处理需求,分为三种处理模式,在下面的小节中进行详细描述。
-
在D-Matrix架构中,数据流负责承载原始数据并传输汇总到服务器阵列上[11]。在TOF系统中,数据流需要完成来自不同子探测器的数据的事例组装,在DAQ系统中,使用多个合并节点级联来完成此任务,使用这种分布式系统可提高系统资源的利用率,避免集中在一级对处理资源需求过高,引起处理延迟大,造成数据流的阻塞。同时在每一级经过数据合并后,减小了协议开销使得数据率降低,同时在合并后数据组织粒度发生变化,下一级只需处理更粗粒度的数据,减轻了下一级的处理压力。因此对于数据流采用将总体处理任务分散到多级的流处理节点执行的处理模式。
TOF子探测器DAQ中数据流的多级处理如图4所示,在CROB_PXI板卡、CROB_PCIE、数据接入服务器(DAS)、事例重建服务器(EBS)上均使用合并节点进行合并。根据D-Matrix架构,在每一级合并节点上,数据组织粒度会发生变化即数据域变化,因此在整个数据流的处理路径中包含多个数据域,分别标识在图4中。在使用中只需将合并前后的数据域关系以掩码形式传入,即可使用统一的标准的合并节点,无需重复设计。
DAQ中数据隐含时间空间信息,在D-Matrix架构下,将数据视为包含时间、空间坐标的二维数据矩阵,数据矩阵内的数据按照其时空坐标有序排列以方便实时数据查找和检索。在此定义下,合并节点主要负责将多个输入数据矩阵进行二维归并排序然后输出。如图5所示,合并节点包含两个模块:空间排序模块和时间排序模块。空间排序和时间排序模块均采用归并排序的算法进行实现。下面对两个模块的作用进行以举例方式详细描述:
(1) 空间排序模块负责将数据帧在空间上进行归并排序,不改变数据帧组织粒度。在每个时间范围内,按照通道号从小到大进行排序。如图6所示比如有6个数据帧经过空间排序模块,图上左侧为(s,t)时间空间坐标,其编号为1-6,若输入顺序为1, 2, 4, 3, 6, 5,经过空间排序后,最终输出为1, 2, 3, 4, 5, 6。
(2) 时间排序模块负责在每个通道范围按照时间进行排序,数据帧的组织粒度发生变化。如图7所示,输入两个小的数据帧,经时间模块后,输出的数据顺序如图上箭头所示。
在合并节点中通过级联两个模块可完成二维数据时间、空间上的排序和合并,减少采样数据中时间信息和空间信息所占的位数,提高数据帧的存储效率和传输效率。
在FPGA和服务器上均会使用上述标准的合并节点。但在服务器层级,基于服务器的特点,为了负载均衡,事例组装过程中还使用了“按时间分发模块”(MAP_T),如图8所示。按照触发号分发至不同的服务器上,使多台服务器并行处理提升事例组装效率,保证系统具有良好的并行化处理能力。
-
TOF系统中命令流在S2C方向上传输,负责对系统进行配置和控制,同时用于对物理节点地址进行编号,以便后续使用物理节点地址进行访问。命令反馈流在C2S方向上传输返回读命令中的寄存器信息。对于命令流,D-Matrix架构采用逐级进行判断、处理和转发的流处理模式。在TOF 系统的DAQ中,由远程在线控制服务器(ROCS)负责发出系统命令,采用多层级命令路由节点对命令进行解析处理或转发,如图9所示。
该命令路由节点功能图如下图10所示,在该路由节点中,解析由上级物理节点发来的命令,若为本地命令,则发送至本地流处理节点;若为广播命令或非本地处理命令,则转发到下级物理节点。
对于读命令的返回信息使用命令反馈流传输,对于命令反馈流,将本地的和来自下级物理节点的进行多路复用合为一路发送到上级物理节点。
-
系统中的其他流,如状态流、监控流、出错信息流等,与命令反馈流处理方式类似。对于该类流,采用在中间级只传输不处理,最终在终端进行处理分析的流处理模式。如图11所示,对这些流信息不做处理,只在每一层级将多路合为一路传输给上级节点,最终在ROCS中进行显示和对其进行错误检测,其中多路复用等各模块均为标准的流处理节点。
监控流的处理略微有区别:其在CROB_PXI级用状态抽取模块产生。之后各层级中均使用多路复用模块最终变为一路传给ROCS,与状态流相同。
-
根据上述技术路线,对于每一种流中使用的流处理节点的功能定义、数据域选择和部署方式,需要根据DAQ系统的硬件、服务器资源和每个流的具体处理需求综合考虑,往往存在多种可能的实施方式。此处选用其中一种作为TOF系统的DAQ方案,下面对其部署方案一一介绍。
作为FEE和后端服务器阵列的衔接环节,CROB_on_PXI板卡和CROB_on_PCIE板卡对数据进行初步的合并和打包。如图12和13所示,在两块板卡上传输多种流,例如命令流、命令反馈流、数据流、状态流、出错信息流和监控流。除了监控流,两块板卡在流处理上均使用相同处理方案,具体实现方式为:
(1) 命令流、命令反馈流采用命令路由节点转发或处理命令。
(2) 状态流、出错信息流采用多路复用模块。在监控流的处理过程中,CROB_on_PXI板卡使用抽取模块实时抽取感兴趣的在线信息,CROB_on_PCIE板卡使用多路复用模块将多路监控流通过一个接口传输。
(3) 在数据流处理的过程中,首先使用数据缓存节点进行缓存,之后使用“空间排序”模块对空间进行排序,使用广播模块将数据复制为两路,一路用于实时抽取提取监控流,一路使用“时间排序”模块完成一级合并。在FPGA内部,使用SDMF编码器和译码器在SDMF协议和AXI4-STRAM协议之间进行转换。
DAS作为服务器阵列的入口,负责接收多块CROB_on_PCIE板卡上的数据,并将数据分发至事例组装服务器(Event Builder Server,EBS)上。对于多种流处理的设计方案如图14所示。
(1) 状态流、出错信息流、监控流使用同种流处理模式。在使用接收模块建立描述符后,每种流内部均使用多路复用模块,再使用发送模块发送到传输接口上。
(2) 数据流在接收后,使用标准的合并节点完成一级合并,为了使多台EBS上负载均衡,使用“按时间分发模块(MAP_T)” 根据触发号分发至不同的EBS上,提升事例组装效率。
(3) 依据命令流和命令反馈流处理模式,二者使用标准的命令路由节点进行处理。
在服务器阵列中,除了DAS外,还有在线控制服务器(OCS)、远程在线控制服务器(ROCS)、事例组装服务器(EBS),如图15所示。
作为事例组装的最后一级,事例组装服务器(EBS)将CEE实验所有子探测器系统同一触发号的数据打包组合。结合D-Matrix的流处理模式,对于其上包含的数据流、命令流和事例监控流进行了处理。其中命令流与DAS上处理方式相同。对来自不同子探测器系统的数据流分别使用一级合并节点进行合并实现对各个子探测器系统的事例组装。此处可以插入新的广播节点(图中未画出)将组装后的子探测器系统事例引出供各个子探测器系统的在线或离线分析。在这之后使用了第二级合并节点完成了系统级的事例组装,事例组装后的数据帧经广播后分为两路,一路直接用于存储到NSS上,一路可用于抽取产生事例监控流传输到OCS供在线事例分析使用。
作为TOF的DAQ系统中多种流信息的传输枢纽,OCS连接了ROCS和其他多种服务器,如DAS和EBS。
远程在线控制服务器(ROCS)是DAQ系统的总控制中心,负责将所有的状态流、出错信息流、监控流、命令反馈流进行汇总显示以及错误检测,并通过命令流对整个系统进行配置和控制。
(1) 状态流、出错信息流使用接收模块接收后,广播到两模块,一路使用显示模块,一路使用错误检测模块。
(2) 命令控制台中发布命令流来控制配置整个系统,处理方式与DAS中命令流处理方式相同。
如前文所述,在TOF子探测器的DAQ系统中,大量使用了多种标准的流处理节点,如合并节点、命令路由节点、多路复用节点等。通过复用标准的流处理节点,减少了系统设计中对于相似功能的重复设计,大大加速了DAQ系统的开发进度,方便了未来系统的更新换代,同时将DAQ系统中处理需求的抽象和使用标准化节点的实现,也大大加强了D-Matrix架构的通用性和面向其他数据获取系统应用领域的泛化能力。
-
目前,基于此方案,已在实验室内搭建了一个包含15个FEE板卡、240路ADC的数据获取系统。除此之外使用模拟源搭建了TOF探测器数据获取原型系统,其中所用的模拟源尽可能地模拟TOF探测器的数据情况。两系统均由TOF探测器数据获取系统中需用到的所有软件和FPGA固件形式的流处理节点所搭建,例如合并节点、命令路由节点、多路复用节点等。测试结果显示,两系统均可以正确工作,验证了所使用的流处理节点的正确性和该架构的可行性。在此基础之上,主要进行了传输和处理性能的测试,下面分别进行阐述。
-
在系统中主要包含三种传输场景:硬件到硬件、硬件到软件、软件到软件的传输。由于软件到软件的传输采用标准的网络接口传输,因此下文将主要对于前两种传输场景的传输性能进行测试。
TOF探测器DAQ中硬件到硬件的传输主要基于光纤链路进行建立并测试,该测试中光纤链路的理想带宽为10 Gbps。在传输中,传输包长的改变将导致传输速度发生改变,测试结果如图16所示,随着包长度变大,传输速率趋近于9.66 Gbps,传输效率达到96.6%。在实际应用中,将基于系统的具体需求选择合适的链路带宽。
考虑到PCIe总线的高带宽特性,在系统中使用PCIe总线传输方式来完成硬件和软件之间的通讯。本测试中使用PCIe 2.0×8,理想带宽为 4 Gbps。在测试中,分别测试了传输的数据帧长度和通道数对于传输速度的影响,测试结果分别如图17和图18所示。可看到,当保持通道数不变,数据帧长度增大时,当长度大于4 kB时,数据传输速率可达3.4 GB/s,带宽利用率可达 85%。当数据包长度保持在4 kB,数据通道总数大于等于2时,数据传输速率可以达3.4 GB/s,带宽利用率可以达到 85%。结果表明,当通道数大于1时,并行读出提高了传输效率。这证明了该模型在多通道的高速率传输场景下有良好的传输性能。
-
系统中流处理节点的处理性能对于整个系统的性能有较大的影响,因此分别对硬件和软件流处理节点进行测试,验证其是否可以满足系统需求。
对于硬件的流处理节点,主要以FPGA固件形式采用流水线方式工作,工作频率最低的流处理节点将影响硬件系统实时处理能力,目前经过综合和仿真,至少可工作在156.25 MHz频率下,当处理位宽为64 bit时,处理能力达10 Gbps。
在软件方面,目前在单个服务器上(CPU : Intel Xeon W-2104 @ 3.2 GHz, 4核)测试组装事例率,测试结果如表1所列,可看到随着合并节点中事例组装模块个数增多,最终每个合并节点速率可达8.2 kHz。由于在系统中采用MAP-T节点将不同事例的数据分发至不同的EBS,这样多个EBS可进行并行处理。即在实际应用中,可通过扩充服务器节点数量来满足系统实时处理和传输需求。对于TOF系统,两个事例组装服务器即可达到17 kHz,满足TOF系统的10 kHz事例率要求。
合并节点个数 输出事例率 输入帧率 速率/Mbps 1 2 941 47 056 753 2 5 128 82 051 1 313 基于以上测试,整个系统可满足10 Gbps的吞吐率和实时处理传输和处理能力,远远超出TOF系统的实时传输处理能力需求。
-
基于物理实验的处理需求,参考目前大数据领域的流处理思想,提出了 D-Matrix 架构,其采用软硬件协同工作方式,将信息视为“流”,使用统一的传输模型,并采用一系列标准的流处理节点级联的方式完成处理任务。经测试,验证了系统可正常完成的事例组装、命令分发等处理任务,满足10 Gbps的吞吐率和实时处理传输和处理能力。考虑到系统具有良好的可拓展性和移植性,因此其不仅可以应用于TOF系统,而且能够满足全局系统的处理和传输需求,进一步为CEE实验提供可行通用的DAQ方案。
Design of Data Acquisition System for TOF Detectors in the CEE Experiment
doi: 10.11804/NuclPhysRev.38.2020070
- Received Date: 2020-09-28
- Rev Recd Date: 2020-11-25
- Available Online: 2021-09-27
- Publish Date: 2021-09-20
-
Key words:
- CEE /
- TOF /
- a generic stream processing DAQ
Abstract: The CSR External-target Experiment(CEE) system under development may reach an average data rate of 2 GB/s after being triggered. In response to the design requirements of the entire spectrometer, a generic stream processing data acquisition architecture D-Matrix is put forward in the article, and a specific scheme of D-Matrix in the Time-of-Flight detector(TOF) subsystem is proposed. The DAQ of the TOF system uses high-speed serial communication methods such as optical fiber and PCIe bus to complete data transmission from Front-End Electronics(FEE) to the servers, and deploys and cascades stream processing nodes with a unified interface to complete event building, command routing, Real-time status monitoring and displaying and data storage tasks. In addition, the DAQ of the TOF system has strong versatility in hardware and logic design, it also can be compatible with other sub-detector systems, and can be further applied to the global system of CEE experiments.
Citation: | Ruolin LIU, Junfeng YANG, Tianxing WANG, Hongwei ZHAO, Lei ZHANG. Design of Data Acquisition System for TOF Detectors in the CEE Experiment[J]. Nuclear Physics Review, 2021, 38(3): 301-310. doi: 10.11804/NuclPhysRev.38.2020070 |