Last update: Apr 1, 2000 |
|
CERN Presented by: Johannes Gutleber A key requirement of future data acquisition systems is the ability to satisfy the ever increasing event rates and sizes. The data transfer capabilities imposed on the CMS experiment exceed those of recent installations at other accelerator centers by a factor of 100. The need to survive several generations of communication technology makes it necessary to decouple the data transfer software from the applications.We adopted the object approach for both, design and implementation in the research phase of the data acquisition system software. Traditionally object communication toolkits are not targeted for highly efficient systems. Therefore, we had to concentrate on this issue. As a result, a distributed object communication toolkit (XDAQ) has been designed. It allows the composition of object-oriented software components that reside at the hardware/software boundary. Further independence of the deployment environment is achieved with a portable operating system library. High abstraction is guaranteed by encapsulation of platform dependencies. Still, the efficiency differs only slightly from direct hardware manipulation. We do address industry standard compliance at highest level, that is the support of OMG/IDL through a precompiler that produces C++ and Java code. When we use the proposed development toolkit for implementing the components of the data acquisition software, we encounter several obstacles that hinder us to achieve high efficiency even at lowest level. Several design patterns that we included in the distributed component toolkit, help us to bypass these limitations partly. Thus, we gain performance and keep the level of abstraction high. For achieving higher data transport capacities in control traffic bound networks, we apply the scatter/gather pattern. The problem of associating a response with a request in asynchronous communication environments is addressed by the magic cookie pattern. Event delegation allows the developer to build efficient data driven applications and allow for configurable applications. This paper describes the architecture of the XDAQ toolkit, its capabilities and sample usage in the CMS data acquisition prototype. We attest the usefulness of such approach by presenting performance figures. The design patterns that are included in the toolkit to boost the performance are presented.
|
||||||||||||||||||||||||||||
| | Home | Bulletins | Committees | Scientific Program | Docs by topics | Social Event | Conference Location | Secretariat | Privacy Policy | |