This article is more than 1 year old
How Alan Turing wanted to base EDSAC's memory on BOOZE
From liquid memory to solid state - mercury moment was nearly gin dream
'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. ®