National Physical Laboratory
AUTOMATIC DIGITAL COMPUTATION
Proceedings of a symposium held at NPL on March 25,26,27 & 28, 1953
MEDIUM-SIZE DIGITAL COMPUTING MACHINES
Chairman: Mr. J. R. Womersley
34. The Harwell Computer
E. H. Cooke-Yarborough
Atomic Energy Research Establishment, Harwell
Copies of original NPL pages: Page 1, Page 2, Page 3, Page 4, Page 5
Copies of original Harwell pages: Page 1, Page 2, Page 3, Page 4, Page 5
The Harwell Computer differs very markedly from other automatic computers designed up to the present. it may be of interest, therefore, first to relate the reasons for adopting this unorthodox design, and then to show in what ways the design has influenced the use of the computer.
In 1950 the Harwell Computing Group were finding that an increasing amount of their work involved much computation of a simple but repetitive nature. Such work performed on a desk calculator is extremely tedious for the operator and there is a real danger of errors arising from sheer boredom. Moreover such computations divert computing effort from other work which would make better use of the flexibility and adaptability of the human intellect. Accordingly the Harwell Electronics Division began to consider the possibility of designing an automatic computer to do this work.
Only a small amount of effort could be assigned to the development and construction of a computer, so the design had to be made simple and had to use well established techniques where possible.
It appeared that a high-speed computer was not essential, since much time would in any case be spent in feeding data into and out of the machine. What was needed was something which would plough steadily and relentlessly through the mass of data presented to it. An all-relay computer was first considered, since adequate speed seemed attainable and experience with quite complex relay apparatus at Harwell had shown reliability to be excellent. Moreover, a multi-contact relay is an almost ideal component for circuit switching in a slow computer; indeed, designers of fast computers must often wish for a high speed circuit element as convenient and adaptable. Relays are however far less convenient when used as storage elements, and in existing all-relay computers it is necessary to use a very large number of relays to make up the quite modest amount of quick-access storage provided in these machines. Consequently it was decided to use relays only for switching and, after examination of other possibilities, dekatrons (ref. 1) were chosen for the quick access storage, since these were already coming into wide use in scaling circuits at Harwell and their properties were well known and seemed to offer many advantages. For example, each dekatron can store one decimal digit, thus doing the work of at least four storage relays with a power consumption of less than 100 mW. The associated electronic circuits can be relatively simple, since a dekatron delivers a pulse large enough to be used directly in arithmetical circuits without amplification, while the power required to register information in a dekatron is conveniently small. Several other convenient features of the dekatron emerged as the design proceeded.
It is not proposed here to discuss the detailed circuit design of the computer which has been fully described elsewhere (ref. 2). The design philosophy was that circuit simplicity and reliability were all-important, speed being a secondary consideration.
It was soon found that a decimal machine presented difficulties and complexities of a logical, not a circuit nature, which might not have been encountered in designing a binary machine. After some time had been spent in investigating the principles involved in long multiplication and division, a pilot machine was built, using three decimal digits plus the sign, to help resolve these problems.
The information thus obtained greatly facilitated design and construction of the full scale machine which worked for the first time in April, 1951, just over a year after the commencement of the project. Within a few weeks it was performing simple but useful computations connected with particle size data. A good deal of work remained to be done on the circuits and wiring, so, although the machine performed increasing amounts of useful computation during this period, it was not finally handed over to the Computing Group until May 1952.
Properties of the Computer
The machine obtains its instructions and numerical data from standard 5-hole teleprinter tape. There are seven mechanical tape-readers; some of these usually carry repetitive routines in the form of closed loops of tape. Results are printed by a modified teleprinter. A two address code is used and each arithmetical instruction contains two pairs of decimal digits identifying the two addresses involved, preceded by a digit defining the operation to be performed. The reading of each instruction takes about a second and its execution takes a further second if the operation is a simple one; multiplication or division take ten to fifteen seconds. The speed is thus comparable to that of a normal desk machine.
The computer handles numbers between +10 and -l0 containing eight decimal digits; negative numbers appear as complements. There are 40 quick-access storage locations using dekatrons (With provision for adding a further 50) and a double length dekatron accumulator.
The machine is designed for unattended running, so there is a comprehensive system for electrically checking the correct functioning of the circuits. Arithmetical checks are usually included in the programme to detect the small proportion of errors which may elude the functional checks. When the machine is set for unattended operation the occurrence of an error or other difficulties causes the machine to recommence the computation, to go back a few steps in the computation or to start the next problem. if the machine fails three times without completing the current computation it shuts down. if, however, after one or two failures it successfully completes the computation it begins the next computation with all its "lives" returned. This arrangement has been found very valuable in preventing the computer being shut down by a trivial fault.
A slow computer can only justify its existence if it is capable of running for long periods unattended and if the time spent performing useful computations is a large proportion of the total time available. There appear to be as many ways of assessing computer serviceability as there are computers. The method used here is to take the number of hours the computer runs out of the possible maximum of 168 hours in a week. This therefore gives the total computing time plus the time spent on fault finding or maintenance with the computer switched on. The latter time seldom exceeds four hours per week and is usually much less, so it does not very significantly affect the results.
Over the period May 1952 to February 1953 the computer averaged 80 hours a week running time. This includes one week when the machine was serviceable but no programme was available and four weeks when the machine was out of action following an accident which caused severe mechanical damage. if these five weeks are excluded the average weekly running time becomes 92.5 hours or 55% of the possible maximum. Most of the lost time was due to the machine failing during unattended running and having to wait until the next working morning for the fault to be corrected.
A further way to assess serviceability is to consider on what proportion of occasions when the machine was left to run overnight it worked until the following morning (15 hours later). This has been the case on 56% of the occasions. The corresponding figure for working over the weekend (63 hours) is 35%.
These percentages exclude occasions on which failure was due to errors in setting up the machine or in preparing the programme; they also exclude the occasions when the machine successfully completed the computation before the end of the period. On many of the occasions when the machine failed the computation had reached a useful stage before failure occurred, so that the night's work was by no means wasted.
Most of the failures tend to be of a fleeting, intermittent nature, so one fault in the computer may cause several failures before it is detected. Faults in the relays and in the gas filled cold cathode tubes have been commendably few. Most of the faults have been due to more conventional components, such as thermionic valves, metal rectifiers etc. Clearly there is room for improvement. it is hoped that this will be achieved by replacement of components prone to failure and by arranging for regular preventive maintenance.
Even at present, however, serviceability is sufficient to make the machine a powerful computing tool. Few, if any, other computers show comparable serviceability reckoned on the same basis, especially as maintenance of the Harwell computer represents only a small part of the work of one man.
Preparation of Programmes
The Harwell computer provides almost all the facilities of a large computer except high speed, so programming is in principle very similar. in practice, however, many of the subroutines and procedures used with fast machines become excessively time-consuming and alternative methods are used whenever possible.
The main difficulty arises in reading instructions or data from the paper tape in an order which cannot be predicted when the tape is prepared. This situation arises, for example, if the tape contains a table of functions or a rather complex subroutine containing many conditional instructions. Under these conditions the machine has to search along the loop of tape for the desired address. Computation is interrupted until this address is round, so if a long search is necessary much time may be lost. Numerous long searches also tend to reduce the life of the tape.
The need for long searches is minimized by splitting subroutines into as many small loops as possible to make best use of the available tape-readers. A consequence of this is that it is difficult to prepare economical subroutines which are flexible enough to be used in many different computations.
When the computer was first put into service it had only 20 dekatron stores and this made programming very difficult. The increase of the number of dekatron stores to 40 has almost completely removed this difficulty and shortage of quick-access stores is now seldom an embarrassment. Of course, if there were enough of these stores to accommodate long subroutines or tables of functions, the difficulties mentioned in the preceding paragraphs would disappear. The cost, however, would be prohibitive, because, unlike magnetic drum storage, the cost of Dekatron storage is almost directly proportional to the storage capacity provided.
Experience has shown that certain changes would simplify the programming or speeded up the computation without adding much complication. While the changes could easily be included in a new machine they have not been incorporated in the present one as it is considered that extensive modification of an existing machine of this type could cause permanent deterioration of reliability.
The changes are indicated below:
- Provision of a facility for clearing a storage address and feeding a number into it in one operation. At present a store can only be cleared while transferring a number out of it.
- Elimination of many sequential relay operations when reading in orders and setting up the conditions for arithmetical operations; this would reduce the reading time to about 500 ms and speed up multiplication and division.
- A change in the method of recognizing an address when searching a tape, which would result in the search speed being limited only by the characteristics of the tape reader itself.
- Provision for computation to continue while an address is being sought on a tape.
- Use of the faster dekatrons now available. This would reduce the times for multiplication and division by about three seconds.
Although of relatively simple design and low speed, the Harwell Computer has shown itself capable of performing a very useful amount of computation, because it can run for long periods unattended.
The combination of dekatrons, relays and teleprinter apparatus has been found very suitable for a computer of this size and speed. Modern dekatrons are capable of much higher speeds, but their use would add little to the speed of this type of computer. To exploit their increased speed successfully, very different methods of switching and storage would be necessary. Such a computer would undoubtedly be very useful, but it is perhaps questionable whether it could be constructed, run and maintained with as little technical effort as is needed by the Harwell computer.