On-Line Data-Acquisition Systems in Nuclear Physics, 1969, by H. W. Fulbright et al. National Research Council is part of the HackerNoon Books Series. You can jump to any chapter in this book here. Chapter 2: A LARGE SYSTEM BASED ON A SINGLE COMPUTER
1. Introduction
Since early 1966, Yale and IBM Research have been engaged in a joint study in the application of computers to nuclear-data acquisition. The main goal was the production of an integrated hardware-software system which is fully under the control of the experimenter in the sense that he can define his entire data acquisition and analysis process with a Fortran program.
The joint study may be divided into four areas: (1) Development of a suitable general and powerful data-acquisition interface and control unit (front end) with a set of compatible nuclear instrumentation modules (scalers, ADC's, and general-purpose input registers). (2) Development of a suitable display system. (3) Development of a data-acquisition language (as an extension to Fortran) and the necessary library routines to support this language. (4) Development of a general-purpose multiprogramming system for the selected computer (the IBM System/360, Model 44) into which the data-acquisition system could be incorporated.
The first three areas became operational in July 1967, within three months after delivery of the computer, using the standard batch programming system for the 360/44 as a basis. Development continues on the multiprogramming system, which has now reached a state where users inexperienced in using the system can compile and execute Fortran programs, but the data-acquisition components are not yet operational.
2. Description of the System
Nuclear data are input by means of a general-purpose nuclear-data-acquisition interface and control unit, organized around the concept of an event, an occurrence in the real world which causes the outputs of a group of instruments selected by the user to be read into computer memory. Sixteen independent events are provided for, with each of which may be associated any or all of 30 different instruments (scalers, ADC's, or general-purpose monitor registers) by means of a diode plug board matrix. The instruments themselves, also designed and built by IBM, are modular and completely interchangeable and enable the experimenter to configure his experiment in any way desired, i.e., to determine not only which instruments are to be read but also in what order. Exclusion logic is provided to prevent processing of certain events if and when other defined events occur simultaneously (Figure 7).
The cathode-ray-tube display unit provides a 1024 x 1024 point plotting oscilloscope with seven levels of intensity, character-generation hardware, a light pen, and a programmed function keyboard, by means of which the user can call in programs by pushing buttons. Such programs can perform any function from changing displays gains to curve-fitting. They may be system-supplied or user-written and may be (and usually are) written Fortran. A parallel, high-resolution photographic system permits computer assembly of publication quality illustrations.
The data-acquisition and display-programming system is composed of a group of subroutines which may be called from Fortran programs for performing the various processes in data acquisition and display. For this purpose, a considerable number of additional statements have been added to the Fortran language. These statements perform such functions as defining multidimensional pulse-height analyzers in the computer memory, performing pulse-height analysis using incoming data as channel numbers, and defining separate programs to process each of the 16 classes of input events. All the special statements that make up the new data-acquisition language are implemented by means of a preprocessor which converts them into Fortran coding, which the standard 360/44 Fortran compiler then processes.
FIGURE 7 Block diagram of the IBM 360/44 system at Yale.
3. Software System
The general-purpose multiprogramming operating system is a multilevel priority system designed to provide access to the system simultaneously by an, in principle, unlimited number of users, each with unique priority. Unlimited means that there is no arbitrary restriction on the number of users; the nth user can always get access if the facilities his particular job requires are not already in use.
Two types of user are recognized by the system: The basic unit of execution is the logical user, or task. Each logical user has a unique priority level. Switching between users is carried out as a response to I/O, timer, or external interrupts, at which time the highest priority user in a position to execute gains control of the central processor. The basic unit of memory protection is the physical user, composed of one or more logical users engaged in a common cause. Physical users correspond to real people doing independent work simultaneously.
By dividing his work up among a group of logical users, a person may take advantage of the parallel processing capabilities of the system in a natural way. Since logical users within a physical user are not memory-protected against each other, they may communicate rapidly, at full machine speed. Communication between different physical users is also possible, via real or simulated I/O devices. While this system by no means guarantees execution time to any but the highest priority user, it is adequate in a single-experiment environment.
The assumption is that the experimenter, who has actual control of the computer at all times, loads his logical users in the order in which he requires their priorities. Following this, other users load their jobs, getting whatever memory and I/O facilities remain. The amount of processor time available to the other users varies inversely with the experimenter's counting rate and the amount of processing he does on his data. In most experiments, the experimenter uses significantly less than 50 percent of the processor time simply because those experiments requiring the sophistication of the computer also have rather low counting rates. A priori, it is estimated that the simple priority algorithm described above is not only adequate but pays a dividend in terms of reduced system overhead time as compared to a more elaborate algorithm. It also guarantees that no data will be lost due to the lower priority users being in the machine.
In general the new system will provide all the facilities of 44PS within the multiprogramming framework, including execution of the Fortran compiler simultaneously with data acquisition.
4. Costs
To the laboratory interested in developing a system of the magnitude of the Yale system, but not a copy, it must be reiterated that neither Yale's out-of-pocket costs nor the cost of copying the system represents the total cost of development. IBM's development costs are not known, but they may be assumed to be very large.
From IBM's viewpoint, the ADC and scaler project is the least successful part of the whole project. Although those instruments are technically excellent, IBM is either unwilling or unable to sell them at a price competitive with the costs of front-end and interface equipment available from the traditional nuclear instrument manufacturers. However, ADC's and scalers available from the traditional sources can easily be interfaced to the front end (whose price is in keeping with its power and versatility). The University of Maryland has followed this procedure.
We therefore present the cost of copying the Yale system by some other laboratory. In Tables 4 and 5 following the example of Maryland, we have not selected IBM ADC's and scalers but rather less expensive components from traditional manufacturers, together with suitable adapters available commercially. The prices shown are to be considered strictly reference numbers and in no way constitute price quotations.
5. General Comments on Experience with the System
Starting by producing an operational data-acquisition software system running within the standard batch programming system for the 360/44 enabled the system to become operational within three months of the delivery of the computer. This not only enabled it to do useful work almost immediately but also enabled important experience to be gained which is being applied to the development of the multiprogrammed version.
One of the main lessons so far is that a batch-oriented system barely begins to tap the real-time potentials of a computer such as the 360/44. In a batch system, whatever analysis is needed during data acquisition must be somehow tied to the processing of events. If this is not possible, it is necessary to stop data acquisition in order to do analysis even though, on a millisecond time scale, plenty of CPU time is available during acquisition. Multiprogramming software is necessary in order to utilize this available time. This means that multiprogramming not only makes the machine available to several people at a time, but, more important, it makes large amounts of parallel processing power available to the experimenter.
It has also been shown quite conclusively that the ability of the physicist to program his own experiment (in Fortran) gives him enormous power, power which simply would not be available on a suitable time scale if he has to queue up for the services of a system programmer.
While the generalized event structure gives the experimenter considerable ability to deal with complex experimental situations, it has an overhead associated with it which limits it to about 5000 events per second. This is, of course, adequate for all experiments that demand such an event structure. For simple pulse-height analysis, it is unnecessary overhead, but it can be "turned off" in a trivial way, by simply defining the completion of filling of the buffer as an event and calling a special pulse-height-analysis program to process the entire buffer, bypassing the event sorting. This allows for close to 100,000 pulse-height analyses per second.
There are, however, few situations that justify using a computer as powerful as the 360/44 in a manner just described (i.e., doing nothing but simple addition 100,000 times per second). Therefore, such simple experiments will shortly be handled by means of a link between an existing multichannel analyzer and the computer.
The system does not suffer from having the front end directly connected to the 360/44. The data channel on the 360/44 is sufficiently sophisticated so that it performs all the functions that one might relegate to a small CPU placed between the front end and the 360/44, without any interference with the program currently running in the CPU. The one application described above, which does warrant a separate processor, is handled best by attaching the processor to a separate input port rather than by placing it between the front end and the computer. This enables it to do its intended job without acting as a bottleneck in jobs requiring the power of the front end. It also, incidentally, will function as a completely separate data input terminal if two simultaneous terminals should ever be required.
The particular display system employed has worked very well. Because the display list is in the main memory of the computer, programming of light-pen and other manipulative actions is extremely easy, but at the price of large amounts of memory being tied up. It is clear that the system cannot support two such terminals if they are to be truly independent of each other. It is equally clear that the display is as useful in data analysis as it is in data acquisition. A second display terminal is therefore being added. The selected unit (built by Computer Displays, Inc.) is oriented around the Tektronix 611 storage oscilloscope. It provides both alphameric and graphic display, as well as an interactive device (a cursor moved by means of a joystick) for a price of $8000 to $12,000 plus the cost of interfacing to the computer.
About HackerNoon Book Series: We bring you the most important technical, scientific, and insightful public domain books. This book is part of the public domain.
H. W., Fulbright et al. 2013. On-Line Data-Acquisition Systems in Nuclear Physics, 1969. Urbana, Illinois: Project Gutenberg. Retrieved May 2022 from https://www.gutenberg.org/files/42613/42613-h/42613-h.htm#Page_32
This eBook is for the use of anyone anywhere at no cost and with almost no restrictions whatsoever. You may copy it, give it away or re-use it under the terms of the Project Gutenberg License included with this eBook or online at www.gutenberg.org, located at https://www.gutenberg.org/policy/license.html.