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