One of the functions of the Mathematics Division of N.P.L. is to develop new techniques of numerical analysis which can be of general use and one method of doing this has been to exploit the commercially available calculating machine. In the past, use has been made of desk calculators, accounting machines, punched card equipment, differential analysers and of course the electronic computer. From the early ACE pilot model built at the Laboratory has developed the DEUCE which is available commercially and the full scale ACE now nearing completion.
Certain problems of computation can conveniently be passed to a computer elsewhere for the calculations to be undertaken. The following examples, which are typical, are taken from the scientific or engineering field.
When using an electronic computer considerable care is needed to ensure that (a) the problem has been stated correctly and (b) that it has been processed correctly. Judging by the number of errors spotted in primary data, it appears that the first condition is very difficult to achieve. Examples will be given of typical errors. It is no less easy to ensure that the calculations have been carried out correctly. However, much can be done by the use of check sums, parity digits, recalculation by alternative methods and by doing spot calculations on a desk calculator.
The staffing of a computing group will vary enormously from machine to machine but it is important that these functions should not be overlooked:-
For standard problems for which little programming is required, the charge for a problem is frequently based on the computer time involved. For the larger machines, this is in the range £25-£70 per hour. This figure usually covers staff time, depreciation, spare parts, buildings. When extensive programming effort is required the extra cost can be based on the staff time of the programmers involved.
Of common problems of this sort, two will be discussed. The first example is the calculation of a weekly payroll on a service basis. The basic information must be available to the computer not later than a certain time each week whilst the results of the calculations must be produced in time for payment to take place. By careful organisation, dealing with overtime in arrears, and other devices it is possible for such work to proceed very smoothly and one computer is at present handling 3 or 4 large payrolls.
The second type of problem is the processing of data from an experiment - say a wind tunnel - in which the cost of running and setting up the equipment is high. Here it is important that the calculations are carried out speedily so that any decisions about succeeding experiments may be taken. In assessing priorities, a problem of this type would have first call on the machine.
Our experience of such methods of operation is very limited but the determination of priorities is still necessary for jobs being processed by the computer. One rule which is easy to apply is that the jobs shall be undertaken in chronological order. Unfortunately a job which requires 100 hours of computer time is likely to delay a number of small trivial jobs. This is overcome at N.P.L. by imposing an upper limit to the time per week allocated to such problems so that those involving a few minutes of machine time can still be carried out quickly.
The details of the organisation of any particular computing centre will inevitably be very individual. However, much can be gained from discussions with members of existing groups and from reading case-histories. Four such papers are quoted.
1. Experiences of using a digital computer in industry. L. Griffiths. Computer Bulletin 1, June 1957 and 2, August 1957.
2. The first year with a Business Computer. A. J. Barnard. Computer Journal, Vol. 1, No. 1, April 1958.
3. And how to avoid them. D. T. Caminer - as for ref. 2.
The service has been in operation since 1954 and is now based on a 402F computer. This is a medium size, high speed digital computer. It has a storage capacity of about 5000 words, each of 32 binary digits; the word-time is 0.1 milliseconds and most operations are completed in two word times. It has two arithmetic units, for performing fixed and floating point arithmetic, and may be switched from one to the other under programme control. Floating point operations use the same instructions, and take the same time, as the corresponding fixed point operations.
The computing service hires time on the computer to those organisations with their own programmers, and tackles problems for others (ab initio). This usually starts with a visit to discuss the problem, followed by an estimate of the charge - at £ 2 per hour for programming time and £25-£55 per hour for computer time. The detailed programme is then produced, checked on the machine and finally run. Once a particular programme is in regular use results may be produced very rapidly. In some cases data is received by TELEX and the results are dispatched the same day. However the machine is fully occupied and unexpected requests for machine time cannot always be satisfied for several days.
The staff required to keep a computer busy depends on the kind of work for which it is used. In the case of a computing service, with a large variety of work, comparatively few routine tasks and the responsibility of expanding the library of subroutines, quite a large number of programmers are required. At the time of writing (July) there are 10 full time programmers, one machine operator and about three part-time programmers. The machine operator runs those jobs which are of a routine nature and are used frequently, but each programmer is completely responsible for his problems, from the initial planning right through to the production runs. The most important part of this procedure are the initial discussions with the customer, for the problem must be formulated correctly before programming can begin. Conversely the programme must be written in as general a manner as possible, to allow for alterations to the original problem. Programming may take anything from a few hours, where automatic coding or interpretive schemes are suitable, to many weeks for long and complicated problems.
An analysis of machine time over one week is shown below.
hours percentage Scheduled Maintenance S 5.0 8.1 Unscheduled Maintenance U 1.3 2.1 Programme Checking C 25.0 40.5 Production Runs N 29.7 48.2 Idle time I 0.7 1.1 Total Machine Hours T 61.7 100.0 Availability = (C + N + D/T = 89.8% Efficiency = (C + N + I)/(T - S) = 97.9% Usage = (C + N)/(C + N + I) = 98.8%
The week covered by this analysis was shortly after the first 402F available to the computing service was finished. A good deal of time was therefore spent on developing new programmes for the floating point part of the computer. The week is also unusual in the rather high efficiency shown. This figure is normally 90-95%.
The work carried out during this week included:-