F. SHORT SUMMARY OF CONCLUSIONS REGARDING SYSTEM PLANNING
1. Planning and Procuring a Data-Acquisition System Today
It is no longer necessary to develop one's own system. Times have changed greatly. Many systems now exist which work well and are worth copying. Manufacturers and suppliers are prepared to deliver entire systems assembled and ready to operate, complete with all the necessary system software and varying amounts of utility software. Although it may at first sight seem more economical to assemble a system within the laboratory, by use of laboratory personnel, in most cases it is now better to buy the system from a single supplier, completely installed and operable, saving one's own resources for matters more directly concerned with research. The costs in time and effort to develop a new computer system have been much larger than predicted, in almost every case known to the authors. Large laboratories having strong engineering staffs are an exception; outside of industrial plants they are the places where new system development and assembly makes the most sense.
2. Large-Scale Computations and Computing Centers
In general it is best to plan to do all very large-scale computing jobs (e.g., shell model and scattering theory calculations) at a large computing center and to set up in the laboratory a system which is just large enough to handle comfortably the data-acquisition jobs. Usually a medium-sized or small system will suffice. However, in some circumstances this will not be true.
3. Remote Large Computing Center On-Line for Data Acquisition
Direct transmission-line coupling to a large, remote computing center may prove practical for handling occasional low-priority bursts of data processing, for example, when one can be satisfied with guaranteed access within about 100 µsec, say, and a maximum guaranteed total access duration of no more than a few percent of any day. Such a hookup may also be valuable for the handling of data input and output in the remote batch mode of operation, especially if a card reader (or high-speed paper tape or storage device) and a line printer are available for this use, in the laboratory. However, there are few if any examples of successful high-priority prompt-interrupt operation. One should be extremely skeptical about the feasibility of relying on this last mode of operation.
4. Buying versus Renting
Rental rates have typically been set so that if the anticipated use period exceeds about three years, economic prudence suggests purchasing a computer rather than renting, providing that the necessary funds for capital investment are available. This can only be true, of course, because the life expectancy of modern computers is quite long, certainly over five years. (Also, one hesitates to trade in an old computer for which an excellent software collection exists!) The argument against renting standard peripherals is weaker, because they are electromechanical in nature and therefore have shorter lifetimes; furthermore, they tend to become outmoded. Renting can be especially attractive in special circumstances. For example, a line printer can be rented for the early period of operation of a system, while extensive program development work is in progress, and returned later, when the work has been finished.
5. New Computer or Current Model?
Computers are rapidly getting better and cheaper. This month's machine is much more powerful than last month's, dollar for dollar. New machines will always be appealing, but the prospective purchaser must balance their appeal against considerations of probable delivery date, software availability, completeness of documentation for both software and hardware, and in general the manufacturer's support capability. Unfortunately, these factors usually weigh against a new machine. As a rule, even a medium-sized system based on a new model machine will not be in full operation for approximately one year after delivery, unless both the hardware and the software have been tried and proven in a previous installation. On the other hand, in the case of an older model the same factors may all be favorable, but now the machine probably gives less computing per dollar, and the advantage of an early return on the investment must be weighed carefully against the likelihood of somewhat earlier obsolescence. At some time during the life of a computer the manufacturer will very likely cease to support its software and, usually later, its hardware.
6. Importance of Software
Software is all-important, and it is very expensive to develop, both in time and money; hence a system planner should favor a central processor for which a large amount of software is supplied by the manufacturer, especially system software. In general, when a particular type of machine has already been delivered to many customers the manufacturer may be relied upon to supply the essential software needed to run a system: an assembler, I/O routines for standard devices, and usually a Fortran compiler. The larger machines will be supplied with some sort of operating system (monitor), either for batch or time-shared operation. However, the specialized software needed for data acquisition will usually not be available unless it has already been developed by another user. A laboratory with limited programming resources should therefore give great weight to obtaining a system already provided with all essential software and should direct its own programming efforts to specific data-acquisition problems. Contracting with an outside company for development of the specialized software is also possible, although the cost will probably exceed the salaries of in-house personnel hired to do the same job, and communication with an outside group is inconvenient.
7. Utility of Modern Small Computers
Many small, powerful computers are now on the market. They are inexpensive but very reliable. For many data-taking purposes they are quite sufficient, when equipped with appropriate peripheral devices and an adequate program library.
8. Utility of Disks and Drums
Magnetic disk and drum bulk storage devices have also undergone much development recently. Many good, small versions are now on the market at rather low prices. The capabilities of these units must not be overlooked. Attaching a modern disk unit to a modern, small or medium-sized computer produces a powerful but economical combination.
9. Need for Adequate Peripheral Devices
Unless an appropriate set of standard input-output devices is provided, the computer will not be used efficiently. A balanced system with a small computer is likely to prove much more useful than an unbalanced system with a medium-sized computer. What is necessary will, of course, depend upon the uses of the system. For example, if a large amount of program development is anticipated, the inclusion of a line printer should certainly be considered, because universal experience has shown that line printers are immensely valuable during program development; on the other hand, as a rule they are not so important in most data-taking operations.
10. Peripherals (Brand X)
It is often cheaper initially to use peripheral devices from a separate manufacturer, with interfacing provided either by the user or by an outside commercial firm. In this case difficulties lie in guessing the reliability of the devices and in achieving software compatibility. Software developed by a computer manufacturer usually takes advantage of the peculiarities of his own peripherals. If an outside device is purchased, the additional cost for programming during the lifetime of the system should be considered. If competent engineering effort is available, an interface compatible with the computer manufacturer's software may be built, with a possible saving in programming cost.
11. Input-Output Bus Structures
Standardized input-output bus structures designed to simplify interfacing to computers have recently been developed. Conspicuous among them is the CAMAC system already accepted as standard in many European laboratories. It is now being introduced into a few American laboratories. Before it can be accepted as a standard system here, a number of questions must be answered. For example, what types of external devices should be interfaced in this way, just ADC's data registers, counters, and the like, or should line printers, card readers, and related devices be included? Also, how much trouble will be encountered with manufacturers' I/O software, and how much will any necessary rewriting cost? Also will all computer I/O structures lend themselves to such a system; specifically, are multiport systems suitable? A national committee is now studying the CAMAC system to see if it, or something similar, should be recommended as standard in the United States. Even after being recommended as standard, however, any such system cannot be considered successful unless manufacturers accept it and market a wide variety of compatible devices. From the manufacturer's point of view the risks here may seem considerably greater than they were in the case of the NIM bins. It seems wise to keep watching for the outcome of this interesting development.
12. Necessity for Competence in Machine-Language Programming
Whenever a new type of device is interfaced to a system, some form of machine-language programming must almost always be done in order to permit the handling of input-output operations involving the new device. This is true even in places such as Yale, where the design emphasizes a maximum use of Fortran. For this and other reasons, there should be at least one person on call who is skilled in machine-language programming and who understands the system.
13. Manpower for Programming and Maintenance
The manpower required to maintain the hardware and software of any system naturally depends on the size of the installation and the uses to which it is put. Typically, a continuing effort must be expended on the improvement of system software and the writing of new data-acquisition programs. The existing hardware must be given preventive maintenance and repairs. Furthermore from time to time a hardware change must be made. Also, there are administrative matters; even the smallest system should have within the laboratory at least one person who will devote a large part of his time to administration, to the education of users, and to related matters. In many cases the laboratory has a contract with an outside firm, often the computer manufacturer, for maintenance of the computer, and sometimes the rest of the system as well. In other cases all or part of this work is done by laboratory personnel. Sometimes several laboratory people are competent both in machine-language programming and in diagnosing and repairing hardware ills. Such people are very valuable, especially if they are also competent to do interfacing of new devices. In some cases the experimenters do much of their own data-acquisition programming, in others essentially all programming is done by professionals. In some university laboratories much use is made of part-time student programmers, of whom there is now a considerable supply because of the growth of education in programming, both in high schools and at colleges. Students are sometimes remarkably good at this work and stand to profit later from the experience, but they are transients, and effort expended in training them is lost when they leave. Very roughly speaking, a small system will require a good fraction of the time of a technician-programmer, a medium system will require at least one full-time technician-programmer, and a full-time programmer, or some equivalent combination, assuming an active research program.
[Appendix A]
TABLES OF PROPERTIES OF SMALL AND MEDIUM-SIZED COMPUTERS
The comprehensive tables of properties of small and medium-sized computers appearing on the next 6 pages are from D. J. Theis and L. C. Hobbs, "Mini-Computers for Real-Time Applications," Datamation, Vol. 15, No. 3, p. 39 (March 1969) and are reprinted here by permission of the publisher, F. D. Thompson Publications, Inc., 35 Mason Street, Greenwich, Conn. 06830.
| MANUFACTURER / MODEL NUMBER | Tempo Computers Inc. Tempo 1 | Varian 620i | Digital Equipment Corp. LINC-8 | Digital Equipment Corp. PDP-8/1 | Digital Equipment Corp. PDP-8/L | General Automation SPC-12 | Motorola MDP-1000 | Sears Computers Inc. Micro Line | Business Information Technology 480/482 | Computer Automation PDC-808 | Data Technology DT-1600 | General Automation SPC-8 | Varian 520i |
| MEMORY | |||||||||||||
| Memory cycle time (µs) | 0.9 | 1.8 | 1.5 | 1.5 | 1.6 | 2.0 | 2.16 | 1 | 3.0 | 8.0 | 8.0 | 2.0 | 1.5 |
| Memory word length (bits) | 16 | 16/18 | 12 | 12 | 12 | 8 | 8 | 12 | 8 | 8 | 8 | 8 | 8 |
| Minimum memory size (words) | 4K | 4K | 4K | 4K | 4K | 4K | 4K | 4K | 4K | 4K | 4K | 4K | 4K |
| Memory increment size (words) | 4K | 4K | 4K | 4K | 4K | 4K | 4K | 4K | 1K,2K,4K | 4K | 4K | 4K | 4K |
| Maximum memory size (words) | 65K | 32K | 32K | 32K | 8K | 16K | 16K | 32K | 65K | 16K | 16K | 8K | 32K |
| Parity check (std.,opt.,no) | opt. | opt. | opt. | opt. | opt. | opt. | no | opt. | opt. | no | no | opt. | opt. |
| Memory protect (std.,opt.,no) | opt. | opt. | no | std. | std. | no | no | no | no | no | opt. | no | std. |
| CPU FEATURES | |||||||||||||
| Instruction word length(s) | 16/32 | 16/32 | 12 | 12/24 | 12/24 | 8,12,16 | 12 | 12 | 8/16 | 8/16 | 8/16 | 8,12,16 | 8/16 |
| Number of accumulators (or general purpose registers that can be used as accumulators) | 2 | 2 | 2 | 1 | 1 | 4 | 6 | 1 | 1 | 1 | 1 | 2 | 7 |
| Number of hardware registers (not including index registers) | 7 | 6 | 10 | 4 | 4 | 8 | 9 | 12 | 8 | 8 | 8 | 6 | 7 |
| Number of index registers (indicate whether they are hardware, memory or other techniques) | 1 hardware | 2 hardware | 8 memory | 8 memory | 8 memory | 3 hardware | 3 hardware | 16 memory | none | none | none | 1 hardware | 1 hardware |
| How many bits for operation code | 4 | 4 | 2,3,7 | 3 | 3 | 8 | 8 | 7 | 8 | 6 | 4 | 8,12 | 3 |
| How many bits for address modes | 3 | 3 | 3 | 1 | 1 | 3 | 3 | 5 | none | 2 | 2 | 3 | 3 |
| Number of addressing modes | 8 | 4 | 6 | 2 | 2 | 5 | 6 | 4 | 1 | 4 | 2 | 4 | 5 |
| How many bits for address | 9/16 | 9/11 | 12,10,8,4 | 8/15 | 8/13 | 12 | 12 | 12 | 8/16 | 8 | 8 | 12 | 15 |
| In this machine one can directly address ____ words | 512 | 2,048 | 1,024 | 256 | 256 | 4,096 | 4,096 | 1,024 | 256 | 512 | 512 | 4,096 | 4,096 |
| in ____ µs | 0.9 | 3.6 | 3.0 | 1.9 | 1.6 | 4.2 | 4.32 | 2.0 | 3.0 | 24.0 | 16.0 | 4.2 | 2.5 |
| and indirectly address ____ words | 65K | 32K | 4K | 32K | 8K | 4K | 4K | 1K | 65K | 16K | 16K | 4K | 32K |
| in ____ µs | 1.8 | 5.4 | 4.5 | 3.0 | 3.2 | 6.3 | 10.8 | 3.0 | 23.25 | 40.0 | 32.0 | 6.3 | 5.25 |
| Indirect addressing (multi-level, single-level, no) | Multi- level | Multi- level | Single- level | Single- level | Single- level | Single- level | Single- level | Single- level | Single- level | Multi- level | Multi- level | Single- level | Multi- level |
| ARITHMETIC OPERATIONS | |||||||||||||
| Store time for full word (µs) | 1.8 | 3.6 | 3.0 | 3.0 | 3.2 | 4.2 | 4.32 | 2.0 | 14.25 | 24.0 | 24.0 | 4.2 | 4.5 |
| Add time for full word (µs) | 1.8 | 3.6 | 3.0 | 3.0 | 3.2 | 4.2 | 4.32 | 2.0 | 14.25 | 24.0 | 24.0 | 4.2 | 4.5 |
| Fixed-point hardware mult/divide (std., opt., no) | opt. | opt. | mult.-std. div.-opt. | opt. | no | no | no | mult.-std. div.-opt. | opt. | no | no | no | no |
| Multiply time hardware (µs) | 7 | 10 | 34 | N/A | — | — | — | 14 | N/A | — | — | — | — |
| Divide time hardware (µs) | 9 | 10-14 | 37 | N/A | — | — | — | — | N/A | — | — | — | — |
| Multiply time software (µs) | — | 200 | — | 360 | 360 | N/A | N/A | 300 | N/A | 1,100 | 1,200 | 400 | N/A |
| Divide time software (µs) | — | 200 | 460 | 460 | 460 | N/A | N/A | 1700 | N/A | 1,880 | 1,500 | 500 | N/A |
| I/O CAPABILITY | |||||||||||||
| Data path width (bits) | 8/16 | 16/18 | 12 | 12 | 12 | 8/12 | 12 | 12 | 8 | 8 | 8 | 8/12 | 8/16 |
| Direct memory access (DMA) channel (std., opt., no) | opt. | opt. | std. | opt. | opt. | opt. | opt. | std. | std. | no | no | opt. | opt. |
| Maximum DMA word transfer rate | 800 KHZ | 200 KHZ | 666 KHZ | 666 KHZ | 625 KHZ | 430 KHZ | 430 KHZ | 1.0 MHZ | 250 KHZ | — | — | 430 KHZ | 660 KHZ |
| Number of external priority interrupt levels provided in basic system | 4 | none | 1 | 1 | 1 | 2 | 1 | 1 | 1 | 3 | 3 | 2 | 3 |
| Maximum number of external interrupts | 256 | 64 | 1 | 64 | 64 | 256 | 64 | 1 | 1 | 64 | 32 | 256 | 11 |
| Response time (µs) including time to save registers ofinterrupted program and initiate new program execution | 3.6 | N/A | 14.0 | 14.0 | 18.6 | 20.0 | N/A | 8.0 | 50.0 | 88.0 | 32.0 | 20.0 | 1.5 |
| OTHER FEATURES | |||||||||||||
| Power failure protect (std., opt., no) | std. | opt. | opt. | opt. | opt. | opt. | opt. | std. | opt. | opt. | opt. | opt. | opt. |
| Automatic restart after power failure (std., opt., no) | opt. | opt. | opt. | opt. | opt. | opt. | opt. | opt. | opt. | opt. | opt. | opt. | opt. |
| Real-time clock or internal timer (std., opt., no) | opt. | opt. | opt. | opt. | opt. | std. | std. | opt. | opt. | opt. | opt. | std. | opt. |
| SOFTWARE | |||||||||||||
| Assembler (1 pass, 2 pass, both) | both | 2 pass | both | both | both | 1 pass | 2 pass | 2 pass | 3 pass | 2 pass | 2 pass | 1 pass | 2 pass |
| Relocatable assembler (yes, no) | yes | no | yes | yes | yes | yes | yes | no | no | no | yes | yes | yes |
| Minimum core size necessary to use this relocatable assembler | 4K | — | 8K | 8K | 8K | 4K | 4K | — | — | — | 4K | 4K | 4K |
| Macro assembler capability | yes | no | yes | yes | yes | no | yes | no | no | no | no | no | no |
| Compilers available (specify explicitly, e.g., Fortran II, IV, ASA Basic Fortran, etc.) | ASA Basic Fortran | Fortran II | Fortran II Algol | Fortran II Algol | Fortran II Algol | none | none | none | ASA Basic Fortran | none | none | none | none |
| Conversational compilers (e.g., FOCAL, BASIC, CAL, etc.) | none | none | BASIC FOCAL | BASIC FOCAL | BASIC FOCAL LAP-6 | no | no | no | no | no | no | no | no |
| Real-time executive monitor available (yes, no) | no | no | no | no | no | yes | yes | yes | yes | no | no | yes | no |
| Disc operating system available (yes, no) | no | no | yes | yes | yes | no | no | no | no | no | yes | no | no |
| BASIC MAINFRAME COSTS | |||||||||||||
| Basic system price with 4K words including power supplies | $15,000 | $12,100 | $38,000 | $12,800 | $8,500 | $6,400 | $8,500 | $46,500[E] | $9,310 | $6,600 | $6,600 | $6,400 | $7,500 |
| Price of ASR-33 Teletype (if not already included in Basic System Price) | Included | $1,800 | Included | Included | Included | $1,100 | $1,200 | Included | Included | $1,500 | $1,900 | $1,100 | $1,400 |
| Total system price, including ASR-33 Teletype and CPU | $15,000 | $13,900 | $38,500 | $12,800 | $8,500 | $7,500 | $9,700 | $46,500[E] | $9,310 | $8,100 | $8,500 | $7,500 | $8,900 |
| Basic system price with 8K words including adequate power supplies, enclosure, control panel | $19,000 | $18,500 | $47,500 | $16,300 | $13,200 | $9,600 | $11,500 | $56,500[E] | $11,250 | $8,800 | $8,800 | $9,600 | $10,000 |
| Price of ASR-33 Teletype (if not already included in Basic System Price) | Included | $1,800 | Included | Included | Included | $1,100 | $1,200 | Included | Included | $1,500 | $1,900 | $1,100 | $1,400 |
| Total system price, including ASR-33 Teletype and CPU | $19,000 | $20,300 | $47,500 | $16,300 | $13,200 | $10,700 | $12,700 | $56,500[E] | $11,250 | $10,300 | $10,700 | $10,700 | $11,400 |
| PERIPHERALS AVAILABLE | |||||||||||||
| Magnetic tape available (yes, no) | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
| Approximate price for operational unit (including controller, computer options necessary, etc.) | $12,000 | N/A | $24,700 | $24,700 | $24,700 | $11,000 | N/A | N/A | $18,700 to $22,500 | $5,700 to $10,000 | $9,950 | $9,800 | $9,000 |
| Mass storage device available (yes, no) | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
| Approximate price of operational unit (including controller, computer options necessary, etc.) | N/A | N/A | $6,000 | $8,700 to $15,700 | $8,700 to $15,700 | $6,000 to $15,000 | N/A | N/A | $7,390 | $16,500 to $9,950 | $10,000 | $6,000 to $15,000 | N/A |
| High speed paper tape reader (yes, no) | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
| Speed (char/sec) | 300 | 300 | 300 | 300 | 300 | 300 | 300 | 300 | 300 | 300 | 300 | 300 | 300 |
| Approximate price of operational unit | N/A | N/A | $2,500 | $2,000 | $2,000 | $3,000 | N/A | N/A | $2,300 | $2,200 | $3,300 | $3,000 | $2,900 |
| High speed paper tape punch (yes, no) | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
| Speed (char/sec) | 60/120 | 60/120 | 50 | 50 | 50 | 120 | 120 | 120 | 60 | 60 | 60 | 60/120 | 60 |
| Approximate price of operational unit | N/A | N/A | $2,000 | $2,000 | $2,000 | $4,000 | N/A | N/A | $3,000 | $3,300 | $2,900 | $3,600- $4,000 | $3,300 |
| NOTE: N/A = Not Announced—or Not Available | |||||||||||||
| [E] Price includes 2 mag tapes and crt with keyboard | |||||||||||||
[Appendix B]
BACKGROUND INFORMATION FOR CHAPTER 3, A REVIEW AND ANALYSIS OF EXPENDITURES
At the November 1962 "Grossinger Conference on the Utilization of Multiparameter Analyzers in Nuclear Physics" a paper by W. F. Miller and H. W. Fulbright was presented in which data-analysis systems then in use in AEC-sponsored laboratories in the fields of high-and low-energy nuclear physics were reviewed. By that time many applications of computers had already been made in the high-energy field, while there were only a few examples of computer systems to be found in low-energy laboratories, and those were rather simple. Chapter 3 gives a similar review, but in this case the high-energy field is excluded; the emphasis is concentrated on the economic aspects of data-acquisition systems used in low-and medium-energy physics. In the earlier paper, only AEC-sponsored laboratories were covered, but in the present case some NSF-supported laboratories are also included. Chapter 3 is a condensed version of a paper presented by H. W. Fulbright at the Skytop "Conference on Computer Systems in Experimental Nuclear Physics" in March 1969.
The first part of Chapter 3 presents a review and a simple analysis of the expenditures for on-line computing in a total of 36 different laboratories supported by the AEC and NSF. The second part presents a discussion of trends visible in, or suggested by the analysis, along with some other remarks about the support of on-line computing facilities in nuclear-physics research laboratories.
Most of the information was supplied by the AEC. It was requested by Paul W. McDaniel in letters sent in December 1968. Information was received from about 90 percent of those from whom it was requested. It was then forwarded to the author C. V. Smith, arriving in the first two weeks of February 1969. The NSF found that certain administrative regulations made the sending out of a questionnaire a complicated procedure, so a different approach had to be adopted in their case. Letters requesting the information were sent by the reviewer himself directly to laboratory directors, the appropriate names and addresses having been kindly supplied by William Rodney of the NSF. Here the response was less complete. Most of the returns arrived by February 21, 1969.
A large amount of information was available for analysis. In many cases the laboratory involved had done a thorough job, and the numbers presented in those cases were especially valuable in providing a basis for estimating expenses for various items omitted in less complete reports from other laboratories, particularly in the case of manpower. In some ways, the information necessarily remained incomplete because no practical means of obtaining it occurred to the reviewer; the organization of the material in the analysis reflects this fact.
| Institutions Reporting Systems | |
| Place | Number of Systems |
| Brookhaven National Laboratory | 7 |
| University of California at Los Angeles | 1 |
| University of Kansas | 1 |
| Lawrence Radiation Laboratory | 8 |
| University of Maryland | 1 |
| University of Minnesota | 1 |
| Oak Ridge National Laboratory | 6 |
| University of Texas | 1 |
| Texas A & M | 1 |
| Yale | 2 |
| University of Wisconsin | 1 |
| University of Colorado | 1 |
| Argonne National Laboratory | 2 |
| Columbia University | 3 |
| University of Washington | 1 |
| University of Pennsylvania | 1 |
| University of Iowa | 1 |
| Ohio State University | 1 |
| University of Rochester | 1 |
| Michigan State University | 1 |
| Stanford University | 1 |
| Rutgers-Bell Labs. | 2 |
Transcriber's Note:
On page 69, item 6. was written as 5. in the original.