Maurice Vincent Wilkes
Born June 26, 1913, Dudley, Worcestshire, England, director of the Cambridge Computer Laboratory throughout the whole development of stored program computers starting with EDSAC; inventor of labels, macros, and microprogramming; with David Wheeler and Stanley Gill, the inventor of a programming system based on subroutines.
Education: St. John's College, Cambridge, 1931-1934; PhD, Cambridge University, 1936.
Professional Experience: Cambridge University: university demonstrator, Mathematical Laboratory, 1937, member of staff, Mathematical Laboratory (later the Computer Laboratory), 1937-1939, head, Mathematical Laboratory, 1945-1980, fellow, St. John's College, 1950-present, professor of computer technology, 1965-1980, emeritus professor, 1980-1989; senior consulting engineer, Digital Equipment Corp., Maynard, Mass., 1980-1986; adjunct professor, electrical engineering and computer science, MIT, 1981-1985; Olivetti Research Board: member for research strategy, 1986-1989, adviser on research strategy, 1989-present.
Honors and Awards: fellow, Royal Society, 1956; first president, British Computer Society, 1957-1960; ACM Turing Award, 1967; Harry Goode Memorial Award, AFIPS, 1968; distinguished fellow, British Computer Society, 1973; member, Fellowship of Engineering, London, 1976; foreign associate, US National Academy of Engineering, 1977; foreign corresponding member, Royal Spanish Academy of Sciences, 1979; foreign associate, US National Academy of Sciences, 1980; ACM/IEEE Eckert-Mauchly Award, 1980; IEEE Computer Society Pioneer Award, 1980; McDowell Award, IEEE Computer Society, 1981; Faraday Medal, IEE, London, 1981; Pender Award, University of Pennsylvania, 1982; C&C Prize, Tokyo, 1988; ITALGAS Prize for Research and Innovation, 1991; [This prize is awarded on the recommendation of the Academy of Sciences of Turin, an academy of respectable antiquity (according to Wilkes), having been founded by Lagrange. It was held in high regard by Babbage, who at one time hoped that the academy would endorse his work. This did not happen, but Wilkes was enormously gratified that the academy did for him what it could not do for Babbage. Coincidentally, Wilkes gave a short address before the award ceremony, probably in the same room in which Babbage lectured in 1840.] Kyoto Prize, 1992; Honorary Degrees: Universities of Newcastle, Hull, Kent, London, Amsterdam, Munich, Bath, Linköping, and Cambridge; fellow, ACM, 1994.
Wilkes received a PhD from Cambridge University in 1936 for a thesis on the propagation of very long radio waves in the ionosphere. In 1937 he was appointed to a junior faculty position at Cambridge in connection with the establishment of a computing laboratory.
The university gave formal approval on February 20, 1937, for the creation of a computer laboratory. The laboratory was to be called the "Mathematical Laboratory" and was to be equipped with an eight integrator differential analyzer, the model differential analyzer, the "Mallock Machine"-an electrical analog calculating device built in 1933 to solve linear simultaneous equations-and a variety of desk calculators. John Lennard-Jones, Plummer Professor of Theoretical Chemistry at Cambridge University, was appointed part-time director of the Mathematical Laboratory for a period of five years from October 1, 1937, and Wilkes was appointed as university demonstrator (a post approximately equivalent to assistant professor in the US). Wilkes' initial brief was to supervise the construction of the new differential analyzer and visit Manchester University to gain experience on the differential analyzer there.
He left for war service on the outbreak of war in 1939 and worked in radar and operational research.
When he returned to Cambridge in September 1945, he was appointed head of the laboratory. In May 1946 Leslie Comrie returned from a visit to the US with a copy of von Neumann's First Draft of a Report on the EDVAC. Wilkes was given the opportunity of one night in which to read and digest the document that described the stored program computer concept. Wilkes "recognized this at once as the real thing, and from that time on never had any real doubt as to the way computer development would go."
Following this opportunity to read von Neumann's "First Draft," Wilkes received an invitation to attend a series of lectures on the "Theory and Techniques for Design of Electronic Digital Computers," given at the Moore School of Engineering at the University of Pennsylvania July 8 to August 31, 1946. Wilkes jumped at the chance to go and, although he arrived late owing to postwar shipping shortages, he was in time for the detailed description of the ENIAC and the discussion of the EDVAC principle.
Hartree provided Wilkes with introductions to Howard Aiken at Harvard, Sam Caldwell, who was responsible for the differential analyzer at MIT, and Herman Goldstine, von Neumann's associate. In addition to meeting these people, Wilkes also got to know John Mauchly and J. Presper Eckert, who were the principal instructors on the course, and he discussed the future of computing machines with them.
By the time Wilkes returned to Cambridge in October 1946 he was determined to build a stored-program computer--a project which was well within the province of the Mathematical Laboratory. The laboratory had sufficient funds to get the project started without Wilkes needing to apply to anyone for permission or funding. The next few years were spent in intense activity setting up an electronics laboratory and building the EDSAC, which was operational in June 1949.
Later Wilkes was responsible for the construction of EDSAC 2. EDSAC 2, which came into operation early in 1958, was designed by the team that had successfully built and operated EDSAC 1, and embodied the experience obtained with that machine. EDSAC 2 was the first computer to have a microprogrammed control unit and it established beyond doubt the viability of microprogramming as a basis for computer design-this in spite of the fact that vacuum tubes were far from ideal for the purpose. At the mechanical level of organization, EDSAC 2 was packaged in a bit-sliced manner, with interchangeable plug-in units. This method of packaging was well matched to the vacuum tube technology of the period, and its expected advantages, arising from the replication of units, were fully realized.
Around 1960 it was evidently necessary to consider what should come after EDSAC 2. After much discussion it was decided to enter into a collaboration with Ferranti Ltd. to develop a reduced-scale version of the Atlas machine, a joint effort between Manchester University and Ferranti. The Atlas was a large and very expensive machine, and the plan, born of financial necessity, was to make a more modest but largely compatible computer. The main differences were the lack of virtual memory and the concomitant drum, the omission of the fixed store, and a different approach to the control of magnetic tapes. A joint team from Ferranti and Cambridge designed the new hardware, which was built by Ferranti, and also designed an operating system intended to give high-performance multiprogrammed computing. The Atlas operating system had been built without much computer support, and one of the contributions of the joint group working on the Titan, as the Cambridge machine was called, was the Titan Supervisor Assembly System. This was very early in the field of version control systems, and had a useful feature in that it distinguished two sorts of changes to the source text of a module. These were corrections and improvements, the former being essential to a working system and the latter usually incompatible with the other.
Design work on the supervisor was well under way when first Wilkes and then others became aware of the development at MIT of the Compatible Time-Sharing System (CTSS). It was clear that this was the way of the future, and Wilkes successfully negotiated with ICT (which now incorporated much of Ferranti's civil computer business) for the provision of a disk on which a filing system could be based. The disk was supplied free of charge in the first instance, but was later paid for. One of the main differences between the Cambridge system and the CTSS was what became known as "normal mode." This was a simple way of running programs from a terminal, which depended on the observation that a very common structure was to have initial input from the terminal, and final output to the terminal without interaction in between. It was very usual for visitors not to notice that the service was not actually fully interactive. Naturally some of the main utilities such as editors were fully interactive. The filing system, designed by A.G. Fraser, was very similar to that of the CTSS, though with considerably more flexible arrangements for access control. In particular it was possible to use the identity of a program as a parameter for access control decisions as well as or instead of the identity of the user, a feature which Cambridge people have ever since regarded as strange to omit. The Titan system was also the first to make use of a one-way function to protect its password file, a tactic, due to R.M. Needham, which has since become almost universal.
The Titan had to give a round-the-clock conventional service to the university, and there was accordingly a certain amount of trepidation about the effects, both technical and political, of running the multiple-access system at the same time. In the event the multiple-access system did not adversely affect the conventional service and quickly became regarded as an integral part of it.
In 1965 an effort under the leadership of Charles Lang started up in mechanical CAD. It originally used a DEC PDP-7 computer with a type 340 display (which was the first such system in the country) as an interface to the Titan Multiple-Access System. A high-performance link was therefore built between the PDP-7 and the Titan, so that the interactive graphics user could have the mainframe filing system and other utilities readily at his command as well as the display. The work led to a 15-year effort in CAD, including major advances in solid modeling.
As the 1960s drew to a close there was an obvious question as to what to do next. The university decided to set up the Computing Service as a separate organization still within the laboratory (which was renamed the Computer Laboratory at the same time). The traditions of the Titan were continued in the shape of innovations and enhancements to commercially supplied computer systems. Meanwhile Wilkes and Needham considered all kinds of possible projects. Wilkes recalls in his Memoirs (1985) how they contemplated and rejected what would now be called a multi-microprocessor project as a way of making a mainframe. Eventually they became fascinated by capability-based computers, and in 1970 they set out to design and build one. The Cambridge CAP, as it became known, had a hardware cache for evaluated capabilities and microprogrammed evaluation on cache miss. There was much debate about its instruction set, which was resolved in favor of a very conventional one when it was realized that easy transfer of compilers to CAP was essential. The operating system was almost entirely written in the local dialect of Algol 68. This was found very effective and the development of that system was very smooth by comparison with earlier experiences. It did, however, make it difficult to share the credit for the relatively painless implementation between the type-checking of the language and the memory protection of the hardware. Between the two, bad programs did not often survive very long. Algol 68C was at that time much used in the laboratory, in particular for the solid modeling work mentioned above. The CAP and its system are described in Wilkes and Needham's 1978 book.
In 1974 Wilkes was shown a digital communication ring working at the laboratories of Hasler A.G. in Switzerland, where it was regarded as a contribution to digital telephony. He immediately realized that such ideas had application to computer communication, and on his return put in hand as soon as possible the development of what became known as the Cambridge Ring. As implemented, it differed considerably from Hasler's register insertion ring. The Cambridge Ring was an empty-slot ring, which was believed to be easier to maintain. The data rate was 10 megabits per second. The original application of the ring was peripheral-sharing. They had been struck by the trouble and expense associated with having to have one printer per minicomputer, for example. About that time, however, modern ideas of distributed computing were becoming current, and it was clear that the Ring could serve as a basis for this concept.
This it did, and not only in Cambridge. Several companies began to market Ring equipment, and the Science and Engineering Research Council bought a quantity in support of an initiative in distributed computing. At that period practical experience of distributed computing was more common in British universities than anywhere else, which is directly attributable to the availability of the Ring on a commercial basis. In Cambridge an experiment was undertaken, reported in Needham and Herbert's 1982 book, to produce a distributed computing system based on a processor bank. [Needham, R.M., and AJ. Herbert, The Cambridge Distributed Computing Systems, Addison-Wesley, Reading, 1982.] The idea was that users would have modest workstations, and when they needed more serious computation a processor would be allocated to them from a pool. Because of lack of resources the implementation was a model one, with users having terminals only, and not very powerful machines in the pool. Nevertheless, the model system was practically useful, and has had its effects on subsequent developments, particularly of file servers.
In 1980 Wilkes retired from his professorship and from the laboratory of which he had been head since late 1945. He joined the central engineering staff of the Digital Equipment Corporation in Maynard, Massachusetts. Returning to England in 1986, he became a member for research strategy on the Olivetti Research Board. He is now a consultant to Olivetti. [Extracted from the several articles in Campbell-Kelly 1992.]
In 1993 Wilkes was presented with an honorary doctor of science degree by his alma mater, Cambridge University. In his presentation, the public orator (in Latin) introduced him as follows:
A century and a half ago Charles Babbage, Lucasian Professor of Mathematics, devised his Analytical Engine, which embodied most of the concepts which we now take for granted in the digital computer. But those concepts were far ahead of the available technology. Here stands the man who finally brought to its fullest reality Babbage's dream, by providing the computer with the one vital organ which it still lacked: a capacious memory. He converted a program and its data, punched onto paper tape, into ultrasonic pulses, and he fed the pulses into a tube of memory, which delayed their progress, and he caused the pulses to circulate indefinitely. And so EDSAC was born, the Electronic Delay Storage Automatic Calculator, the first full operational computer with its own memory. As Virgil almost said,
From all sides they flocked to admire it, and stayed to use it. Soon it was performing the vital calculations by which our chemists and radio-astronomers perfected their Nobel Prize-winning work. On those glorious pioneering days he has never ceased to build. With TITAN he took a further giant stride forward, enabling a multitude of users, instead of waiting their turn in a queue with their strip of punched tape, to key in their programs simultaneously from their own desks, at whatever distance. He has given us a computer laboratory which is a source of no small parochial pride and is the admiration and envy of the world outside.
Regarding developing programs: ". . . It would be more logical first to choose a data structure appropriate to the problem, and then to look around for, or construct with a kit of tools provided, a language suitable for manipulating the structure."
Campbell-Kelly, Martin, ed., Special Issue-The University of Cambridge, Ann. Hist. Comp., Vol. 14, No. 4, 1992.
Gill, S., "Maurice Wilkes," in Ralston, Anthony, and Edwin D. Reilly, Jr., Encyclopedia of Computer Science and Engineering, Van Nostrand Reinhold Co., New York, 1983.
Lavington, Simon, Early British Computers, Digital Press, Bedford, Mass., 1980; see Chapter 6: "The Cambridge EDSAC."
Wilkes, M.V., "Early Programming Developments in Cambridge," in Metropolis, N., J. Howlett, and Gian-Carlo Rota, A History of Computing in the Twentieth Century, Academic Press, New York, 1980, pp. 497-501.
Wilkes, Maurice, Memoirs of a Computer Pioneer, MIT Press, Cambridge, Mass., 1985.
Wilkes, Maurice, "The Genesis of Microprogramming," Ann. Hist. Comp., Vol. 8, No. 2, 1986, pp. 115-126.
Wilkes, Maurice V., "EDSAC 2," Ann. Hist. Comp., Vol. 14, No. 4, 1992, pp. 49-56.
Strachey, Christopher, and Maurice V. Wilkes, "Some Proposals for Improving the Efficiency of Algol 60," Comm. ACM, Vol. 4, No. 11, 1961, pp. 488-491.
Wilkes, Maurice V., "The Design of a Practical High-Speed Computing Machine," Proc. Royal Soc., London, Vol. A, No. 195, 1948, pp. 274-279.
Wilkes, Maurice V., and W. Renwick, "An Ultrasonic Memory Unit for the EDSAC," Electronic Engineering, Vol. 20, No. 245, July 1948, pp. 208-213.
Wilkes, Maurice V., and W. Renwick, "The EDSAC, An Electronic Calculating Machine," J Scientific Instruments, Vol. 26, Dec. 1949, pp. 385-391; reprinted in Randell, Brian, Origins of Digital Computers: Selected Papers, Springer-Verlag, Berlin, 1982, pp. 417-422.
Wilkes, Maurice V., DJ. Wheeler, and Stanley Gill, The Preparation of Programs for an Electronic Digital Computer, Addison-Wesley, Cambridge, Mass., 1951.
Wilkes, M.V., Time-Sharing Computer Systems, Macdonald/ Elsevier, London, 1968; 2nd ed., 1972; 3rd ed., 1975.
Wilkes, M.V., and R.M. Needham The Cambridge CAP Computer and Its Operating System, Elsevier, London, 1978.
Wilkes, Maurice V., "Pray, Mr. Babbage .... A Character Study in Dramatic Form," Ann. Hist. Comp., Vol. 13, No. 2,1991, pp. 147-154.
Wilkes was awarded the Mountbatten Medal in 1997. He was knighted in the 2000 New Year Honours List. In 2001, he was inducted as a Fellow of the Computer History Museum. In 2007 Maurice Wilkes was the co-recipient (with David Parnes) of the IEEE Computer Society's 60th Anniversary Award. (MRW, 2012)
Wilkes died on November 29, 2010. (MRW, 2012)
Portrait changed (MRW, 2013).
New content Copyright © 2013-2021 by the IEEE Computer Society and the Institute of Electrical and Electronics Engineers Inc.
All rights reserved. This material may not be reproduced or redistributed without the express written permission of the copyright holder.