Harwood G. Kolsky.
Prepared May 8, 1990.
Edited and posted with his permission on April 28, 1999.
Since retiring from the IBM Palo Alto Scientific Center in 1986 I have been a professor of Computer Engineering at the University of California, Santa Cruz. When discussing problems of computer design with students I often recall discussions I had with John Cocke and other members of the STRETCH (IBM 7030) project. It is very interesting how often the problems we discussed then keep coming back in modern form.
Last year I initiated a new course on "History of Computing" at UCSC. This has really forced me to go back and re-read the old reports and to appreciate what a major effort STRETCH really was. All will agree that John Cocke was the very spirit of technical innovation on that project.
It was probably early in 1957. IBM and Los Alamos had a joint planning group that met frequently during the early stages of the STRETCH project. I was a member of the group from the Los Alamos side. In August 1957 after I joined IBM I continued as a member on the IBM side. It was during one of the early meetings that I first met John.
I recall clearly. Steve Dunwell, John Cocke, and I were having lunch with IBM Vice President John MacPherson in the old Research cafeteria in Poughkeepsie. Steve urged John Cocke to explain his ideas on how STRECTH performance could be speeded up by using look-ahead concurrency. I remember John, with his usual enthusiasm, scrawling time lines on our napkins showing how memory fetches, indexing, and arithmetic could be overlapped.
I also remember realizing that this analysis could be done on a computer (i.e., an IBM 704) and that design trade-offs could be done this way. This was the spark which led in the fall of 1957 to our close collaboration in writing the Cocke-Kolsky simulator, which did become a key design tool on the STRETCH project.
My wife definitely remembers her first meeting with John. Shortly after we moved to Poughkeepsie Betty Lou and Sullivan Campbell had a spaghetti supper at their house for us and our children. John was also invited, and he made a lasting impression.
His enthusiasm for his latest technical ideas. He always had several balls in the air at once. He seemed to be interested in all aspects of computers and their applications.
John would go around from room to room and lab to lab scattering ideas (and cigarette ashes) everywhere.
In terms of topics, I think of the simulator studies, his compiler optimization work, his design work on the ill-fated ACS machine, and especially the RISC machine (801).
When we worked together from 1957 to 1960, I used to follow him around taking notes, trying to capture at least some of his thoughts. I also did most of the programming for the two of us (in 704 assembler) and wrote our reports because it was too hard to explain what we wanted to another person. "Comments and documentation are to follow."
John was so full of ideas that he was always impatient for results, and he always wanted to try something different before we finished the last task. Since he did not have a family, John tended to work all sorts of odd hours, whenever we could get time on one of the 704's. This sometimes created problems for me, since I did have a wife and children, and I wanted to spend some regular time with them.
Sometimes the doorbell would ring late in the evening or very early in the morning when John had some new idea that he wanted to try out on me.
John would sometimes get very upset about some unreasonable decision in IBM (I suppose he still does) and threaten to quit the Company. More than once I pleaded with him not to make any rash decisions.
In spite of his eccentricities John is a very kind, unselfish, human person. One could always count on him as a friend in time of need, not just as a fellow worker.
I remember that our children always loved John because he was exciting and not at all like the usual stuffy blue-suitters. Even now, when I asked them about their impressions thirty years later, then recall, "It was fun to have him around."
First of all John is truly brilliant. He has an uninhibited interest in all subjects and a naive curiosity that cuts across traditional subject boundaries. He has the ability to tackle hard problems on any subject without being intimidated by the conventional wisdom of experts in the fields. He can challenge experts in a direct way, yet without antagonizing them. Often they end up collaborating with him.
There are many fond memories. Here is one:
In Poughkeepsie at the time the coffee machines would give back change (2 cents per cup, I think). John used to throw the change from his coffee purchases into a round cardboard oatmeal box. One time when we were working I saw that he had several of these heavy oatmeal containers crammed full of pennies in his desk. When I mentioned this at home, my children begged to be allowed to go through the pennies for their coin collections. John willingly agreed, and I recall our having two tables completely covered with piles of pennies while the children sorted them by year and by mint. I replaced the pennies they took with ordinary dollar bills and returned the boxes to John.
Another:
One time early in 1958 John and I were going to White Plains to attend a meeting. We rode together with Daniel Slotnick, then of IBM Research, in a crowded VW bug. John and Dan argued the whole trip on the advantages and problems of parallel processing. Much of the concern was on how to connect multiple processors and program them (a very modern problem today). Dan, listing John as co-author, published a short report on the subject (RC-55, July 21, 1958), although John confided in me that he thought it was a "nuts ideas" compared to all the other ways one could speed up computers. Dan Slotnick left IBM to build the Solomon computer and later the Illiac 4 parallel processor.
Yes. His ideas concerning the concurrent development of hardware and software were well ahead of their time. There was a glimpse of them in his STRETCH work; certainly they were an important part of the ACS design; and, they came to full flower with RISC.
As a researcher John mainly encouraged others to try his ideas. He doesn't like to write, with the result that most of his publications are joint papers with others. I am proud that our joint paper on the Virtual Memory (i.e., lookahead unit) in the STRETCH Computer was his first publication (after his thesis).
I'm afraid many of his good ideas have been lost because there was no one there at the time willing to catch them and write them up.
Certainly he had a direct influence on my work on the STRETCH project. John, Sullivan Campbell, and Steve Dunwell had a lot to do with my decision to leave a good job at Los Alamos and throw my lot with IBM. They were the kind of people I wanted to work with.
Later discussions with John raised my interest in the importance of compilers and microcode. This was no doubt a factor in my decision to start projects in these areas at Palo Alto in the 1970's, which ultimately led to the APL microcode assist programs, and to the very successful FORTRAN Q and Vector FORTRAN products.
My main regret in leaving the East was that I would no longer be able to work directly with John. We did get back together again for a short time on the ACS project at Menlo Park in the mid 1960's, but circumstances were different. There were a lot of other people involved. IBM and the computer field were quite different places. It was hard to rekindle the old STRETCH flame. And, it was impossible for the ACS to take on System/360 the same way STRETCH took on the 704.
See also "John Cocke: A Retrospective by Friends," 1990 video and transcript, in which Dr. Kolsky is one of the interviewees.
[Mark's homepage] [CPSC homepage] [Clemson Univ. homepage]
mark@cs.clemson.edu