Monday, April 30, 2012

What are Computers For?

What are computers for?

Such a big question calls for a very long answer. Hence the delay (about a month) in posting this answer, which cuts out most of my original draft. Hopefully it gets to the point.

At the EGI Community Forum, many – if not most – people were familiar with a nowadays novel application of computers: computing things. More specifically, computing things for science and engineering. So it made sense that the final plenary of the week should be given by Horst Zuse, son of the Father of the Modern computer, Konrad Zuse. He talked about the development of the computer from a unique perspective; one that reminds us that the origins of the computer are not solely placed in sunny California.
The Zuse Z3 Control Unit

Konrad Zuse is not a widely-known name, and possibly this is true for much of the world outside Germany. The unfortunate circumstances of the Second World War tended to muffle the echoes of German innovation during that time, and Zuse’s contribution to computing is no exception. In the UK, the accolade ‘Parent of the Computer’ (I’m being non-gender specific; bear with me) most often goes to Alan Turing, an incredibly gifted mathematician specialising in theories of computability and computation. If it goes to an engineer in the traditional sense, it goes to the Victorian era’s Charles Babbage, who built a machine that could be programmed to perform calculations mechanically (though latterly some credit has duly been given to Ada Lovelace, genius mathematician and Lord Byron’s daughter, for aiding Babbage in his work). Those emphasising the importance of electrical engineering would cite American Claude E Shannon, whose Master’s thesis described how to build what Turing had in his head: electrical equivalents of logic gates that together could perform any mathematical operation, given enough time. They might also recall William Shockley, another American, for inventing the transistor that made Shannon’s electrical logic gates possible. Back in England, they could look to Tommy Flowers, the (London) East End electrical engineer who built Colossus alongside Turing at Bletchley Park. Despite all these giants of history, however, it was Konrad Zuse – a civil engineer – who was the first person to build an electrically-driven program-operated floating point digital computer that counted in binary. This makes his claim of parenthood of the modern computer extremely strong.

As 1990s UK indie-dance band Jesus Jones sang, “Zeros and Ones will take you there.” But when Konrad Zuse started on his quest to build a digital computer, no-one had figured out that binary would be an efficient and error-minimising means of holding numbers. Engineers had a hard job maintaining early prototype computers, such as the Harvard Mark I, as they were constantly having to replace unwieldy digit holders, each having with a different state for each of the 10 decimal digits. If a connection in one of these numerical states was faulty, it meant the whole digit placeholder failed to work. It’s not clear whether this would cause a program to fail or just deliver an incorrect answer (if anyone knows, please feel free to comment).  This meant that decimal computers were not only unreliable, but also unwieldy. Large. Very, very big indeed. Holding a big number in binary, however, is easier than in decimal, and performing computations with it is simpler. More importantly, the physical space needed is reduced, and the computer becomes more reliable.

Zuse was an engineer but foremost he was a Creative; an Artist. The fact is, he built his early computers with the same earnestness as he produced his fine paintings and drawings, and most importantly his woodcut prints, where the mechanical process of printing is integral to the artwork. The controller for the Z3 is a beautifully-designed object, but behind the scenes the computer is pragmatism itself: mechanical relays – slower than valves in the pre-transistor era in which it arose – are nevertheless assuredly more reliable, each operation heralded by a clatter of metal on metal as the contact is made. One can’t help thinking that the mechanical act of printing, with wood pressed onto paper, had some influence on his design choice.

The 'CPU', with Control Unit at right
The Z3 was an electromechanical device, but it was a digital computer and it was Turing-complete. Given enough time, it was capable of carrying out any computation that is theoretically computable. That was a milestone by any measure; Turing’s own Colossus would take three more years to reach this marker. But it also operated in binary floating point, something later machines missed out on (and something even some electronic home computers failed to achieve in high-level interpreters decades later, the most notable being the Apple II BASIC, which was fixed point). Being able to perform calculations in floating point would have been crucial for an engineer, and – as we were told by Professor Horst Zuse – it was the laboriousness of performing repeated calculations that inspired his father to build computers. By freeing up valuable brain-time, engineers could concentrate on solving problems rather than performing calculations. It is testament to the usefulness of computers in accurately performing the intense, repetitive work of engineering problems that such problems feature heavily in grid and supercomputer workloads, alongside particle physics and molecular dynamics simulations. And so computers, for Konrad Zuse, allowed people to be creative.

This is a million miles from Douglas Engelbart’s ‘augmented human intellect’, however, let alone Steve Jobs/Alan Kay's’ ‘bicycle for the mind’. The graphical user interface did not feature in Konrad’s Zuse’s vision for the computer. As the story goes, when he met the man responsible for popularising the graphical user interface for the masses, Bill Gates, he kindly presented him with his own portrait, which Zuse had painted himself. But a photograph of that time showed him as being almost antipathetic towards a GUI-based personal computer running – or perhaps crashing – on Windows. Zuse’s artwork remained quite apart from the digital realm, perhaps closer to an idea of human-made craft from a bygone world that was disappearing around him.

Horst Zuse spoke of his father’s work with justified pride. I had a chance to talk to him afterwards about some of the science being presented in the booths that lined the conference atrium. He thought the work itself was impressive; that grid, and cloud, were both ideas worth exploring for scientific computation. But the pride with which he talked about his replica Z3, which he built himself in 1998; and the admiration he clearly had for the Barcelona Supercomputing Centre’s MareNostrum (a supercomputer in a church), made me realise that in the single machine, as a self-standing device, there is a level of artistry – that there will always be a place for these computational leviathans, the HPCs of whatever time period they represent. So, to the Antikythera Mechanism, to the Difference Engine, to Colossus, to the Z3, to MareNostrum, and to all the other supercomputers that take the grunt-work out of science in whatever age, we salute you!


Stefan Janusz said...

In the short time I got to speak to Horst Zuse, I was interested to hear his enthusiasm for quantum computers, which I didn't have space to write about above. Though I'm adding this after the fact, Jeff Forshaw wrote an interesting piece about quantum computers in The Observer, a Sunday newspaper in the UK here

Stefan Janusz said...

...I also amended the attribution of the 'bicycle for the mind' quote from Steve Jobs to Steve Jobs/Alan Kay. Alan Kay said it first, but Steve Jobs popularised it (years later).