论文部分内容阅读
北京正负电子对撞机(BEPC)将升级为BEPCⅡ,亮度提高100倍,相应的北京谱仪也升级为BESⅢ,这对数据获取(DAQ)系统提出了更高的要求。我们选择CERN LHC对撞机上ATLAS实验所开发的TDAQ(Trigger DAQ)软件作为BESⅢ DAQ的基础,对其进行了许多开发、修改和裁剪工作。本文是BESⅢ数据获取系统研究和设计工作的一部分,主要针对BESⅢ DAQ的事例组装任务进行详细的分析和研究。
BESⅢ DAQ采取三级事例组装的模式。第一级组装过程发生在VME机箱,PowerPC处理器将各个电子学插件中的读出数据组装成ROD(Read Out Driver)级别的事例片断。为了将PowerPC处理器纳入在线有限状态机的控制并予以配置,开发了PPC(PowerPc Component)组件。现在PPC已进入BESⅢ DAQ数据流子系统库中。第二级组装由ROS(Read Out Subsystem)组件将各个PowerPC处理器发送的ROD级事例片断组装成ROS级事例片断。这一过程很关键,因此本文着重分析了ROS的实现原理,并从线程并行化和缓存分配、管理等各方面对该组件进行了线程保护的优化和本地缓冲池的修改。测试结果表明,优化后的ROS不仅提高了25%-60%的性能,有效的增大了缓存深度和内存利用率,还显著降低了软件重配置失败的几率。第三级组装任务由SFI(Sub Farm Input)组件完成。SFI将所有的ROS上的ROS级事例片断组装成完整的事例数据发送至后端。文章详细的描述了SFI的C++实现。
本文还包括了为MDC全长模型宇宙线、束流实验构建DAQ系统的工作。在构建、调试期间,发现并修正了大量包括软件bug和影响系统稳定性方面的各种错误,重新设计了DAQ软件中原先不十分合理的stop时序,裁剪掉二级触发子系统的软件处理单元,开发了相应的图形化显示监测工具。该系统功能完整,可以正常稳定的运行在基线、刻度、取数和波形取样四种模式下。它的成功为以后高亮度下BESⅢDAQ系统的构建与运行打下了坚实的基础。
DAQ系统的测试和MDC模型束流实验的结果表明:BESⅢ DAQ系统的事例组装软件在组装功能与可靠性等方面已经达到了需求标准。