Prof
Page 17
Prof’s report was, however, not destined for inclusion in the official TICOM records. William F. Friedman, the Americans’ chief cryptanalyst (who had vetted Alan for his Bell Labs visit in 1943), decided against, and it languished in the file relating to Vierling’s lab. Friedman hadn’t suppressed it. He had visited the Vierling lab (‘an important TICOM target’), arriving at the same time as Alan Turing. All the details were in the official military reports, and Alan’s paper did not add anything new. After his trip to Germany, Friedman went to Bletchley Park for a debriefing. It was the end of an era.
My second visit to GC & CS can hardly be said to have been as interesting as my first: V-E Day and the imminence of V-J Day had diminished activities and operations to but a mere shadow of their former stature. An air of the graveyard and tomb hung over each of the ‘huts’ and buildings. Gone was the bustle, hurry, sense of urgency, and hum of wheels turning; every day fewer faces were seen. However, I found the visit interesting nevertheless and was glad of an opportunity to renew acquaintance with many old friends, all of whom endeavored to impress me with their earnest desire to continue our collaboration during the peace and to cement further the cordial relations that existed at the end of the war.
It is tempting to speculate as to what Alan Turing and Tommy Flowers discussed as they jostled over the bomb craters on their way to Ebermannstadt. Another project at Feuerstein, according to the American report on the investigation, was the development of a ‘Calculating Machine which would instantaneously solve equations to the power of N6. […] The machine was to be used for solving equations for the design of wings of high speed planes and in the design of projectiles, which formerly took 14 days to solve.’ Shortly before they left for Germany, Alan had been shown a significant paper written by his old Princeton professor, John von Neumann. This report contained the outline for a design of a stored-program computing machine. The plan, when they got back to Britain, was for Turing and Flowers to turn von Neumann’s paper into a reality. Together, they were going to build the first full-function British electronic computer, and it was going to be far more versatile than something which could solve equations to the power of N6 in less than 14 days.
Notes
1 Foreign Office
1 Contemporary papers refer to Enigma as ‘E’
2 The memo is undated and expert opinion is divided as to whether it was written during his visit or the year before
1 Judges 16:xvi
8
LOUSY COMPUTER
IN JUNE 1945 Alan Turing had had a most interesting conversation with a man called J.R. Womersley, who had with him a rare copy of a new paper bearing the name of John von Neumann. This document had the uninspiring and obscure name First Draft of a Report on the EDVAC, but its contents were electrifying.
At the Moore School, Philadelphia, not more than an hour’s drive from Alan’s alma mater at Princeton, they had started work in 1943 on a machine called ENIAC – the Electronic Numerical Integrator and Computer – to number-crunch the most secret equations of the war. The equations had been written by John von Neumann to model shock waves to help the men designing the atomic bomb. Like a Bombe, the ENIAC had to be programmed by being plugged up with cables and switches, but unlike the Bombe it was a multi-purpose machine. It was electronic rather than electro-mechanical, and it was capable of tackling any problem. ENIAC was not completed until 1945, and when ready it filled the best part of a house. It was described in 1946 by Brigadier General Ford of the US Army as a ‘crude prototype’ which would not fulfil the requirements of the future. Yet ENIAC had been a vitally important project, perhaps as important as Colossus, in pointing the way for electronic computation. Like Colossus, what ENIAC did was count, and counting is at the root of all arithmetical computation. Because it was electronic, and superfast, ENIAC used counting – lots and lots of it – to do what pre-war task-specific analogue machines had done, and better, and with more versatility. The First Draft of a Report on the EDVAC was von Neumann’s appraisal, based on discussions with the ENIAC team, of how a proper universal computing machine should be designed. And designing and building a proper computing machine was exactly what Alan Turing was planning to do with Tommy Flowers.
John von Neumann, whose path crossed with Alan Turing’s at many stages, standing in front of the IAS computer in 1952. Von Neumann’s seminal paper on the logical structure of computers was essential to Alan’s own design of the ACE.
The EDVAC was the Electronic Discrete Variable Automatic Computer. It didn’t exist, yet, but it was going to make ENIAC obsolete when it did. The EDVAC wasn’t just another horrible acronym; unlike other calculating machines, it was going to use the concepts set out by Alan Turing in his paper, our old friend Computable Numbers. The machine which Alan sketched out in Computable Numbers was more than a programmable machine capable of many different mathematical tasks – it also used the concept, anticipated by Kurt Gödel, that the instructions given to the machine were themselves a species of data. So the program didn’t need to be wired or plugged or switched at the back of the machine, while the data were fed in somewhere else: everything was data, so everything could be fed in. Computable Numbers allowed for universal computing machines with stored programs. The very idea was revolutionary. For a generation of people brought up with very expensive, temperamental, inaccurate single-purpose analogue machines, the notion that you could build a single machine of fixed structure which would do any task, and do it reliably, was the realm of science fiction, and self-evidently it couldn’t be done. John von Neumann’s report set out to prove the naysayers wrong. He described the architecture for a machine which, unlike ENIAC or Colossus or the Bombe or any pre-war calculating machine, had a stored program.
ACE
The official origins of early British computing are in the minutes of the Executive Committee of the National Physical Laboratory (NPL). On 21 March 1944, the Committee met at the rooms of the Royal Society, and reported that ‘there was a general consensus of opinion that a Mathematical Department should be set up and that it would, in effect consist of two parts (a) to deal with mathematics of a computational type, and (b) statistical work’. J.R. Womersley knew about computing machinery – he had written a paper on mechanical methods for solving partial differential equations with Professor Douglas Hartree before the war. In those days, computing machinery was specifically engineered to the problem in hand, and ‘differential analysers’ were built by various people, including Hartree, who used Meccano to make one in Manchester. Womersley, who had read Alan Turing’s paper on Computable Numbers, was chosen in September 1944 to head the Mathematics Division of the NPL and to develop its computing laboratory. In February 1945 Womersley went to the USA. He saw IBM’s relay-based computing machinery at Harvard and he saw the ENIAC. Womersley wrote home that he had seen ‘Turing in hardware’. On his return, by his account:
1945 June J.R.W. meets Professor M.H.A. Newman. Tells Newman he wishes to meet Turing. Meets Turing same day and invites him home. J.R.W. shows Turing the first report on the EDVAC and persuades him to join N.P.L. staff, arranges interview and convinces Director and Secretary.
Alan Turing was appointed in September 1945 and immediately began work on his own report, for a design of Britain’s answer to the EDVAC. Given that neither country had yet built an all-purpose stored-program computer at this stage, the only thing the British could improve on immediately was the choice of acronym. The British machine was going to be called ACE, or the Automatic Computing Engine, so named by Womersley in a conscious allusion to Charles Babbage’s Difference Engine (a reconstruction of which can be seen at the Science Museum) and conceptual all-purpose Analytical Engine.
Alan Turing joined the NPL on 1 October 1945 and spent the next two months designing a programmable electronic computer. The report was delivered to Womersley, who convinced the Director of the Laboratory that the project was feasible. (It may be significant that his memo, under cover of which Alan’s report was sen
t, also enclosed a supplementary paper, which was ‘an attempt to state a practical case for the equipment. In view of the unique nature of the equipment this is difficult, but I believe that in this direction the promised support of Commander Sir Edward Travis, of the Foreign Office, will be invaluable.’ Womersley knew nothing of the goings-on at Bletchley Park, and it’s unlikely that he knew anything about Travis first hand. Alan was pulling a string to ensure his machine would not be ruled out as having no practical uses.) In March 1946 it was Alan’s turn to explain it; the proposal was now before the Executive Committee of the Laboratory.
Dr. Turing explained that if a high overall computing speed was to be obtained it was necessary to do all operations automatically. It was not sufficient to do the arithmetical operations at electronic speeds: provision must also be made for the transfer of data (numbers, etc.) from place to place. This led to two further requirements – ‘storage’ or ‘memory’ for the numbers not immediately in use, and means for instructing the machine to do the right operations in the right order.
The full-sized ACE, under construction at last; but it didn’t become operational until 1958.
Delays in the machine
Memory, and programming. Neither of these problems had been satisfactorily attempted before. Flowers’s Colossus did use valves for memory, but, as the Executive Committee heard:
Dr. Turing said that a storage system must be both economical and accessible. Teleprinter tape provided an example of a highly economical but inaccessible system. It was possible to store about ten million binary digits at a cost of £1, but one might spend minutes in unrolling tape to find a single figure. Trigger circuits incorporating radio values on the other hand provided an example of a highly accessible but highly uneconomical form of storage; the value of any desired figure could be obtained within a microsecond or less, but only one or two digits could be stored for £1. A compromise was required; one suitable system was the ‘acoustic delay line’ which provided storage for 1000 binary digits at a cost of a few pounds, and any required information could be made available within a millisecond.
So the delay line was chosen. To store data, acoustic pings would be sounded at one end of a long tube of mercury; the sound wave would travel slowly (actually very fast, but at geological pace relative to the electronics of the operating parts of the computer) to the other end, where a sensor would pick it up, amplify it, and send it by wire back to the beginning of the tube. The delay line was both a blessing and a curse. Sure, it solved the cost-benefit equation neatly. But it hugely complicated the task of programming, Alan Turing’s other main requirement. He didn’t attempt to explain programming to the Executive Committee of the NPL. They were still wondering what the uses of this machine would be, but they approved the project.
Now it was the turn of Sir Charles Darwin (the grandson of the more famous Charles Darwin, but a serious scientist in his own right) as Director of the NPL, and he had to explain it to his parent government department:
An example of the sort of problem that could be solved is the calculation of ballistic trajectories. It is estimated that a full trajectory from muzzle to strike, worked out by small arcs, should be solved in half a minute. Or again a large number of simultaneous equations, as in a geodetic survey, could be solved in a few minutes: or the distribution of electric field round a charged conductor of specified shape. […]
Delay line. Memory in the earliest computers – including Alan Turing’s ACE design – relied on the slow speed at which a sound wave travels along a tube of mercury.
In view of its rapidity of action, and of the ease with which it can be switched over from one type of problem to another it is very possible that the one machine would suffice to solve all the problems that are demanded of it from the whole country.
Alan Turing’s paper had already described some problems which the ACE could solve. Prudently, he started with range tables, as noted by Sir Charles, but ACE would also be able to solve simultaneous equations, multiply matrices (‘this has important applications in the design of optical instruments’), ‘count the number of butchers due to be demobilised in June 1946’, solve simple jigsaw puzzles, and most ambitiously ‘given a position in chess the machine could be made to list all the “winning combinations” to a depth of about three moves on either side’. ACE would be something more than a fast calculator for arithmetic. Alan’s report was not in any sense a copy-out of von Neumann’s EDVAC report.
• Alan’s paper on the Electronic Calculator was not supposed to be a theoretical analysis. Von Neumann outlined general logical principles for the design of any multi-purpose computing machine; Alan’s paper takes it to the next stage, describing the actual components and their engineering requirements and has a practical focus all the way through. There are sections on memory, arithmetical functions, circuitry, logical control, interfaces and programming. If you want more background, he says, ‘it is recommended that it be read in conjunction with J. von Neumann’s “Report on the EDVAC”’.
• Von Neumann’s First Draft did not contain much on the subject of programming. Alan’s paper has a long section on this topic which includes sample programs.
• The logical design advocated by Alan was tailored to fit the constraints imposed by the technology. This meant for complexity in programming. ‘The logical complexity of the ACE is not surprising since Turing had a preference for this type of activity to engineering,’ explained Herman H. Goldstine, von Neumann’s right-hand man on his own computer project.
John von Neumann’s First Draft was based around the need for a better, faster calculating machine, for doing numerical computation. He was hardly alone in this: both the Mathematics Division at NPL and the Mathematical Laboratory being started up at Cambridge expected computing machinery to replace the differential analysers and other analogue machines which had been devised exclusively for solving numerical problems. Turing’s vision was more ambitious. He saw the ACE as a machine for doing anything at all – anything capable of being rendered into logical notation, digitised and subjected to numerical processing. You could do that for speech, so you could probably do it for anything at all.
Alas, all this was just so much fantasy. Now the war was over it was impossible to get anything built. Tommy Flowers had agreed to build the ACE at Dollis Hill, where he had created Colossus, and this was confirmed by his boss. Two Colossus engineers worked on ACE for a few months but the rules of procurement had changed. The British telephone system needed to be upgraded, and this was Flowers’s day job. The resources of the Dollis Hill telephone laboratory were going to be cut off. This being the 1940s, the NPL turned to other public-sector research establishments, but without avail. 1946 was a wasted year.
Equipment versus thought
The lack of actual computing machinery didn’t stop people trumpeting about their computers in the press or having conferences to discuss the new generation of machinery which hadn’t yet been built. On 7 November 1946 the Daily Telegraph ran a story, placed by the NPL’s parent department, that ‘Britain is to make a radio “brain” which will be called “Ace”’, and how much better the ACE was going to be than ‘the American invention called Eniac’. The next month Alan gave a series of lectures on the ACE in London, and at the start of January 1947 Alan attended another computing conference, this time at Harvard in the United States. He was the only British delegate among over 300 at Harvard, but some of his old acquaintances were there: Joe Eachus, Claude Shannon, and a handful of mathematicians, as well as the expected ENIAC team. Despite – or possibly because of – his position as outsider, Alan intervened in the questioning after several presentations. All his comments were concerned, one way or another, with the problem of memory in early computers, and after a talk on transfer of data between external and internal memory he raised a familiar theme:
DR. TURING: I should like to suggest a slightly different approach to this problem which we are applying in England. We are trying to make greater use of
the facilities available in the machine to do all kinds of different things simply by programming rather than by the addition of extra apparatus. Without going into the details of the machine, I am afraid I cannot really state quite what happens, but I can give a very rough outline. We have in the machine a number of flip-flop circuits which are used to store one digit at a time. The flip-flop and recording head are allowed to operate for the required period of time, 200 microseconds. During that 200 microseconds arrangements are made by the ordinary computing techniques to pick out the next pulse that one desires to record. And so it continues. This is an application of the general principle that any particular operation of physical apparatus can be reproduced within the EDVAC-type machine. Thus, we eliminate additional apparatus simply by putting in more programming.
While in America, Alan spent some time at the IAS in Princeton, talking to John von Neumann and others about the EDVAC. Alan was there ‘for several weeks, during which time he argued that the mercury delay lines used as a memory could not work. His argument was based on various signal-to-noise ratio considerations and seemed most convincing. In fact, he persuaded us, but fortunately experiment and experience proved him wrong.’ This is curious, given that ACE was being designed with delay-line memory, and it was also the solution chosen for other pioneering computer equipment.