Thursday, 6 March 2014

Memories of the Ferranti Atlas computer 1956-1962 at Manchester University. Vic Forrington. Mercury Autocode, Atlas Autocode. Gert and Daisy. Edsac. Runge-Kutta. IBM. Royal Aircraft Establishment, Farnborough. Cambridge and Edinburgh Universities. Imperial College, London.

The first Atlas, installed at Manchester University and officially commissioned in 1962, was one of the world's first supercomputers, considered to be the most powerful computer in the world at that time. 

The high-performance Atlas computer was developed in the period 1956 – 1962 by a team led by Professor Tom Kilburn at the University of Manchester.  The local company Ferranti Ltd. joined the project in 1959.  The first production Atlas was inaugurated at Manchester University on 7th December 1962 by Sir John Cockcroft, the Nobel prize-winning physicist who was Director of the UK’s Atomic Energy Authority.  At the time of its inauguration, Atlas was reckoned to be the world’s most powerful computer.  A total of six Atlas 1 and Atlas 2 computers were delivered between 1962 and 1966.

Following the 50th Anniversary celebrations in December 2012, it was decided to collect reminiscences and historical anecdotes from the surviving designers and users of Atlas computers. This new collection supplements existing information available on websites such as Chilton Computing and Computer Heritage and the personal accounts from pioneers that have appeared from time to time in the Computer Conservation Society's quarterly bulletin Resurrection.

Vic Forrington  joined Tony Brooker's group at Manchester University in 1961, after two years' work at RAE Farnborough using Mercury Autocode. He provided user support on Mercury and Atlas, undertook research in numerical analysis and helped Tony with the specification of Atlas Autocode. Vic was involved with various other Atlas programming activities and his reflections on his pre- and post-Manchester periods make fascinating reading. 

Vic was a friend of my late husband Bob at Cambridge and I am happy to host one of the pioneers of computer development for readers of my blog.

Mercury Autocode, Atlas Autocode and some Associated Matters
by Vic Forrington
January 2014

My first experience of the Manchester contributions to computing development was at the Royal Aircraft Establishment, Farnborough in 1959, where a Ferranti Mercury had just been installed. I had joined Mathematical Services Department from the Mathematical Laboratory at Cambridge where I had completed the Diploma in Numerical Analysis and Automatic Computing under Maurice Wilkes and the Edsac team. Incidentally Geoff Toothill, one of the original Manchester Baby team was at RAE at the time and I did a little bit of work with him on the concept of ternary arithmetic rather than binary, using the magnetic states of north, south and not magnetised.

Digital computing at RAE (yes, there were such things as analogue computers, they were very good at integration but not too good at arithmetic; indeed to seek the best of both worlds I worked for a time on the development of a digital differential analyser designed to simulate an analogue computer within a digital environment), was based on two English Electric DEUCE machines called Gert and Daisy, with memories based on drum storage. To get reasonable performance from a program one needed to know the position of the drum relative to the read/write heads so that an operand was passing just at the right time without the instruction having to wait another drum rotation. Thus programming was restricted to particularly masochistic individuals who numbered about twenty out of a scientific and engineering establishment of some 6000 souls. 

Mercury, like Edsac 2, had a random access store and unlike Edsac had a drum backing store. It came with an assembler language, elegantly named Pig 2, with functionality similar to what I was used to with Edsac. It was assumed that Mercury and Pig 2 would deliver the Great Leap Forward in computing at RAE.Accordingly I was sent on a-long Pig 2 course at Ferranti in Central London, meagre expenses paid, and instructed to initiate the computing revolution. 

Mercury also came with a piece of software called Mercury Autocode (MA). At Cambridge high level languages, or autocodes as they were then called, were somewhat disparagingly described as playthings for amateurs with no real place in a professional world. I decided to play, and as a result soon abandoned Pig 2 as the basis for RAE computing and introduced MA as the standard throughout the establishment. Within a year there were some 250 active users of the Mercury and MA from all disciplines and departments. The age of the masochists was over! 

I myself used MA for my 'real work', the numerical solution of large scale systems of ordinary differential equations involved in rocket guidance systems and never had to resort to a lower level language on either functional or efficiency grounds. It is my view that Tony Brooker and MA represented a paradigm shift in scientific and engineering computing. End users now had the power to chart their own destinies without the need for the intermediate programmers. 

In 1961 I was appointed as a Research Assistant in the Computing Machine Laboratory, then part of Electrical Engineering Department of Manchester University, where Tom Kilburn and his team were developing Atlas and Tony Brooker and his team were continuing their work on the Compiler Compiler. Tom had read mathematics at Cambridge before his war time work with FC Williams on radar who he subsequently joined at Manchester to design and built the world's first stored program electronic computer (the Baby). Tony had read mathematics at Imperial College, London and gone on to develop a relay-based arithmetic unit before moving to develop software at the Mathematical Laboratory at Cambridge where Maurice Wilkes had designed and built the world's second stored program electronic computer (the EDSAC). He then moved on to Manchester taking over from Alan Turing the development of programming methodologies and going on to his world-leading development of a high-level language, the Mark 1 Autocode which subsequently evolved into Mercury Autocode.. To be appointed to be part of a team, albeit a lowly part, led by these two giants of computing history was indeed a great privilege. However I was soon to be brought down to earth by Tony's opening remark when I first arrived: 'Welcome to the dustbin for failed mathematicians'! 

Subsequently with both my Cambridge and Manchester backgrounds I was to learn that there was no love lost between the Mathematical Laboratory's 'let's get the theory right' approach and the Computing Machine Laboratory's 'let's get on and build something' approach. 

I had been interviewed by Tony Brooker, who seemed somewhat surprised when I subsequently turned up. Nominally I reported to Tony although in those days there seemed no such thing as organisation structure or specific responsibilities; people got on with what they thought needed doing. In particular I helped out with the [University’s] Mercury computing service, assisting users with the use of MA and often with the mathematical basis of tackling their problems, or numerical analysis as it was known. Many of the methods had been re-invented on the advent of computers without reference or even knowledge that Isaac Newton had originated them some 250 years earlier. However Newton could not summon 100 men for 100 years to undertake the rather tedious arithmetic which became easy meat for the 1960's electronic computer so the methods had soon been forgotten. 

Users of all academic rank would stand in a queue awaiting their turn [for Mercury], to insert their paper tape into the reader and take their output tape to the printer, find that they had a syntax error, repair their input tape and rejoin the queue. Once when I was supervising the queue Professor FC Williams, co-inventor with Tom Kilburn of the stored program computer but small in physical stature, was involved in a minor altercation about queue conduct. He approached me afterwards and suggested that a large photograph of himself be affixed to the computer, pointing out his status in the computer world. He was a man of great humour as well as inventiveness who had ceased to be involved in computer design and going on to make fundamental developments in other areas of electrical engineering. Reputedly he claimed that the advent of the transistor had made computing move from invention to merely a branch of technology. I think that he may well have been right as far as basic hardware was concerned but that the Atlas Supervisor and the Compiler Compiler went on to demonstrate that fundamental software inventions would still take place. 

I got involved with Atlas Autocode, working with Tony Brooker on the functional design of the language within Tony's very clear idea of the overall structure. He was keen, almost too keen to incorporate any functionality I suggested might be useful, for example the extension of array definitions from conventional vectors and matrices to multi-dimensional and sparse array definitions such as symmetric and tridiagonal matrices that were commonplace in linear algebra and partial differential equation computations. As well as functionality we looked at efficiency issues. For example in earlier work with Mercury Autocode I had reduced the running time of one program from eight hours to two hours merely by replacing divisions by four by multiplications by point two five (multiplication being hardware based and divisions by a software routine). So the AA compiler identified division by constants and replaced them with multiplications. However my main responsibility was to maintain a running document of the evolving functionality which served as both the specification of the language and eventually the first programming manual. 

Tony went off to IBM in the USA for a mini sabbatical where as he told me later, nobody seemed interested in what he was doing, only in taking him away from his rival Manchester developments. So as usual he did his own thing, including the implementation of a multi-length arithmetic system. (He had after all pioneered software-based floating point arithmetic well before the Manchester implementation of hardware floating point.) 

Even before AA became a working reality I was conducting programming courses to potential users, including a dozen or so heads of department and professors at Edinburgh University which had signed up to use the Atlas Computing Service when it became live. 

One of the few times I had to resort to low-level coding, as opposed to autocodes, was to incorporate a standard routine (Runge-Kutta) for solving ordinary differential equations into the Atlas fixed store, which already had so many demands on it that it was more like getting a gallon into a pint pot rather than the traditional quart. I sidled up to Dave Howarth, the software guru of the fixed store who asked me how much space I would require. I told him 50 – 100 words; he sighed and said he could perhaps find 20 for me, to which I eventually agreed. He came back with 20 non -contiguous absolute addresses. He said I could have them until Monday, otherwise he would have to give them to someone else. It ate badly into my cricket and drinking weekend and caused me to get down to some shocking machine level coding but of course it had to be done. Not as an order but as an expectation based on pride rather than duty, as was much of the Atlas development work. Looking back on it however I suspect that my routine was never incorporated, nor should it have been as the efficiency gains would have been trivial as the great bulk of the processing would always have to be done by specific user-written code outside of the fixed store. 

I rarely had need to venture into the computer room while Atlas was being built by the joint University and Ferranti team under the ever-watchful eye of Tom Kilburn puffing on his pipe while sitting silently in his arm chair. An inspiring but somewhat fearful sight. I was however asked to help out by providing a program that would demonstrate the brute arithmetic power of the Atlas for the scheduled Grand Opening [in December 1962]. As AA was not yet available I wrote a simple Assembler program to solve Laplace's equation in a square, which is an iterative process, the number of iterations necessary being determined by the fineness of the mesh. By default this rather trivial demonstration became a major part of the presentation, the reason being that the Atlas arithmetic unit at that stage of its commissioning had a mean free error time of only a few seconds, causing many more complex programs than mine to crash. However, because mine was an iterative process and only the arithmetic would fail rather than the logic, it meant that the program would eventually finish successfully. Hopefully nobody noticed that the number of iterations required for completion was highly variable!

One of my roles had evolved into writing programs which would demonstrate the sheer computing power of Atlas, and in some cases identify hardware and system software faults. In particular Frank Sumner made use of the variable number of iterations in my Laplace program to track down and rectify a problem with B-register operation under certain circumstances. As well as research and demonstration programs I continued to be involved in user problems, one particular one emanating from 'downstairs' in Electrical Engineering concerning the transient performance of polyphase induction motors. With the standard numerical method for solving the equations Atlas required a run time 50 minutes per case, illustrating that even with arguably the world's fastest arithmetic unit there were problems likely to be beyond its capacity, and warranting further development not just of computing power but of mathematical methods of solution. In this case a reformulation of the problem reduced the run time to under five minutes and the development of an entirely new method of numerical solution reduced it to fifteen seconds.

Perhaps indicative of how the joint team operated was when at the end of the Grand Opening, Tom Kilburn, followed by Peter Hall, the Ferranti head of the project, led us all into the College Arms, not a particularly familiar territory to Tom but very well known to many of his team. However in his best Yorkshire diction Tom ordered 50 pints of best bitter and, turning to Peter said firmly 'and he's paying for it!' And as transpired as the evening wore on, he paid for many more. Years later, as the College Arms was demolished along with most of the Manchester we knew, it was pleasing to learn that stone engraving designating the pub was now incorporated into one of the walls of the brand new computer room [in the Kilburn Building].

By the time I left the department in 1964, Atlas and AA were fully operational and Mercury had been decommissioned. I had entered the more lucrative but not quite as exciting world of international management consultancy, although returning later on for a three year stint as a Visiting Lecturer when Tom had set up a full blown Department of Computer Science and introduced the first ever undergraduate degree course in computing. True to his background he insisted that this first course had a high engineering content, in addition to the more usual mathematical and software topics to be seen in the Computer Science courses that were to follow at many other universities.

The last time I saw Tom was in 1998 at the 50th anniversary of the Baby, where of course he was the star of the show. He told me, without any false modesty that he could not understand why such a fuss was being made of this first ever stored program computer, which he said had only taken up six months of his time. He was much more proud of having set up the first computing department and the first degree course. That, however, will probably not be what he will be remembered for by computer historians.

Like other people at the time I felt that Tony had made a mistake in not including Algol as a subset within AA, irrespective of the sub-set's potential inefficiencies. Perhaps he thought this would have presented technical difficulties but more likely that it would have been inelegant by his exacting standards. However when it eventually went live on Atlas, AA quickly became the de facto standard programming language at Manchester and those other bodies using the university computing service. I subsequently introduced it to clients of the consultancy company I had joined, based on the London University Atlas and also developed a high level language for inventory control applications that was implemented entirely in AA.

With the exception of Edinburgh University, where it flourished (as Edinburgh IMP) for many years, I believe that Atlas Autocode did not prosper outside the Atlas environment for two main reasons: a desire by Ferranti to retain Mercury Autocode and develop Extended Mercury Autocode for upwards compatibility within its product line, and a prejudice against Manchester University developments by a new breed of computer science academics who saw a universality in Algol which was never realised. However the Atlas Supervisor and the Compiler Compiler became the basis for major systems developments throughout the computing world.

[My thanks to Simon Lavington for inviting me to make this contribution and for his encouragement throughout the process, not least in putting some of my recollections in more accurate historical perspective]

Vic Forrington (left) and Jeff Rohl (right) 
at a graduation ceremony in 1963, 
moments after receiving their doctorates.
  • The Atlas Story.
    Author: Simon Lavington
    Abstract: Originally produced for the Atlas Symposium held on 5th December 2012 in the School of Computer Science, Kilburn Building, University of Manchester, this illustrated booklet gives the history of the Atlas project from its inception and implementation to the switching-off of the last working Atlas.
  • NRDC and the case for a British supercomputer, 1956 to 1960.
    Author: Simon Lavington
    Abstract: This paper describes the political, technological and marketing background leading to the decision to develop the Atlas computer by Manchester University and Ferranti Ltd.
  • Timeline of the MUSE/Atlas project at Manchester University, 1955-1971.
    Author: Simon Lavington
    Abstract: The paper lists the steps in the evolution of the Manchester Atlas project from the prototype Mercury computer (Meg) in 1954, through the decision by Manchester University to build a fast computer in 1957, the involvement of Ferranti in 1958 and the official inauguration in 1962, to the final switch-off in 1971.
  • The Compiler Compiler - Reflections of a User 50 Years On.
    Author: George Coulouris
    Abstract: Describes the author's use of the Brooker-Morris Compiler Compiler in the development of the CPL1 compiler for the London University Atlas. author
  • Memories of Atlas Fortran.
    Author: Ian Pyle
    Abstract: The Atlas Fortran compiler and its associated programming system were intended to ease the transition in 1964 of Harwells computing work from the then current computers to the new Atlas. To do this, we had to have the compiler available when the Atlas arrived. So we made a cross-compiler on the IBM 7090, which produced cards that could be loaded onto the Atlas, needing only the loader on the Atlas itself. By writing the compiler in Fortran, it could translate itself. I think this was the first Fortran compiler written for an non-IBM computer, and the first use of this bootstrapping technique for a compiler.
  • My involvement with Atlas: reminiscences of events.
    Author: Brian Hardisty
    Abstract: Describes the authors involvement with the Atlas Supervisor and Atlas customer support, and the influence of this time on his working life.
  • Atlas 2 at Cambridge Mathematical Laboratory.
    Author: Barry Landy
    Abstract: This paper plots the development of the TITAN/Atlas 2 at Cambridge, and the work done to turn it into a multi-user, time-shared system. It also briefly mentions the other two production Atlas 2s, at Aldermaston and the CADCentre in Cambridge.
  • Days and nights with the Manchester Atlas.
    Author: Ann Moffatt
    Abstract: In 1962, Ann Moffatt was an applications programmer with Kodak, and was one of the staff from early Atlas users who were corralled by Ferranti to help debug the Supervisor. The paper describes her experiences working on Atlas at Manchester during the commissioning of the machine.
  • Recollections of the Computer Laboratory at Manchester 1955 to 1964.
    Author: David Aspinall
    Abstract: The paper describes the authors work as a post-graduate student at Manchester, which led to him being invited to join the Atlas design team. It covers his involvement with the development of the arithmetic unit and magnetic tape control, and the commissioning of MUSE, the Manchester University Atlas.
  • Anecdotes of an Atlas maintenance engineer
    Author: John Crowther
    Abstract: John Crowther joined Ferranti in 1962 from Manchester University and became a maintenance engineer, working on the London University Atlas. His reminiscences beautifully illustrate the problems (and the pleasure) of working on a supercomputer in the 1960s.
  • The footloose Australian - Peter Jones' Atlas experience
    Author: Peter D. Jones
    Abstract: Peter Jones worked for Ferranti on Atlas from 1961 to the end of 1963. During this time, as well as working on the Supervisor, he represented the company at conferences and sales presentations throughout the world and was christened 'the footloose Australian' by Tom Kilburn.
  • The London University Atlas
    Author: Dik Leatherdale
    Abstract: This is the edited transcript of a talk given at the Atlas 50th Anniversary Symposium on 5th December 2012. It traces the history of the London University Atlas from purchase to eventual closure.
  • The story of Atlas, a computer
    Author: Iain Stinton.
    Abstract: This 75-page book, originally published in 1973, has recently been transcribed by Dik Leatherdale and Bob Hopgood. The book outlines the history of the London University ATLAS and gives an informal description of the way in which the machine operated.
  • Audio interview 1: Atlas Supervisor (Howarth/Wyld)
    Abstract: Transcript of a 40-minute audio interview with D J Howarth and M T Wyld, conducted in Manchester by Simon Lavington on 6th December 2012. David Howarth and Mike Wyld were intimately involved in the design and implementation of the Atlas Supervisor (the Operating System).
  • Audio- interview 2: Atlas hardware (Edwards/Chen)
    Abstract: Transcript of a 58-minute audio interview with D B G Edwards and E C Y Chen, conducted in Manchester by Simon Lavington on 6th December 2012. Dai Edwards and Yao Chen were intimately involved in the design and implementation of Atlas hardware.
  • Engineering credibility
    Author: Dik Leatherdale
    Abstract: Was it a hardware error or a software bug? This is the story of a tricky fault on the London Atlas. Much detective work was required before a particular program could be induced to work again. This time, it was the hardware that was to blame.
  • Yao Chen rides to the rescue
    Author: Dik Leatherdale
    Abstract: Yao Chen became Ferranti's chief fixer of Atlas hardware faults. This paper describes an incident at the London University site in the early 1970s that nicely illustrates Yao's skills.
  • Chilton Atlas hardware at the National Museums Scotland
    Author: Simon Lavington
    Abstract: Most of the hardware from the Chilton Atlas was donated to the Royal Scottish Museum in 1973, where it remains in storage. This illustrated report, written for the National Museums Scotland, includes a technical description of the artefacts and their relation to the original Atlas installation at Chilton.
  • Designing and building Atlas
    Author: Dai Edwards
    Abstract: This article, which first appeared in Resurrection, is written by the person who led the hardware design team. It deals with the technical challenges that were overcome in producing an advanced computer.
  • Mercury Autocode, Atlas Autocode and some associated matters
    Author: Vic Forrington
    Abstract:Vic joined Tony Brooker's group at Manchester University in 1961, after two years' work at RAE Farnborough using Mercury Autocode. He provided user support on Mercury and Atlas, undertook research in numerical analysis and helped Tony with the specification of Atlas Autocode. Vic was involved with various other Atlas programming activities and his reflections on his pre- and post- Manchester periods make fascinating reading.
  • Tony Brooker and the Atlas Compiler Compiler
    Author: Simon Lavington and many others.
    Abstract: Tony Brooker, the originator of the Compiler Compiler (CC), led the group that wrote compilers for the Manchester Atlas. This article uses the memories of team members to describe the origins of the CC and its use at several of the Atlas sites. A special section, written by Tony, reflects on the CC's techniques and the relationship with other compiler generators.
    A short documentary film was produced by Google in 2012. This features extracts from a 1962 Ferranti film and interviews with some of the people involved with the Atlas project.
Some pictures of Atlas are in the gallery.

An Atlas emulator and an Atlas simulator are available.