John Cocke: A Retrospective by Friends

INCOMPLETE Transcriptions of Source Interviews
View Entire, Edited Source Interviews

Watch the Video on YouTube
Watch the Source Interviews on YouTube
Download the Video           Read the Transcript           People and Projects           Source Transcripts
Duke and Beginning at IBM

Ed Sussenguth
How did I meet John? I'd been in IBM for a couple years, a normal kind of IBM. You know, wing tip shoes, that sort of stuff. And then I moved into this project - and I had an office - John was on one side, another woman by the name of Elaine Boehm, who unfortunately has passed away, was on the other side. Now, as you know, John was different from many people. Well, John was and Elaine was. And here I come in [straightens his tie] out of the Ivy League, you know, and I've got these two on either side. And John would show up in the office and ramble on about something which I thought I was supposed to know - cripes, what am I going to do now? That's how I first got introduced to John.

Fred Brooks
We had two desks in the office but it was essentially a one man office because I was in it in the daytime, and he was in it at night.

Jack Schwartz
He took a doctorate in mathematics, but then did all work in computing. He had a degree in engineering - I believe in mechanical engineering, with a specialization in refrigeration. I would never wish to have my home air conditioned by John.

Red Dunwell
[We wanted] to find people with some very special characteristics. We wanted people with the very highest intellect. We also wanted people with excellent academic credentials in the fields of mathematics, linguistics, that sort. We wanted to have people who were pleasant to be with, and who made good team people. On the other hand, people who wouldn't be so overwhelmed by a team they wouldn't be able to do original work, and sometimes bring a team around to a new direction. And John seemed to be just the kind of person we were looking for.

John had not finished his dissertation, and one of the considerations in hiring him was that he must finish the dissertation, get his doctorate, and so for the first year or so we were trying to get the most we could out of John, at the same time push him as hard as we could to finish up his remaining work.

Lewis Branscomb
Well, I first knew John Cocke when I walked into a laboratory class in undergraduate physics at Duke University during WWII. We were both apprentice seamen in the United States Navy. Very unlikely sailors. And we were in a physics laboratory together. We took other classes together, too. And John, in fact, remembers that better than I do because he's told more than one person at IBM that the reason I made a better grade than he did in the lab course is because my girlfriend typed up my lab reports, and nobody typed up his, which were largely illegible, even though the physics was okay.

After I'd known John at Duke in WWII, of course we both separated and went our separate ways.

Bradford Dunham
I first met John Cocke in the spring of 1951. At that time I was an instructor of philosophy at Duke University, and was in process of giving the final examination and was proctoring the exam. It was a very rainy day. Now suddenly this man walked into the room, face dripping with water, went to the blackboard and started asking me questions about logic, logic being my specialty. That was John.

Well, one of the students in the class was a man named Edgar Toms, who was the son of the president of Liggett Myers, tobacco company and belonged to the country club. So he and another student would challenge John and me to a golf game and we would play each afternoon.

So we got into this routine where I would give a lecture on modern philosophy in the morning, which John would attend, and then the two of us would take on these two boys that afternoon.

Audited a course in modern philosophy. He started to take a course in logic, but he didn't complete the course because he was called back into military service.

Bradford Dunham
Now I received word that he was sort of on the market from a Mr. Fulham, who is now with IBM, and had been in the mathematics department at Duke, that John Cocke was available. Now the circumstances of his joining IBM were the following: we had a project, which was called Project Stretch, that was under Mr. Dunwell. The objective was that we would build a computer which was essentially 100x faster than the most powerful computer that existed at the time. This was something which enlisted the resources of the entire laboratory, which was then centered in Poughkeepsie. The people who were experts in semiconductors were trying to make faster transisters. The people who were in magnetic cores were trying to make faster magnetic cores, and so on.

Now I had quite a bit of interaction with Mr. Dunwell because, you see, I was a person that knew the most about logic, and I did have some interaction, so to speak. Now John was going to Boston to interview at Arthur D. Little, and I learned of this and I said, "Will you come by the laboratory in order to visit me?" So John came by the laboratory and I went to see Mr. Dunwell and I said, "Now there's this young gentleman coming by, who I think would be a great asset to your effort.

John Cocke
In order to take theoretical physics, I would have to take a lab.

We had a compound pendulum experiment where they had a big pendulum and a small pendulum that hung from it. And we thought of a scheme for just having a motor drive a pivot in simple harmonic motion and hang the second pendulum from the simple harmonic motion and that way we would not have problems with the bigger pendulum slowing down. In other words, the motor drive and the harmonic motion, it ran as long as we needed to do the experiment.

Oh my heaven, there was no comparison. I used to just write my lab reports up very slash dash, and Lewis had a girlfriend, at the time, who typed his lab reports which were very, very neat, and he drew his drawings very neat and made much more serious calculations about things. I mean he was much more serious about the lab than I was.

Lewis Branscomb and I were both in V12 during the second world war, and which was a very good deal. The navy paid for us to go to Duke.

John Cocke
Fred Brooks and Jim Pomerain had desks in the same place that I did, sort of in the hall in the 701 building.

Red Dunwell hired me. I came to visit Brad Dunham at IBM, and Brad said you might like to come to work on our project. We're building a big computer. And I said that sounds interesting to me.

I remember several things about that conversation. Dunwell was describing the fact that they were going to have what he called "lookahead" on the computer, and I thought that meant that trace down ahead and examine the instruction counter, go ahead of the instruction counter, down a whole bunch of different branches. I mean trace out some trees. which would be fantastically complicated and elaborate. Red said that we didn't have anything quite so intricate in mind.

I was interested in some problems in symbolic logic and I went to see Brad Dunham at a class he was giving.

On the committee at Los Alamos, which was looking over Stretch, and we later hired him to come into the product planning department of Stretch, and he and I had a joint project writing a simulator for Stretch.

John Cocke
When I came home, she [Mrs. Cocke] thought I'd been kicked out of school, and actually I had graduated.

My doctorate, not only did she come, but she brought the cook who, at the time that I was walking across the stage, she leaned over to mother and said, "We didn't think you was going to make anything out of him, did you, Mrs. Cocke?"

John Cocke
I graduated, and I went to Midshipman School, and then Gunnery School, and I went on the Fargo, which was a Cruiser.

I was the assistant to the Fox Division Officier, which is the Fire Control Officer, which meant they had analog computers to figure out where to shoot the thing.

Later I was called back for the Korean War and I was on the USS Midway, and we made the Med Cruise.

I got out of the Navy and came back to Duke and went back to graduate school in Mathematics.

John Cocke
I knew something. I mean, I didn't seem like just some PhD in mathematics who knew absolutely nothing about computers. I mean I was someone who was interested in computers and knew something about them.

So I took a programming course down in New York City, which mostly consisted of my ducking out from the lectures and going and talking to Elaine Boehm about how things should be done. She was a lot better about it than the courses. That would be a given. She actually knew quite a lot.

Fred Brooks
I got my degree on Thursday, Nancy and on got married on Saturday and, after a short honeymoon, we went to the IBM laboratory in Poughkeepsie, where we joined the Stretch project. Steve Dunwell had recruited each of us, and Nancy was a physicist and circuit analyst. I was a computer architect, and John was a computer architect, so we all met in a group of about forty people that joined the forty person project that summer.

Well, adding forty people to forty people creates massive project indigestion, and so they left us in one big bullpen in a training exercise while we learned to program the 704 computer, and the management tried to figure out who was going to do what.

Well, Steve Dunwell came around to various universities that had computer science programs, whatever they were called, and explained to us that he was undertaking to build a machine a hundred times faster than the 704. It would be the world's fastest machine. And all of those who were crazy about computers found that an almost irresistible challenge.

My first reaction on meeting John was how fine to have another North Carolinian here in this enterprise.

In the Stretch project, we had a chance to build a machine for speed, without worrying about cost, and this drove us to attempt things that no one had ever attempted before.

That led to John and Harwood's development of the instruction box - execution box - concept of pipelining of instructions. Dura Sweeney and I worked on the interruption system. Dura Sweeney and John and several others worked on the floating point - trying to do floating point better than it had been done before. Jim Pomerain and and others, and Owen McSorley worked on new multiplication abd division algorithms. The whole notion that you could use circuits to get speed - what can you do with that - was very exciting.

Werner Buckholtz and Jerry Blough and I worked on the character processing part of the Stretch computer, and on the indexing facilities. And just having the freedom, together with the opportunity to collaborate with real users who had challenging problems.

The closeness of the collaboration with users, the freedom from limitations on how much power we could bring to bear, led us to explore many, many ideas that had never been explored before.

Protection, supervisory programming, real time capabilities, long precision floating point, very powerful character operations, the eight bit byte, lower case characters - many, many innovations in the Stretch computer.

Steve Dunwell raised our sights, and tried to make us see that we were designing a high performance machine for general applicability. And the fact that a national security agency application was character oriented, and the Los Alamos one was floating point oriented, made us look over the whole scope of computer applications.

Red Dunwell
It became a questtion of how could we make a machine that would do the kinds of things that, for example, the Atomic Energy Commission and the Natinal Security Agency would be having machines for.

Since the hardware had some shortcomings, the memory wasn't as fast as we would like it to be, we had to, for example, interleave memories. Well, how many memories should we interleave? We finally wound up with interleaving four memories. And then there was another question. We had a faster - small, faster cache memory. How much effect would this have? And how would that be balanced against the cost and the difficulties of designing it.

He, and the others working with him, were breaking new ground. No one - as far as I knew, no one had simulated a computer in this way before. No one had ever endeavoured to make a computer that multiplexed its operations. In other words, in all previous computers the total speed of the machine was determined by the speed of the individual parts, and there had never been a machine in which there were several memories that one could work with with different cycles, so that one could be reading out of one of these memories some data while one was looking up the next instruction in another of the memories, if one wanted to get the information. So it was all technically new ground, and he got in the beginning of it, and dove in and did his part.

There's a very extensive documentation of the Stretch project as to why, for example, why we chose an eight bit byte, and what the logic was behind that. And that stuck with us and it was a real good choice, and it stuck with us and we know now what considerations went on with that thing. Incidentally, it was one of the members of the Stretch project that came up with the word "byte", that's now in the dictionary. So one of our people, that was Werner Buckholtz, and I well remember the discussions and how it had to be spelled "byte" to distinguish it from "bit" and so it would be easily distinguishable.

Werner Buckholtz's book, which put together the most significant of the Stretch documents, was published and was used extensively in colleges and universities as a guide for the design of future computers. And the USSR thought well enough of it to have it translated into Russian.

Ralph Palmer, who was then head of the Development Laboratory, called about 20 of us and said that we weren't going on vacation that year. Instead of having - the plant had a regular vacation period that we all went - instead of taking a vacation at that time, we were all going to get together and decide what we were going to do about the next generation of computers from the hardware standpoint.

A direct order came down that no one was allowed to be seen with vaccum tube equipment. No one was allowed to have any on a bench. If you wanted to work on vaccum tube equipment you had to hide it. Literally. Physically. You had to hide it. And that was the way in which the word was gotten through to everybody that if they couldn't fall back on what they knew about vaccum tubes, if they ran into a problem with transistors they didn't know how to solve. They had to solve their problem.

The first technology involving fast transisters, and the first technology involving fast ferrite memories driven by transisters, was actually funded by the National Security Agency.

However, at this point, John von Neumann stepped forward and said, "I would like you to do this at Los Alamos."

Harwood Kolsky
Was a member of this planning group for the Stretch computer, Stretch being a project between IBM and Los Alamos, and I was working at Los Alamos at the time, and there was a planning group, and I was a member of the group from the Los Alamos side. And then later on when I joined IBM, I just changed sides of the table - became a member from the other side.

Steve asked John to please describe how he saw we could improve the concurrency of operation on the Stretch, and speed it up. And John started describing this in his usual enthusiasm, and he ended up drawing on all of our napkins timing diagrams, timing charts.

One of his few failings was that the fact that he didn't write, and it was hard to get him to ever write anything. And I know that when I was working with him, from the period of 1957 to 60, or thereabouts, that I used to go around, sort of follow him around, taking notes and trying to capture his brilliant ideas as they were bubbling forth.

Stretch was originally designed to have an instruction memory and data memory made out of different technologies. And our simulation results showed that there was no reason to do this, that you should make them all of the same technology, which also then made the memories larger, which the customer appreciated.
Awards and Impact

Ralph Gomory
I don't really like characterizing John as the person who invented Risc, but that characterization would be enough to make any other person famous.

You know if you were to ask me what is my most memorable picture of John, I would say it's of his suddenly appearing in my office and starting to talk about everything.

Andrew Heller
Most people, when they think about John, think about the twenty year fight to bring RISC into the major product line of IBM, and they view the 6000 and the work that was done on the 801 as a primary success. But there were a number of things that were as fundamental to the computing industry that John did that people tend to forget about. Most of the modern concepts of compiler technology were concepts that John was responsible for seeding throughout universities and IBM.

Jack Schwartz
His career is remarkable in that sense because most scientists are absolutely dependent on written publications. You know, you don't exist unless you publish. John has had this unqiue ability to think up the ideas and get other people to write them down. It's that his ideas are so good that you can't stand that they shouldn't be written down.

The ability to see into the future and to perceive what is going to be important in technological development and to see what the real balance of things is. Still very instructive.

That is a prime source for a number of key ideas in the computer field. He really is the key inventor of modern optimization technology.

But his most distinguished work on the software side by far is the origination of the compiler optimization technology. And that then was taken up by quite a number of people. It was published. It became known through Fran Allen's writings. A little school of compiler optimization was built up at NYU because I had had contact with John, and so I knew about that technology and teach it in compiler courses. And other people, like Ken Kennedy, and Ken Kennedy's students, all sort of flow out of that stream of ideas.

The things that he has recently brought to fruition are things that he was already thinking about in 1967. But it's taken a while for the world to catch up, and for the technology to make everything feasible.

I would think of John's most important contribution as being the compiler optimization technology.

If John is still remembered in 3000, he'll be remembered as the originator of these optimization techniques still being used in quite different settings and highly transmogrified forms.

Red Dunwell
For any young person looking at John's career, it's very natural to ask the question, "What does this mean to me? It was all fine for John. He had these opportunities a third of a century ago. He's taken advantage of them over this third of a century, but what lies ahead? Do I have an equal opportunity?" And it seems to me that people do. It isn't to say that everytime is as good as any other. Shakespeare said that there is a tide in the affairs of men which, taken at the flood, leads on to fortune. That was true when John came with IBM. We were at one of those periods of very rapid change, and he used that opportunity and other people used that opportunity. It seems to me that we're really at the same point. The tide is now turning and we have opportunities today that we didn't have ever before. These opportunities come in slightly different directions. It seems to me that they're primarily in the field of software. And that there is as much opportunity today for influencing the future by the development of new and better software techniques, as there was at that time in the things that John did.

Abe Peled
Well, I think John's probably single most contribution to computer science is the one that has been recognized by the Turing Award, and that's for computer architecture of very high performance machines. And really the unique copmbination of machine architecture and compiler technology, the marriage of which makes for a very effective computer.

Well, I had the actual honor to be John's manager at the time when he received the Turing Award. John is not what you would call a person who sits down at desk for any length of time. On the other hand, the Turing Award has a great tradition. You have to submit a paper, which is subsequently published, and there's an interview, and so on. And we all felt that this would be an important thing for John to have such a paper. So John and I sat down and, you know, I would walk with him and solicit what he would really like to say. And, eventually - as a matter of fact, Al Chang would join us and Fran Allen - and we reconstructed something that was really fascinating to me, because I didn't know many of the things - how, chronologically, John's ideas developed over the years. And I think his Turing Award paper, which is really the essence of his quest for high performance, in which it's quite clear that as early as the 1960+ he had the very clear idea in his head of what IS a very high performance computer. All he had to wait for the technology to make it really possible.

Joel Birnbaum
I think John's impact on the field of computing is seminal, pervasive, profound. Will be enduring.

From what I understand, a lot of John's contributions in circuit simulation and parallel machines are having a great impact in IBM and, I guess, indirectly in many other places. And I think there is hardly anything that I know of in the whole computing spectrum at Yorktown, at least as it was until 1980 when I left, that John didn't influence in a positive way, whether it was a project of signature verification or speech recognition, or signal processing architectures, or any of the other activities that related to either system architecture, machine design, or software systems. So John's influence in IBM - I find it hard to believe there's ever been a person in the company that influenced so many people in so many different areas. So I would hope that IBM will build a big statue to John someday because I think he's been one of the most important people, certainly in the last twenty-five years in the computing [field].

John has been, as much as anything else, a catalyst for great work in many fields, for example, in mechanical engineering in disk business on the other side. He made a very important role in a lot of those developments, even though, perhaps, some of the final work in inventions weren't his own.
Watch the Video on YouTube
Watch the Source Interviews on YouTube
Download the Video           Read the Transcript           People and Projects           Source Transcripts

Home Computers Favorites Map

IME logo Copyright © 2007, Mary S. Van Deusen