Tuesday, November 17, 2015

Dr Gene Amdahl (November 16, 1922 – November 10, 2015)

Computer Pioneer, Mainframe Computer Architect & Entrepreneur

He is remembered for Amdahl’s law that basically states that the intrinsically serial part of any algorithm will limit the benefits from parallel processing. He was one of the architects of the IBM System/360 line of computers that dominated the mainframe industry and are still a force today. He was a champion of high-end uniprocessing.
Read his biography in the New York Times.
   I am grateful to Dr Amdahl for creating a company at which I was able to work as a computer architect for 6 years, 1976-82 and consult at for more. I did not have much to do with him directly – he was way above my level and he left to form a new company in 1979. But some anecdotes are in order.
   Dr Amdahl was revered by his Engineering Staff. He had a great knack of inventing rules of thumb to guide the designers. One was “one megabyte of I/O for every MIP of performance”. Another, I remember vaguely, was that “caches should be square” (as many lines as bits in a line.) These were not necessarily correct rules but it was better to make the decision and get down to design rather than dithering (even better, of course, to measure and model.) He also had sound advice on functional architecture for speed – when you see an instruction’s operation code, you should immediately know the operand address and where the next instruction is located.
   I noticed that Dr Amdahl was allowed to have opinions but he insisted that those with contrary opinions had to have facts. As the technology and markets changed, many of his assumptions had to be challenged. I was with the group that developed the high level characteristics of the 580. I remember us having to justify 2-way multiprocessing as being required because our main market was for capacity rather than solely for speed and one could no longer design uniprocessors that could compete. I remember once having to tell him that his favorite division algorithm as used in the 470V (involving finding the reciprocal using Newton’s formula and multiplication) was actually slower than the expected speed of straightforward non-restoring division. When our arguments were solid he just accepted them and moved-on.  He had to also accept microprogramming and memory chips for registers but I recall he embraced this and came up himself with a clever microcode scheme with two microstores, accessed simultaneously and each microinstruction including an address for the other memory – so each microinstruction could branch with no penalty.
   My closest encounter with Dr Amdahl was when he was trying to get the 580 design started. The 470V used 100-gate ECL chips with 80 I/O pins. Fujitsu was developing the next technology with 400 gates per chip but still with 80 I/O. The Amdahl Corp. engineers were adamant that they couldn’t design a faster computer and reduce the chip count because the I/O count was not adequate (this was because even with 100 gates they could not use them all in some cases and the famous “Rent’s Rule” requiring I/O to rise with chip density.)  Dr Amdahl was dis-satisfied and hatched a plan to jolt the engineers into creativity by engaging with the Architecture group over the design.
   So, Inder Singh (later to found the Ethernet switching company Excelan) and I found ourselves closeted with Dr Amdahl in his office. He presented us with copies of his handwritten logic for the 580 execution unit (a piece is below and I have put the whole thing on the web as it must be the last time when a major computer’s logic was specified in handwriting.) Our meeting was on a Friday and he left us with the task of coming up with a design by the following Monday!
   My wife and I were going to Carmel for that weekend but I decided that would make no difference to my chances of arriving at a design by Monday so we went anyway. The Monday meeting was delayed until Thursday (phew!) and by then Inder and I had come up with some evidence that the execution unit could be “bit sliced” with multiple levels of logic within the chip (this was not at all original as there were microprocessors taking the same approach.) Basically we said “yes sir, you are right, it can be done. He then took a team of engineers with him on a sales trip to Scandinavia where they had to stay in the hotels and work on the new design – as a result the 580 was code-named Oslo. I think that part of the problem was that Engineers preferred circuit diagrams to logic equations but Dr Amdahl was a logic whizz.
It is hard to gauge the impact of Dr Amdahl and his engineering team on the process of designing fast computers but, if it could be known, I am sure that it would be profound. The Amdahl approach of making the processor pipeline central to the design, demonstrating that pipeline interlocks could be controlled without loss of performance (itself derived form earlier IBM projects), and that fast computers could be microprogrammed,  gradually became known throughout the “valley” as design engineers moved on to new jobs.

Amdahl, the man and his company, were quite a phenomenon!
[Post written by Bob Doran]