You are on page 1of 6

IEEE Transactions on Nuclear Science, Vol. NS-30, No.

5, October 1983 3925

MULTI-PROCESSOR DATA ACQUISITION AND MONITORING SYSTEMS FOR PARTICLE PHYSICS


V.White, B.Burch, K.Eng, P. Heinicke, M. Pyatetsky, D. Ritchie
Fermi National Accelerator Laboratory
P.O. Box 500, Batavia
Illinois 60510

Abstract
a single user system, difficult.
A high speed distributed processing system, using
PDP-11 and VAX processors, is being developed at More data, higher rates, more software point
Fermilab. The acquisition of data is done using one clearly to a need to distribute functions over
or more PDP-lls. Additional processors are connected multiple processors.
to provide either data logging or extra data analysis
capabilities. Within this framework, functional Experimenters normally are anxious to minimise
interchangeablity of PDP-11 and VAX processors and of the experiment "dead-time". Some experimental groups
the PDP-11 operating systems, RT-11 and RSX-11M, has with very high data rates nay choose to buffer data
been maintained. Inter-processor connections have prior to transferring it to the processor memory.
been implemented in a general way using the 5 megabit Where such "hardware" solutions are inappropriate, the
DR11-W hardware currently selected for the purpose. parallel readout of event data, either by the use of
Using this approach we have been able to make use of multiple CAMAC branch drivers, or multiple data
several existing data acquisition and analysis acquisition processors, or both, can significantly
packages, such as RT/MULTI, in a multi-processor reduce experiment dead-time. The recombination of the
system. part events and their logging to tape can be handled
as a non time-critical operation, provided sufficient
History processor memory is available.
The majority of experiments at Fermilab have, in the The desire to analyse a small fraction of tihe
past, carried out the acquisition of data and the data in some depth, while continuing to look briefly
monitoring of their apparatus with a single dedicated at a significant percentage of events, also indicates
minicomputer. Despite wide differences in event a need to distribute and modularise functions. A
sizes, event rates and in the monitoring requirements, 32-bit machine having compatibility with "offline"
a large number of experiments have been done using a
PDP-11 processor and one of the two online packages analysis of the data and a gigabyte of logical address
supported by the Fermilab Computer Department. These space, is an attractive and in some cases essential
packages are the RT/MULTI data acquisition and ingredient for data analysis. A VAX is the obvious
monitoring package (1) and an RSX Bulk Memory data choice for such a machine, given the existing
acquisition system (2) combined with an RSX/MULTI extensive use of PDP-lls.
analysis package (1). Indeed, the use of MULTI has Why not just mnove to the VAX as a single
extended beyond Fermilab, with various forms of the processor sstem for each experiment? There are
package in use at SLAC, LBL, Saclay and other experiments with data rates and dead-time requirements
institutions. such that a single VAX could well do the job. There
Some experiments have used a package "off the is however much to be argued in favour of using
shelf" and unchanged. In fact one of the advertised PDP-lls for the highly time-critical data acquisition
features of RT/MULTI is that one can be taking data part of an experiment. Typical total event interrupt
and analysing it within hours of obtaining the and readout overhead, measured for real-world PDP-11
software package, and without programming. Other data acquisition systems are of the order of 300-500
experiments have expended considerable time and effort microseconds. Many people have handled highly
in tailoring the package to their particular needs. time-critical applications within the framework of a
Over ninety percent of the experiments with Fermilab large multi-user operating system. However interrupt
software support have used the RT/MULTI system (more response, on a VAX, to match that of the PDP-11
than 50 experiments in total). The rest have opted system, even if possible requires a high degree of
for the package running under the multi- tasking care in both bypassing and coordinating with the
operating system RSX-11M. operating system. This is especially true when a
general purpose data acquisition system is the goal,
Why Multiple Processors? with widely different performance requirements for
different experiments. The PDP-11 MULTI packages
Several factors have served to highlight inadequacies handle the acquisition of data efficiently and
of both single processor and single user systems. flexibly. Their simplicity means that even special
Experimental apparatus is growing in size and purpose hardware can relatively easily be interfaced,
complexity, increasing the need for a greater amount tested and incorporated into the data acquisition
and depth of monitoring of the apparatus. Upgrades to system. This has been done successfully by several
the Fermilab accelerator will change the online experiments using RT/MULTI, for such devices as
software environment to one where data must be FASTBUS (3) and non Fermilab-standard CAMAC
accumulated from the apparatus for approximately interfaces.
thirty percent of the time. This contrasts with the
previous beam spill of one second out of every ten. Non-technical considerations such as funding and
Even sociological factors in large experimental groups manpower and the existence of many PDP-lls , often
can make the use of a single processor, or worse still with specialised or tailored software, could also be
cited as contributory arguments toward using PDP-lls
for data acquisition machines. A consideration not to
* Work supported by the U.S Department of Energy, be overlooked is conservatism. Many physics
Contract DE-AC02-76ZH03000. experiments metamorphose from a previous experiment.
0018-9499/83/1000-3925$01.00©1983 IEEE
3926

A data acquisition system which is based on an old and


trusted system, is often desirable from the human Normally the primary performance measurement of
point of view. interest to the experiment is the event dead-time.
This is the time interval between when the computer is
Multi-processor systems interrupted to read in an event and when it is again
ready to read in the next event. The ability to
The goal of our multi-processor systems is to allow monitor a large fraction, or all, of the events may be
the functional, practical and performance requirements required.
of a physics experiment to be satisfied by configuring The Links between the Processors
both a hardware and software system of processors and
packages. It is a )uilding block approach, in which The communication links between processors are
some of the building blocks are themselves complete fundamental to the success of a distributed processing
data acquisition and monitoring packages. system.
Functional requi rements Tightly coupled processors with shared memory
regions were considered and were rejected largely
Nearly all high energy physics experiments have the because of the lack of suitable hardware and also
same broad functional requirements from a data because of the difficulty of extending the system to
acquisition and monitoring system. loosely coupled, physically separate systems.
1. Fast acquisition of data from the apparatus, with DECNET was also considered and rejected because
minimum dead-time and adequate buffering. of its large requirements on address space and its
high time overheads.
2. Logging of data to a secondary medium, normally a
magnetic tape. Link Hardware
3. Monitoring of the apparatus by either direct We chose pairs of DR11-Ws to provide a high speed
checks on the hardware or analysis of the event parallel link. The DR11-W is a DMA controller capable
data. of sustaining DMA transfers at a rate of 333
Kwords/second (non-burst mode) and 500 Kwords/second
4. Analysis of some fraction of the events. (burst mode) (4). Pairs of DR11-Ws may be used to
link any two processors with a UNIBUS, which are not
5. Display of graphic and other information. more than 50 ft. apart. It is an inexpensive,
Digital supported device, also available from MDB.
6. Control of the starting/stopping of data taking The latter also provides for links between machines up
and tape writing. to 1000 ft apart.
Network Architecture
Additionally data acquisition systems often
require the ability to playback events previously Our network architecture is designed for typical
written to tape. multiple processor configurations such as shown in
Figure 1. We adopted a layered approach with the
Practical requirements following ground rules in mind:
These vary considerably from experiment to experiment, 1. point-to-point connections only,
but some of the following may be required:
2. bi-directional use of the link,
1. A complete data acquisition and monitoring package
which requires little or no programming. 3. direct transfer of data to a program, without
intermediate buffering, for maximum speed,
2. A framework data acquisition and monitoring
package to which specialised software and/or
hardware can be easily added. 4. interchangeablity of processors and operating
systems at each node,
3. The ability to quickly and easily change or add to
the system without affecting other critical parts. 5. capability of switching to alternate link hardware
with minimal program change.
4. A program development capability whilst the
experiment is in progress. Link Layer
5. The ability to write detailed analysis programs
without the limitations of a 32K word logical The link layer executes a series of transactions with
address space. Analysis of the data may require a its counterpart in the other machine. This protocol
large histogram space. accomplishes the sending of a single block of data (a
packet) or a single byte of control information (a
6. Transportablity of analysis software to other signal) over the link. In addition it guarantees fair
systems. bi-directional use of the link regardless of the
varying speeds and interrupt response times of the end
processors.
Performance requirements
Events may vary in size from less than 100 16-bit
words to in excess of 30000 16-bit words. Event rates
may vary from just a few per second to 1000 per
second. A system may be required to read in and
buffer up to 100,000 16-bit words per second.
3927

Logical Link Layer Fast "event-data-present" interrupts are


presented via a DR11-C general purpose device
The logical link layer is concerned with the routing interrupt interface module.
of messages to the appropriate program, or part of a
program within a processor. It uses a system-wide
identifier, termed a packet type code (PTC) to Any adequate combination of manufacturer
determine the destination of a message. Each message supported discs may be used on the systems. Disc
has to be given a code which describes its intended requirements range from one double density floppy disc
destination. Any program or part of a program may (onto which RT/MULTI can be fitted) to a more norinal
declare itself the exclusive owner of messages of a pair of RL01 or RL02 discs on a data acquisition
particular packet type code, and will then receive all PDP-11.
messages with that particular destination packet type
code. This philosophy allows messages to be sent over Bank switchable bulk memory may be used on arny
the link, categorised by their function. They are PDP-11 processor (9). This may be the only memory on
directed to the piece of software which is responsible the UNIBUS or may co-exist with normal PDP-11 memory.
for those types of messages. Whether this i's a Addition of one or more 128K word bulk memory boards
dedicated special purpose program (on a VAX say), or to a PDP-11 processor allows the system to access a
part of RT/MULTI is transparent to the sender of the large amount of memory, as data buffers, in addition
message. to the normal memory.
Application Layer Software
Programs wishing to exchange messages must develop All machines in a multi-processor configuration are
their own higher-level protocols, which include expected to run under one of the manufacturer-supplied
destination identifiers, for replies to messages where operating systems: VMS (for VAX) and either RT-11 or
necessary. It is at this layer that the use of data RSX-11M (for PDP-lls).
acquisition and monitoring software packages enters.
The basic building blocks available for a
Implementation of the Communication software multiprocessor system are:
For all three operating systems (VMS, RT-11 and 1. Communications software for all machines and
RSX-11M) we have chosen to implement the link and operating systems.
logical link layers using device drivers (5),(6). In
addition we have provided a FORTRAN callable package 2. RT/MULTI data acquisition and/or analysis package.
of routines (CDPACK) to interface to the device
drivers. These provide a uniform operating system 3. RSX bulk memory data acquisition package.
independent interface to the communications software
(7). The driver and the FrORTRAN package both serve to 4. RSX/MULTI analysis package.
insulate application programs using them from future
changes in the hardware. 5. VAX/MULTI analysis package (10)

Multi-Processor System Architecture Communications "hooks" have been added and are
still in the process of being added to the above basic
Hardware data acquisition packages. The FORTRAN callable
interface to the coi-munications software is being used
A multi-processor system consists of some combination to implement these inter-processor dialogues,
of PDP-11 and VAX machines. Currently, one or more of following the system design philosophy outlined below.
the PDP-lls are data acquisition machines. Connected
machines must be less than 50- ft apart and linked by a Multi-processor system design
pair of DR11-Ws. Connections to LSIs has not been
explicitly tried but should be possible with little or Each of the functional requirements of a system,
no change to software. Similarly all our tests to listed above, are considered as logically distinct
date have been with PDP 11/34, 11/45 and upwards range subsystems. Each subsystemnvhich needs to communicate
of processors, excluding 22 bit machines. RT-11 with a subsystem in a connected processor must do so
software should in principle function on 11/03, 11/05, in a well-defined and operating system independent
11/10 type machines. manner.
One machine is normally equipped with at least We have defined a system-wide format of such
one tape drive, either a standard Digital supported communications between subsystems for:
800 or 1600 bpi tape drive or a STC1900 1600/6250 bpi
drive.
1. Providing event data, on request, to an analysis
Display of graphic information is done using subsystem. A systemwide network identifier exists
Tektronix 4010 terminal (or compatible substitute), for a subsystem which can provide such event data.
and/or Tektronix 613 on a PDP-11 processor. A Requests for events (either single events or a
Versatec printer/plotter or Printronix printer/plotter buffer of several events) consist of sending a 10
device may be used on any processor. The latter may word request block to this event provider,
be shared between multiple processors, using a specifying the type of events required, the size
hardware switching mechanisin (8). of buffer available to receive them and the
network identifier of the requester.
Data acquisition PDP-lls are equipped with one or more
Jorway 411 CAMAC branch drivers through which event 2. Passing a part-event, on request, to a subsystem
readout is done. With an RT/MULTIL software package an dedicated to the re-assembly of part events and
(EGG) BD011 CAMAC interface may be used instead. their logging to magnetic tape. This is for
systems where more than one PDP-11 is used to read
3928
out the data for a single event.
Table 1
Standard protocols for the following subsystems have .
yet to be defined: RT-ll/ RT-Il/ RSX/ VAX/ VAX/
RT-11 RSX RSX PDP-11 PDP-1l
1. Run and tape control software communication with * * * +(I) +(2)
the data acquisition and tape logging subsystems, - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

and with other run and tape control sub-systems.


-

Per message time 4-5 5-6 4.5-6 4.5-6


2. Error and message subsystems communication across overhead
processors. (milliseconds)
Often the subsystems are, or will be, actually Time overhead per 3 3 3 5.5 3.6
implemented as separate processes (VMS), or separate word of data
tasks (RSX-11M), which must be able to communicate transferred
with other subsystems in the same machine. In this (microseconds)
case communication software may be used for the
inter-process cominunication too. This is achieved by
the use of an internal communication link feature
provided in both the RSX-11M and VMS device drivers. * Loopback tests over several thousand transfers
between 11/34 and 11/50 processors
Complete functional interchangeability of
software between processors and operating systemsX
demands more than just well defined communications + Tentative figures (performance still under study),
protocols between the various data acquisition and of several thousand one way transfers from VAX to
monitoring subsystems themselves. It also means 11/50 running RSX-11M.
providing certain services normally available within a
machine to a program on a connected machine. In
particular, remote file access and the ability to (1) DMA using VAX direct data path(11/780)
remotely manipulate and read from CAMAC, come into
that category. General purpose communication software
will in the future form the basis for the provision of (2) DMA using VAX buffered data path. ( 11/780)
such services. In the meantime multi-processor
configurations are also constrained by the requirement
that a monitoring program,which directly accesses the
CAMAC must be implemented as a part of the data
acquisition machine software. Also data and histogram
files produced on one processor are not immediately Using connected RSX-11M systems we have measured
and transparently available for use on a connected the CPU utilisation when executing continuous loopback
machine. communications software test programs. The percentage
of the CPU available to other programs was found to be
Special purpose user written software may make between 50 and 65%. This compares favourably with the
use of the general communications software to transfer CPU utilisation of writing continuously to a 6250 bpi
data, of any type, between connected machines. magnetic tape.
Data acquisition and analysis packages
The Building Blocks RT/MULTI is a complete software package incorporating
Overview, Status and Performance data acquisition, analysis and run control, with an
emphasis on interactive analysis of the data. It now
General communications software has two possible "network" implementations. In one,it
may be used both as a data acquisition system and a
Device drivers and a standard interface package exist provider of events over the link to an analysis
for all three operating systems (VMS, RT-11 and subsystem. Analysis may also be carried on in
RSX-11M). parallel in the RT/MULTI data acquisition machine. In
the other it may be used as an analysis-only package,
Any program in one processor may receive or obtaining its data from the link. LINK commands have
transfer data directly from/to the data buffer of any been incorporated which allow control of
program in a connected processor. inter-processor communication. They also provide for
control of the supply of data buffers for the analysis
Much test software for the link has been written subsystem of the data acquisition machine, relative to
in FORTRAN common code. The link has proven to be the supply of buffers available to over-the-link
error-free and completely reliable. requesters. RT/MULTI sends and receives buffers of
events.
Some timing figures for data transfers between
processors (using the FORTRAN callable CDPACK) are The performance of the system is quite dependent
given in Table 1. These depend on the particular on various configuration parameters. It depends on
processor and memory speed. the size of buffers, the number of events per buffer,
and above all on the extent and type of data
acquisition activity. Requests for events are treated
as a part of an analysis-type subsystem and as such
data acquisition activities normally take precedence.
3929
We have measured the performance in both RT-RT References
and RT-RSX cases. The result is an 11 ms per buffer
overhead in both cases, to which the 3 microsecond per
word transfer time from Table 1 must be added. Large 1. J.F.Bartlett, et. al., RT/RSX MULTI: Packages
buffers containing several events are obviously the for Data Acquisition and Analysis in High-Energy
most efficient way to use the link, since the per Physics, IEEE Transactions on Nuclear Science,
buffer overhead is constant. RT/MULTI link additions Vol. NS-26, No. 4, Aug 1979.
provide for this.
2. J.R.Biel and R.J.Dosen, An RSX-11M High-Rate CAMAC
Two experiments at Fermilab are currently setting Data Acquisition System Using a Bank-Switchable
up dual RT/MULTI systems. Both are using existing and Bulk Memory, IEEE Transactions on Nuclear Science,
heavily tailored RT/MULTI systems, to which they are Vol. NS-28, No. 5, Oct 1981.
adding an RT/MULTI analysis machine.
3. D.Harding,J.Kohlmeier,J.Filaseta, D.Ritchie, A
Interprocessor communication software takes up High Speed Data Acquisition System for Fermilab
more than 2K words in an RT/MULTI system. This means Experiments. Paper presented to this conference.
that existing systems may have to either re-configure
the software or move some of the analysis functions to 4. Digital Equipment Corporation, DR11-W Direct
the connected machines. Memory Interface Module Users Guide.
Any program in an RSX-11M system or on a VAX may 5. M.Pyatetsky, P.Heinicke, D.Ritchie, V.White, Using
also obtain a buffer of events from an RT/MULTI data the DR11-W DMA device for Interprocessor
acquisition system, using CDPACK routines and obeying Communications in RT-11, 1982 Fall DECUS U.S.
the defined "event request" protocol. Work is still Symposium, Anaheim, Ca.
in progress to provide a user interface routine for
such event requests and to incorporate that into both 6. D.Burch, V.White, An RSX-11M Device Driver
the RSX/MULTI and VAX/MULTI analysis programs. implementing Network protocols on the DR11-W, 1982
Fall DECUS U.S. Symposium, Anaheim, Ca.
Three experiments are already planning to take
data this Fall using an RT/MULTI system connected to a 7. J.Biel et. al., High Speed Interprocessor Data
VAX analysis machine. Links using the DR11-W, 1982 Fall DECUS U.S.
Symposium, Anaheim, Ca.
Work has been done on adding logging of part
events protocols to the RSX data acquisition system. 8. R.Knowles, Scanning Printer Multiplexer (SMUXBOX),
Two RSX data acquisition systems may take data, in Fermilab Computer Department Hardware note HN-48.
parallel, for a single event,and later each send the
data to a third RSX "data acquisition" system to be 9. Digital Pathways, Mt. View, California 94043,
recombined and logged to tape. This work is currently Bank-Switchable Bulk Memory Users Manual.
being tested and at present there is one potential
user of such a configuration. 10. K.Eng, B.Burch, D.Ritchie, VAXMULTI System
Generation, Fermilab Computer Department Program
Note PN-146.
Conclusions and Future Plans
We will continue to add communication "hooks" to all
subsystems. The RSX data acquisition system must be
equipped to provide events over the link. RT/MULTI
and possibly some VAX subsystem will have part-event
logging capabilities added. Work will proceed on
integrating system-wide run and tape control and a
system-wide error and message system.
We will be closely watching the performance of
these multi processor systems as they go into
operation in experiments. Our user community has, in
the past, given us valuable feedback both in the form
of operational experience and program contributions.
With similar input, we will adapt these multi
processor systems to user needs and incorporate our
users' additional developments.
3930

Poss ib le Processor Topolo2ies


'-~~~~~~~~~~~~~~~~L --e

IIS

AQIJISITION AND LOGGING

CAMAC / FAS-iUS
(A) EXTRA ANALYSIS

MACHINES,

| BE

(B) LOW DEAD-TI ME PARALLEL READOUT

MACHINES,

(C) PARALLEL READOUT AND EXTRA ANALYSIS

You might also like