A software approach for readout and data acquisition in CMS

Traditional systems dominated by performance constraints tend to neglect other qualities such as maintainability and configurability. Object-Orientation allows one to encapsulate the technology differences in communication sub-systems and to provide a uniform view of data transport layer to the systems engineer. We applied this paradigm to the design and implementation of intelligent data servers in the Compact Muon Solenoid (CMS) data acquisition system at CERN to easily exploiting the physical communication resources of the available equipment. CMS is a high-energy physics experiment under study that incorporates a highly distributed data acquisition system. This paper outlines the architecture of one part, the so called Readout Unit, and shows how we can exploit the object advantage for systems with specific data rate requirements. A C++ streams communication layer with zero copying functionality has been established for UDP, TCP, DLPI and specific Myrinet and VME bus communication on the VxWorks real-time operating system. This software provides performance close to the hardware channel and hides communication details from the application programmers.

[1]  D. Schmidt,et al.  The Design and Performance of RIO A Real-time I / O Subsystem for ORB Endsystems , 1999 .

[2]  Vadim Abrossimov,et al.  COOL: kernel support for object-oriented environments , 1990, OOPSLA/ECOOP '90.

[3]  Thorsten von Eicken,et al.  U-Net: a user-level network interface for parallel and distributed computing , 1995, SOSP.

[4]  Clemens A. Szyperski,et al.  Why objects are not enough , 1998 .

[5]  A. Nico Habermann,et al.  Modularization and hierarchy in a family of operating systems , 1976, CACM.

[6]  F. Ashcroft,et al.  VIII. References , 1955 .

[7]  Hiroshi Tezuka,et al.  The design and implementation of zero copy MPI using commodity hardware with a high performance network , 1998, ICS '98.

[8]  Mario Lauria,et al.  MPI-FM: High Performance MPI on Workstation Clusters , 1997, J. Parallel Distributed Comput..

[9]  Dennis M. Ritchie,et al.  A stream input-output system , 1990 .

[10]  Douglas C. Schmidt,et al.  The ADAPTIVE Communication Environment An Object-Oriented Network Programming Toolkit for Developing Communication Software , 1993 .

[11]  Ian T. Foster,et al.  Managing Multiple Communication Methods in High-Performance Networked Computing Systems , 1997, J. Parallel Distributed Comput..

[12]  D. Samyn,et al.  The CMS event builder demonstrator based on Myrinet , 1999 .

[13]  Douglas C. Schmidt,et al.  The design and performance of a real-time I/O subsystem , 1999, Proceedings of the Fifth IEEE Real-Time Technology and Applications Symposium.

[14]  D. M. Ritchie,et al.  The UNIX system: A stream input-output system , 1984, AT&T Bell Laboratories Technical Journal.

[15]  David Lorge Parnas,et al.  Review of David L. Parnas' "Designing Software for Ease of Extension and Contraction" , 2004 .

[16]  C. G. Masi,et al.  Software smartens up data manipulation , 1999 .

[17]  Ami Marowka,et al.  The GRID: Blueprint for a New Computing Infrastructure , 2000, Parallel Distributed Comput. Pract..

[18]  Don S. Batory,et al.  The design and implementation of hierarchical software systems with reusable components , 1992, TSEM.

[19]  Douglas C. Schmidt,et al.  Object-Oriented Components for High-speed Network Programming , 1995, COOTS.

[20]  Andrés Kruse,et al.  CMS online event filter software , 1998 .

[21]  Charles L. Seitz,et al.  Myrinet: A Gigabit-per-Second Local Area Network , 1995, IEEE Micro.

[22]  Oscar Nierstrasz,et al.  Component-oriented software development , 1992, CACM.