How Alan Turing wanted to base EDSAC's memory on BOOZE
From liquid memory to solid state - mercury moment was nearly gin dream
Centenary If Alan Turing had been in charge of the EDSAC (Electronic Delay Storage Automatic Calculator) project in the late 1940s, the first computer memory might not have been based on mercury - but on a good gin.
In his Turing Award speech in 1967, Sir Maurice Wilkes, the actual EDSAC project chief, recalled Turing's input on discussions about a cheaper substitute for mercury as an ultrasonic storage medium. Apparently, Turing "advocate[d] the use of gin, which, he said, contained alcohol and water in just the right proportions to give a zero temperature coefficient of propagation velocity at room temperature".
In other words, Turing reckoned that gin had similar properties to mercury when it came to "storing" ultrasonic vibrations - an early solution to the challenge of building a dynamic memory system for a digital computer.
The interesting thing is that gin may well have worked. Andy Herbert, who is leading a project to rebuild EDSAC at The National Museum of Computing, says: “The physics actually stacks up. It does turn out that a dilute alcohol solution would do the job.”
In an age when we have storage devices that hold gigabytes of data in a chip the size of a fingernail, it's hard to imagine computer memory based on what amounts to a couple of yards of scaffolding pipe full of mercury. But that is what EDSAC - widely accepted as the first proper "stored program" computer - used as its memory.
In fact there was not just one delay line, there were several. In a paper describing the EDSAC project, Wilkes notes that the original design used two "batteries" each containing 16 mercury tanks "about five feet long" and "constructed from mild steel tubing".
Mercury delay line memory converts a bit from an electrical to a sound pulse that is transmitted as a sound wave through a tube - called a “tank” - that contains mercury. It is then detected at the other end and transmitted back.
Wilkes and his tubes o' mercury
The delay part is the fact that instructions and data came in strings, and so to be useful had to be re-constructed at one end, and there was an inevitable delay as all the sound pulses were re-assembled.
Data was converted to sound using piezo crystal transducers - peizo transducers are still used today to make noises in toys, watches, clocks, games and other consumer gadgets.
Mercury was used because its acoustic properties matched those of the piezoelectric quartz crystals, because it was judged to have the best minimal energy loss and sound would travel relatively fast - at 1,450 m/s.
Alcohol, as ever, did play its part...
EDSAC held 32 tanks, each five feet long, filled with mercury and capable of keeping 576 bits circulating in the mercury.
The mercury delay line was developed by American engineer John Presper Eckert as a way to reduce "noise" on radar displays.
Although Turing's suggestion that gin would make a viable storage medium was sidelined, alcohol did play an important part in the construction of the mercury tanks that became EDSAC's memory. The crystals used to create and sense the ultrasonic waves in the mercury tanks needed some help to work properly.
Wilkes noted: “In order to avoid difficulties in making the mercury wet the crystals, the tanks are filled with alcohol before the mercury is poured in. The alcohol is displaced but leaves a thin film on the surface of the crystals which provide the acoustic contact with the mercury.”
The delay line worked by firing ultrasonic pulses from crystals at the end of the tank. The pulses could represent data or program instructions and were constantly refreshed. Ever the pragmatist, Wilkes was not too concerned about the elegance of the storage medium - he just wanted something that worked and was reasonably reliable.
'Pragmatic changes were made but not actually documented'
Andy Harter, now head of RealVNC, worked with Wilkes at Olivetti's Cambridge lab in the 1980s. He describes Wilkes as “an intensely practical engineer.”
“He wanted to build things to solve problems and was not interested in building some abstract computing device,” Harter recalls.
Professor Andy Hopper, current head of the Cambridge Computer Lab where Wilkes built EDSAC in the 1940s, echoes this view: “Although he was not the original director of the Lab, he was the man who created an ethos which was based on providing useful services for scientists at the university. We still stick by this today.” Hopper also worked with Wilkes at the Olivetti lab in the 1980s.
While Wilkes' pragmatism helped push the EDSAC project through, it also meant that changes were made to the original design as the project progressed. Herbert and his team of volunteers who are working on the EDSAC reconstruction have been forced into a lot of guesswork.
“When the project was originally proposed Wilkes was against it. He said we should be looking to the future not the past. But he did point to some documentation which was in the Cambridge university library. The problem is that there is a huge amount missing. There are very few circuit diagrams and we have had to do a lot of detective work.”
Turing reckoned that gin had similar properties to mercury when it came to "storing" ultrasonic vibrations - an early solution to the challenge of building a dynamic memory system for a digital computer.
Fortunately there are lots of photographs - many to be found in a recently published book - Cambridge Computing - the first 75 years. The book devotes a whole chapter to EDSAC and the mercury delay line. But Herbert and his team have noticed that a lot of the photographs of EDSAC do not tally with the original design report and it is clear that pragmatic changes were made but not actually documented.
“We are not trying to build it exactly as it was - it is a functional reconstruction, not a replica,” Herbert explains.
One thing Herbert will certainly not be attempting replicate is EDSAC's mercury delay line memory.
Health and safety problems aside, it is just too expensive and impractical. “The mercury alone would cost about £160,000. Plus there are lots of maintenance and operational problems. The mercury tanks have a very narrow band of temperature in which they will work properly. They are also very difficult to make and we don't really have a technical specification,” Herbert says.
Herbert goes on that the reconstruction will use a nickel delay line instead.
“This was a technology used in the Pegasus computer and is a lot more practical and much cheaper. It's pretty much maintenance-free and temperature-stable. But it is still a tricky problem to build it - we don't have any manufacturing details,” Herbert says.
Even in the 1940s, the limitations of mercury delay lines were quickly recognised. The system was costly and just didn’t scale. You wanted more memory? You’d need more tubes containing more mercury, meaning the machine was starting to get big. The tanks had to be precisely engineered to be the exactly same size and the transducers precisely aligned, otherwise the sound waves risked getting lost or bouncing off the wrong surface.
They were also difficult to build and maintain, they required precise temperature control at 40 degrees Celsius and there were, of course, the obvious problems of mercury's toxicity. So they were soon replaced, first with wire delay lines based on nickel, and later with magnetic core memory.
Herbert says there are plans to build a standalone exhibit to show a working mercury delay line - but they are still to be finalised and the priority at the moment is to get the EDSAC reconstruction finished.
It's a pity that they won't have the time or the resources to prove whether Turing's fanciful idea of a gin delay line memory would have actually worked. ®