William Kahan Discusses the Whole of His Career to Date, with Particular Reference to His Involvement with Numerical Software and Hardware Design
Total Page:16
File Type:pdf, Size:1020Kb
An interview with WILLIAM M. KAHAN Conducted by Thomas Haigh On August 5-8, 2005 In Berkeley, CA Interview conducted by the Society for Industrial and Applied Mathematics, as part of grant # DE-FG02-01ER25547 awarded by the US Department of Energy. [Version 1.1, revised March 2016 with corrections from Prof. Kahan] Society for Industrial and Applied Mathematics 3600 University City Science Center Philadelphia, PA 19104-2688 Transcript donated to the Computer History Museum by the Society for Industrial and Applied Mathematics © Computer History Museum Mountain View, California ABSTRACT William Kahan discusses the whole of his career to date, with particular reference to his involvement with numerical software and hardware design. Kahan was born in Canada in 1933, growing up around Toronto. He developed an early interest in science and mathematics, tinkering with mechanical and electronic devices. Kahan earned a B.A. in mathematics from the University of Toronto in 1954. He discusses in detail his experiences with the FERUT computer from 1953 onward, including its operation and use and the roles of Kelly Gotlieb, Beatrice Worsley, Cecily Popplewell, Joe Kates, and others. During the summer of 1954 he worked with Kates to produce a prototype airline reservation system for Trans-Canada Airlines. Kahan then began work on a Ph.D. from Toronto, graduating in 1958 under the direction of Byron A. Griffith. He explains the state of its mathematics program and curriculum at this time, and outlines his own thesis work on successive overrelaxation methods and the beginning of his interest in backward error analysis. Kahan spent the summer of 1957 at the University of Illinois, where used the ILLIAC and met Dave Muller, Don Gillies and Gene Golub. After graduation he spent two years in Cambridge, and he recounts his experiences using EDSAC II and interacting with Maurice Wilkes, Jim Wilkinson, Chris Strachey, Alan Curtis, and J.C.P. Miller. From 1960 to 1968 Kahan served as a faculty member at Toronto. He discusses in some detail his work with the IBM 7094 installed there, including efforts to rework its compiler, operating system, and elementary transcendental function library to improve the support of numerical calculation. Kahan also explores his role as part of the IBM SHARE user group, working with others including Hirondo Kuki and Len Harding to review the mathematical routines in its library, critique IBM’s early SSP package and, most importantly, to convince IBM of dangerous flaws contained in the initial numerical characteristics of its 360 architecture and to devise an effective fix. Since 1968 Kahan has been on the faculty of the University of California, Berkeley. He recounts some of the history of its computer science department, including the roles of Abe Taub and Lotfi Zadeh in establishing what were initially two separate departments located in different schools. Kahan discusses his approaches to teaching and the work of his various students, including James Demmel, Peter Tang and Brian T. Smith. Together with his students he produced the widely used fdlibm mathematics library, originally distributed with BSD Unix. He explains the origins of some of his best known work, including the Kahan summation algorithm to correct for rounding errors, and a program he developed to test floating point arithmetic for errors. Kahan offers a detailed explanation of his work as a consultant with a role in the design of several systems. In the early 1970s he assisted IBM in work on the floating point design of its abortive FS architecture. From 1974-84 he consulted with Hewlett Packard on the mathematical functioning of its calculator range, improving the accuracy and performance of many models and adding the popular integrate and solve functions. During a long and productive relationship with Intel he designed the arithmetic for its i432 and 8087 chips. Kahan explores the history and design philosophy behind the X87 architecture, including its problematic stack behavior. He discusses its impact, the lack of support from compiler writers, and his work on the 80387 chip and on detecting the cause of Intel’s notorious 1994 Pentium FDIV bug. Kahan also discusses his work to lobby for improvements in the numerical behavior of several important computer systems, among them the Cray, the CDC 6400, and the Java virtual machine. In 1989 Kahan won the ACM’s Turing Award, for his work in creating the IEEE 754 standard for floating-point computation during the late 1970s and early 1980s. He places this work in context, linking it both to his earlier experiences and to the proliferation of microprocessor designs during the 1970s. Kahan documents the work of others on the committee, including his student Jerome Koonen, and explains the novel features of the new standard. He stresses that the standard is for a programming environment, rather than just a hardware capability. Kahan has also received the IEEE’s Emanuel R. Piore award and has been SIAM’s John von Neumann lecturer. HAIGH: Thank you very much for agreeing to take part in the interview. I wonder if you could begin by discussing, in general terms, your early life and perhaps your family background. KAHAN: I was really very clever before I was born. I chose the right place, the right time, and extremely suitable parents; of course, I’d like to take credit for all of that. Being born in the depths of the Depression may seem like a bad thing. I’ll admit that I was too young for World War II. I was in Canada, so I didn’t get into the Korean conflict. I was too old for the Vietnam War when I came to the U.S., which was in 1969. I missed many of the risked experiences of people suffered in the generations just around mine. Being born in Canada was a privilege. Canada was very good to us despite the fact that anti- Semitism was endemic, and racism was endemic in ways that, perhaps, people have forgotten. The position of women was appalling, so a lot of things have changed. My parents were decades ahead of their time. For example, in our house, it was forbidden to use the epithets that were current at the time. We never said nigger because my parents would have been offended. We said Negro, which was the respectable term at the time. We never said Chink. Now, Jap and Kraut were words that were hard to avoid because of the Second World War. We were forbidden to use the word shiksa, which is a Yiddish term for a gentile woman when you want to make a disparaging comment about some Jewish man who has taken up with a gentile woman. We would not use that word. We wouldn’t use words like coon for Negroes and, of course, we weren’t altogether happy if people used words like kike for Jews. But what we learned was that, when people use these disparaging epithets, they reveal more about the person who uses them than about the person at whom they’re aimed. My mother had suffered by being dismissed. She was a dress designer, and my father ran a factory and sold the dresses that my mother designed in Canada. They came in time to be very well known in Canada, and earned various awards. My mother had various medals and things like that. She made that tapestry after she retired and a number of others that have been distributed. So I was aware right from the outset that my mother’s situation was disadvantaged by her gender and, nowadays, I get offended when people speak disparagingly of women; they’re speaking about somebody like my mother or, for that matter, my wife and, ultimately, my granddaughters. Well, we could have been described as premature anti-fascists. I was reading newspapers when I was about five and a fraction, which means that I was reading newspapers in late 1938. So I knew about the Japanese rape of Nanking, which occurred the previous year, and was still being talked about in the papers. I knew about Hitler’s invasion of Czechoslovakia in order to defend the rest of Czechoslovakia from the British. I remember starkly the Molotov-Ribbentrop Pact, because my mother and my aunt were actually members of the Canadian Communist Party—and that split the party. So I was very aware of the split. Those who went along with Stalin and said, “Well, this is the war against Fascism. It’s just a war to exhaust the working class.” You just can’t imagine how they had to turn things around after the Molotov-Ribbontrop Pact. And then, of course, Stalin got his country into trouble in 1941 when the Germans attacked. I remember when Hitler attacked Poland: big, black headlines of war. My father pulled out a picture of his family, and he said, “This is my cousin so-and-so; you’ll never see him again.” I mention this because my formative years were spent during World War II. I wasn’t in it. I was in Canada. God, I was lucky! But we read the papers. I read the papers. I read the casualty lists, and I think that had an effect upon me unlike the effect that reading the news has now. You can read about things in Iraq and so on, but I don’t think that penetrates our consciousness so deeply as events of the Second World War. I mean, if the Second World War had gone a different way, I wouldn’t be here, and you would be speaking German. It’s as simple as that. HAIGH: So do you think those early experiences of exposure to the war or to left-wing politics had any influence on the way that you approached your later career? KAHAN: Oh, yes.