Milestone-Proposal talk:The Atlas computer and the Invention of Virtual Memory

From IEEE Milestones Wiki
Revision as of 22:28, 22 March 2021 by Bberg (talk | contribs) (Response to Amy Bix and Juan Carlos)

Advocates and reviewers will post their comments below. In addition, any IEEE member can sign in with their ETHW login (different from IEEE Single Sign On) and comment on the milestone proposal's accuracy or completeness as a form of public review.

7th February 2021 update -- Rmuttram (talk) 16:22, 7 February 2021 (UTC)

Proposal revised following discussions between proposal team and the Advocate to include a strong justification for the inclusion of Tom Kilburn's name on the Milestone Plaque and additional references.

Citation updated -- Rmuttram (talk) 10:56, 10 February 2021 (UTC)

Following discussion with the Advocate and amongst the team the citation has been updated to include University 'of Manchester' to facilitate future search effectiveness.

Minor restructuring -- Rmuttram (talk) 11:29, 13 February 2021 (UTC)

Tom Kilburn's IEEE awards moved up to the name justification section. Other minor edits.

Structural amendments for clarity -- Rmuttram (talk) 16:20, 17 February 2021 (UTC)

Photographs and diagram now embedded in text, Quotations indented and italicised. A few minor textual amendments.

Minor edits -- Rmuttram (talk) 12:20, 24 February 2021 (UTC)

Small changes and additions as a result of dialogue with the Advocate and Experts.

Minor edits -- Rmuttram (talk) 14:10, 28 February 2021 (UTC)

One additional reference added. Text re multics updated. Other minor textual amendments.

Assessment by First Reviewer (Prof. Martin Campbell-Kelly) -- Bberg (talk) 07:57, 8 March 2021 (UTC)

As Advocate for the Atlas/Virtual Memory Milestone proposal, I solicited an expert review by Martin Campbell-Kelly, who is an Emeritus Professor at the University of Warwick, who has specialised in the history of computing, and who has also served on the editorial board of the IEEE Annals of the History of Computing journal.

A PDF of Prof. Campbell-Kelly's 22 February 2021 review of the proposal is at

Atlas-VM_Milestone-ExpertReview(Martin_Campbell-Kelly).pdf

The following is the text from this PDF:

Milestone-Proposal:The Atlas Computer and the Invention of Virtual Memory

I have read the submission from Professor Muttram and others. I find the written arguments to be fair and truthful. However, the evidence presented does not establish the claim for the “invention” of virtual memory. Virtual memory is a foundation technology for which there is no single inventor. The fact that other developers knew and cited the Atlas does not establish that they would not have arrived at the same end without the precedent of Atlas.

Hence, the title of the proposed milestone
     “The Atlas Computer and the Invention of Virtual Memory 1957-1962”
is too strong a claim. I would advise something like:
     “The Atlas Computer and the First Demonstration of Virtual Memory 1957-1962”
or
     “The Atlas Computer and the One Level Store, the First Demonstration of Virtual Memory 1957-1962”

Two examples reinforce this argument.

Example 1

According to Knuth and Trabb Pardo’s “Early Development of Programming Languages” (1976), Alec Glennie developed the first programming language for a stored program computer at Manchester University in 1952. It would therefore be fair to claim that “Glennie developed the first programming language 1952”, but it would be an over-claim to say that “Glennie invented programming languages 1952”.

Example 2

There are in the UK three plaques celebrating John Logie Baird who invented an early form of television, in fact called the televisor. None of the plaques claim that he “invented” television. Here are the inscriptions:

     John Logie Baird 1888-1946 Television pioneer lived here
     In 1926 in this house John Logie Baird 1888-1946 First Demonstrated Television
     John Logie Baird 1888-1946 Inventor of the Worlds First Working Television System

I conclude by stating that the proposers have made a compelling case for this milestone. I am only suggesting a modification of the wording.

The inclusion of Tom Kilburn FRS after the citation is fully justified. He ranks alongside Alan Turing FRS and Maurice Wilkes FRS. These were the only three computer pioneers in their generation to be elected to the Royal Society.

Re: Assessment by First Reviewer (Prof. Martin Campbell-Kelly) -- Bberg (talk) 08:30, 8 March 2021 (UTC)

I conferred with the 4 authors of this Milestone proposal regarding Prof. Martin Campbell-Kelly's lack of support for the use of the word "invention" for "Virtual Memory" in the proposed title and citation of this Milestone. They made a few minor changes to the proposal, and also added a reference.

As instructed by Section 5.1.8.1. of the IEEE History Committee Information, as Advocate I "request[ed] that the proposer write a formal response on the ETHW to address these questions and concerns." In their stead, I am posting their formal response of 2 March 2021 here by way of a PDF of their response:

Atlas-VM-Milestone-ProposersResponseToCampbell-Kelly.pdf

The following is the text from this PDF:

Proposers' response to a portion of Professor Campbell-Kelly's expert review.

We appreciate the efforts made by both experts in carefully reviewing our application for this milestone award and we welcome their views, which have helped us to refine our proposal. We appreciate Professor Campbell-Kelly’s conclusion that there is a compelling case for the milestone and his statement that the inclusion of Tom Kilburn’s name is justified but we take issue with his assertion that virtual memory does not merit the description “invention”. Accordingly we take this opportunity to establish that virtual memory was indeed invented by the Manchester team for the Atlas computer. We strongly believe that the achievements of inventors should be fully acknowledged in the historical record and we ask that the wording of the citation fully recognises this.

Professor Campbell-Kelly writes that “The fact that other developers knew and cited the Atlas does not establish that they would not have arrived at the same end without the precedent of Atlas.” It is a well-established principle of academic writing that the original source of an idea should be cited wherever possible. Taken on its own the fact that Atlas was cited by other authors at the time indicates that there was no prior published work, that the concept was not commonly understood prior to the invention, and that the authors attributed their understanding of the concept to the publications of the Atlas team. In our proposal we discuss the fact that the designers of four commercial computers specifically credit their virtual memory designs to the Atlas (IBM, DEC, CDC and ICL) as well as its use in the Multics operating system in 1965. Professor Campbell-Kelly provides no evidence that there was prior knowledge or understanding of virtual memory before its publication nor any evidence that others would readily have arrived at the same conclusion.

The proposal for the Milestone discusses the patents that were awarded for the Atlas computer at some length and on that basis we assert that we have indeed established that virtual memory was invented by the Atlas team. Three of the patents that were awarded describe the essential components of the memory integration system invented by Kilburn that later became known (c. 1965) as virtual memory. The UK Patent Office guidelines state:

To be granted a patent, your invention must be all of the following:
• something that can be made or used
• new
• inventive - not just a simple modification to something that already exists

Thus it is clear that patents are awarded for inventions, a commonly understood principle of patents. If Professor Campbell-Kelly’s assertion that “virtual memory is a foundation technology for which there is no single inventor.” were correct then a patent would not have been awarded as the application would have failed on bullet points 2 and 3.

The direct relationship between patentability and invention is widely understood, for example the European Patent Office description of requirements for patentability is:

There are four basic requirements for patentability:
Art. 52(1)
(i) there must be an "invention", belonging to any field of technology (see G II);
(ii) the invention must be "susceptible of industrial application" (see G III);
(iii) the invention must be "new" (see G IV to VI); and
(iv) the invention must involve an "inventive step" (see G VII).

All four of the EPO requirements for patentability are founded upon invention. Whilst the EPO was not involved in the granting of patents for virtual memory, this example is provided to demonstrate broader acceptance of the fundamental relationship between patents and invention.

We therefore believe that the award of patents in itself defines the patented concept to be an invention.

As described in the proposal the NRDC took legal action against ICL for breach of patents regarding ICL’s use of virtual memory in the ICL2900 series computers. ICL contested the case on the grounds that the specific implementation that they had used was not identical to the specific implementation described in the patent. The University’s defence (via NRDC) was that the patent described the general principle and that the detailed description presented in the patent was just an example. ICL conceded this point and paid the University a substantial licence fee (£80k) for their use of virtual memory. If the patents could have been undermined by identifying prior art then ICL would have done so. The resolution of the case in favour of the inventors shows that the patents were sound.

We believe that the patents and their successful defence sufficiently disprove the assertion that virtual memory was not an invention but for completeness we also consider the following:
1. “The fact that other developers knew and cited the Atlas does not establish that they would not have arrived at the same end without the precedent of Atlas”
If this approach were taken then any invention could be deemed unworthy of the description “invention” by the same argument and nothing could be said to have been invented. The onus is upon the author to demonstrate via prior art that the invention was obvious and Professor Campbell-Kelly has not done so.

2. Professor Campbell-Kelly asserts that virtual memory cannot be said to have been “invented” by the Manchester team, rather it should be described as a “demonstration”. Various dictionary definitions of “invention” are given below:
a) "Create or design (something that has not existed before); be the originator of.
‘he invented an improved form of the steam engine’" (OED)
b) "to design and/or create something that has never been made before:
‘The first safety razor was invented by company founder King C. Gillette in 1903’." (Cambridge dictionary)
c) "to create or produce for the first time - Thomas Edison invented the light bulb." (Miriam Webster)

We believe that the invention of virtual memory by the Manchester team meets or exceeds all of these definitions and that therefore it is correct to describe it as their invention.

Rod Muttam/Roland Ibbett/Simon Lavington/Jim Miles – 2nd March 2021

Re: Re: Assessment by First Reviewer (Prof. Martin Campbell-Kelly) -- Bberg (talk) 08:50, 8 March 2021 (UTC)

As the Advocate for this Milestone, I feel that I must respond to both Prof. Martin Campbell-Kelly as well as the response from the 4 authors of the proposal as shown above.

I am personally well aware of the gravity of the word "invention" by way, for example, of my experience as a testifying Expert Witness in patent cases. I have worked on over three dozen patent cases in US District Court, the International Trade Commission, and the International Chamber of Commerce in Paris, France, and I have testified at trial 9 times for both plaintiffs and defendants.

My response is very straightforward: a patent is a description of an invention, and the information and arguments included in the proposal clearly show that the first three cited Kilburn patents are verifiable proof the Kilburn invented the concept of Virtual Memory. Thus, the word "invention" regarding Virtual Memory should be allowed in both the title and citation of the Milestone.

Assessment by Second Reviewer (Peter Denning) -- Bberg (talk) 09:55, 8 March 2021 (UTC)

As Advocate for the Atlas/Virtual Memory Milestone proposal, I solicited an expert review by Peter Denning, who is Distinguished Professor of Computer Science at the Naval Postgraduate School in Monterey, CA USA. He wrote a seminal paper titled Virtual Memory in 1970 that is important to this day. Dr. Denning details his important involvement with Virtual Memory at the end of his Expert Review of this proposal.

The IEEE Computer Society recognized Denning's importance re: Virutal Memory in February 2021 with his receipt of their Computer Pioneer Award for "seminal contributions to virtual memory, the Internet infrastructure, and computing education." Importantly, Tom Kilburn was a Charter Recipient of this award in 1981 for "Paging Computer Design" - and this is the term used for Virtual Memory in Kilburn's 3 patents as cited in the Milestone proposal. Thus, the IEEE Computer Society recognizes both Kilburn and Denning for their important work in Virtual Memory.

The proposal has a number of references to Peter Denning's writings that provide key support for this Milestone. In my opinion, Denning is the most important living person able to provide accurate historical perspectives on Virtual Memory.

A PDF of Dr. Denning's 7 March 2021 review of the proposal is at

Atlas-VM-Milestone-ExpertReview(PeterDenning).pdf

The following is the text from this PDF:

COMMENTS ON THE PROPOSAL FOR ATLAS VIRTUAL MEMORY MILESTONE
by
Peter J. Denning
Naval Postgraduate School
Monterey, CA 93943 USA
pjd@nps.edu


Full Endorsement of the Proposal
Virtual memory is indisputably one of the major hallmarks of computer system architecture since its public presentation in 1962. The authors of the proposal have documented its history and influence exceptionally well. There is hardly a computer chip and operating system that does not incorporate virtual memory. This technology is well deserving as a milestone of computing and Tom Kilburn deserves mention for his key role in its invention and design. I wholeheartedly endorse the proposal.

Was it really an invention?
One of the reviewers has questioned whether “invention” is the right word for the Atlas virtual memory, on the grounds that others were concerned with the same problem (managing page transfers between main and secondary memory) and would have come up with virtual memory on their own without knowledge of Kilburn’s work. It is hard to take this objection seriously because Kilburn was issued five patents covering all aspects of the virtual memory system. Through its diligent investigation of the submitted patents and their claims, the patent office determined that this was an invention and there was no prior art. When a patent issues, the patent office is certifying that it was indeed an invention.

Patent law does not recognize later work that might duplicate the invention even if discovered independently. In the case of virtual memory, the historical record contains no instance of later, independent discovery.

Someone mentioned the PhD thesis of Fritz Güntsch in 1957 as a possible instance of prior art. A close look at his proposal (it was not implemented) reveals that he envisioned a cache not a virtual memory. His cache was an interface that speeded up access to a rotating drum. The cache did not hide the drum; instead the cache was invisible and made the drum seem faster. In contrast, a virtual memory gives the CPU the illusion it is accessing a large main memory and completely hides the disk or drum. Two other important differences are that cache does not support multiprogramming or attempt to minimize system data transfers, whereas virtual memory does support multiprogramming and through its replacement algorithm seeks to minimize data movement. Others picked up the cache idea later after virtual memory was invented. A notable example is Maurice Wilkes, who published a paper “Slave memories and dynamic storage allocation” in 1965 IRE Transactions on Electronic Computers (pp 270-271) discussing how a cache could speed up a main memory. It is noteworthy that Wilkes used some of the techniques of the virtual memory to describe how to make a cache efficient; he credited [Kilburn 1962] for these insights. I had several conversations with Wilkes at Princeton in 1970, and he clearly liked the Atlas form of virtual memory much more than the slave memory idea.

There are only a handful of people that I am aware of who were thinking about the memory management issue at the time and were capable of inventing it themselves. These include Jack Dennis of MIT, David Sayre and Les Belady of IBM, and Maurice Wilkes of Cambridge. All their writings on the subject refer to [Kilburn 1962] and none suggests they had already thought of virtual memory.

Kilburn’s invention was unique. There were no competitors.

Should Kilburn’s name be mentioned in the citation?
I support including Kilburn’s name in the citation. He masterminded the project, led the team that worked out the design, led the implementation, and applied for all the patents that covered the system. In fact, he masterminded the Atlas operating system, which was much more ambitious than virtual memory and was the host for the virtual memory.

I rate Kilburn’s accomplishments with the design of early computing and operating systems right up there on par with Wilkes and Turing.

My involvement in the field
I was a graduate student at MIT in 1965 when I first learned of virtual memory from Jack Dennis. The Multics designers (led by F. Corbato) planned to include a virtual memory. By that time they were aware of serious performance problems including poor performance and susceptibility to thrashing (sudden collapse of system throughput when one too many jobs was loaded into main memory). I devoted my PhD work to understanding what caused these problems and I found solutions. I invented the working set model and articulated the principle of locality. When applied to the design of virtual memory, these new concepts prevented thrashing and made the system throughput very close to optimal. I was part of a large research community, with several hundred researchers in the US and Europe, investigating performance issues of memory systems through the decade of the 1970s. I have had the good fortune to watch the good works of these people grow up and mature into really useful concepts for memory management in caches, operating systems, and the Internet. Working sets have been a universal reference model for page replacement algorithms and the principle of locality has been accepted as a fundamental principle of computing, seen in every aspect of computing from individual programs, to the Internet, and even as a fundamental requirement for a procedure to be called an algorithm. I have kept my ever-interested eye on this field for the past half century. I recently wrote a tutorial paper for ACM Computing Surveys, “Working set analytics”, which gives a current perspective and its use in evaluating the performance of modern cache memory systems.

Proposal Compete ready for History Committee consideration -- Rmuttram (talk) 11:35, 8 March 2021 (UTC)

With our thanks to the Advocate Brian Berg, and the inclusion of the Expert reviews, this Proposal is now considered ready for consideration by the Committee and hopefully recommendation to the Board.

Including Kilburn’s name in the citation. -- E.tejera (talk) 03:51, 10 March 2021 (UTC)

This is something that we will need to discussed at the Committee. Most of the references refers to the participation of Kilburn as the person who "led a team". This is the kind of conflicts the committee has tried to avoid and recent modifications on the procedures have the intention to standardized citations avoiding mentioning specific individuals names. The Milestone is complete and final approval will be conditioned to this discussion.

Re: Including Kilburn’s name in the citation. -- Bberg (talk) 21:42, 15 March 2021 (UTC)

Enrique,

Thank you for your reply. I hope that everyone considering this issue reads the lengthy discussion immediately following the proposed citation re: our Justification for inclusion of Kilburn's name. Since the citation as originally submitted did not specifically state that Kilburn invented Virtual Memory, the proposal authors and I now wish to update the proposed citation as follows:

In this building in 1957-1962, a joint University of Manchester/Ferranti Ltd team designed and built the Atlas computer. Atlas' most significant new feature was virtual memory, invented by team leader Tom Kilburn, which allowed memories of different speeds and capacities to act as a single large fast memory separately available to multiple users. Virtual memory was refined over time to become a standard feature of general-purpose computers.

Thank you. Brian Berg, Advocate for Atlas/Virtual Memory Milestone proposal

Re: Re: Including Kilburn’s name in the citation. -- Amy Bix (talk) 02:00, 18 March 2021 (UTC)

Minor queries - do we need 1957-1962 in text, if it's in the title of the plaque? Do we need "in this building" if the plaque is actually on the building, or is that obvious enough? And can I recommend rewriting the start of the second sentence for smoothness: "Team leader Tom Kilburn led development of Atlas' most significant new feature, virtual memory, which allowed..."

Including Kilburn’s name in the citation. -- E.tejera (talk) 01:16, 16 March 2021 (UTC)

Brian,

After reading the revised proposed citation I think this is one case that we may have to agree to have the name in the citation. Approval from the committee will be required once it is submitted for consideration.

My support of this proposal -- John Vardalas (talk) 19:54, 18 March 2021 (UTC)

I support this proposal.

support to this milestone -- Juan Carlos (talk) 18:50, 22 March 2021 (UTC)

I fully support this proposal which deserves to be an IEEE milestone -for sure. virtual memory was a game changer in the history of computers; regarding the citation, i 've found the discussion gives enough arguments to include Kilburn's name in the citation, although it should be not appear in the tittle of the milestone.

I agree with Amy that "group lesder TK led development doesn't sound good.

Re: support to this milestone -- Bberg (talk) 22:28, 22 March 2021 (UTC)

Thanks to Amy and Juan Carlos for their comments, although there is some reference to the original citation wording.

As such, I repeat here my new citation wording of March 15:

In this building in 1957-1962, a joint University of Manchester/Ferranti Ltd team designed and built the Atlas computer. Atlas' most significant new feature was virtual memory, invented by team leader Tom Kilburn, which allowed memories of different speeds and capacities to act as a single large fast memory separately available to multiple users. Virtual memory was refined over time to become a standard feature of general-purpose computers.

Keeping the first 6 words (up through the comma) unchanged is the only way to make fully clear that all of the work on Atlas took place in the building to which the plaque would be affixed. Since the story of these years have been widely chronicled as an important segment in the history of computing, clarity of this point is of particular interest.