Oral History of Edward S. Davidson (1939-‐ )
Total Page:16
File Type:pdf, Size:1020Kb
Oral history of Edward S. Davidson (1939- ) Interviewed by Prof. Paul N. Edwards, University of Michigan School of Information, at Davidson's home in Ann Arbor, Michigan June 17-18 and September 29, 2009 Edward S. Davidson is a computer engineer who pioneered pipelining techniques for improving processor throughput in both hardware and software. Techniques to which he contributed seminal ideas include simulated annealing, wave pipelining, multiple instruction stream pipelines, decoupled access-execute architecture, and polycyclic scheduling (aka software pipelining). Born in 1939, Davidson grew up in the greater Boston area. He saw his first computer on a high school math class field trip and "knew then and there" that he wanted to enter the field. Davidson received his bachelor's degree in mathematics from Harvard University in 1961, having taken virtually all of the university's computer courses. He next attended the University of Michigan (1961-62). There he obtained an MS in the Communication Sciences program, which featured a broad intellectual range running from cybernetics and neuroscience to computing. Davidson worked for Honeywell as a logic design engineer from 1962-1965, acquiring considerable experience with circuit optimization. From 1965-1968 he attended the PhD program in Electrical Engineering at the University of Illinois Urbana-Champaign (UIUC). He then moved to Stanford University, where he served as an assistant professor from 1968-1973 and started a logic design laboratory. In 1973 he returned to UIUC, where he remained until 1987. During that period he worked in the Coordinated Science Laboratory (1973-1980), served as President of Illinois Computer Research, Inc. (1981- 87), and co-led the development of the Cedar, a highly parallelized supercomputer. In 1987 he was recruited to the University of Michigan's College of Engineering, where he remained until he retired in 2000. During that period he led research for Ford Motor Company on computer simulation of crash tests, among many other things.Throughout his career Davidson made numerous contributions to logic minimization theory and technique. Davidson trained numerous PhD students, most of whom who went on to become important computer engineers in their own right; he feels that graduate education was among his major contributions to the field. This oral history generally follows the chronology of Davidson's life and career (see table of contents), with occasional digressions. While most of his students are mentioned, the interviewer asked Davidson to discuss a few of his papers and PhD students in more depth. Finally, the interviewer would like to note that Davidson is a natural storyteller, with a wonderful, light sense of humor and a gift for extracting lessons from his experiences, and recommend that users of this transcript also consult the audio files (indexed by timestamp in the transcript) to get a sense of his delightful personality. 3/17/11 Edward S. Davidson oral history 1 of 148 Some of Edward S. Davidson's major awards and achievements: • Eckert-Mauchly Award, 2000, IEEE Computer Society and ACM, “For his seminal contributions to the design, implementation, and performance evaluation of high performance pipelines and multiprocessor systems” • Taylor L. Booth Education Award, 1996, IEEE Computer Society, "For contributions to the establishment of computer engineering as an academic discipline and for nurturing many leaders of this field during their formative years in the profession. " • Harry Goode Memorial Award, 1992, IEEE Computer Society, "For pivotal seminal contributions to the design, implementation, and performance evaluation of high performance computer systems. • Fellow IEEE, 1984, "For contributions to the use of pipeline structures in computer architecture." • Designed and implemented an eight-node symmetric multiprocessor (SMP) system (1976) • Developed the reservation table approach to optimum design and cyclic scheduling of pipelines (1970s) Table of Contents Overview of major contributions.................................................................................................3 Early Life: Family and Education ..................................................................................................5 Undergraduate years at Harvard University (1957-61) ...............................................................14 University of Michigan, MS in Communication Sciences (1961-62).............................................24 Honeywell Computer, logic design engineering (1962-1965)......................................................31 University of Illinois, PhD in Electrical Engineering (1965-1968) .................................................46 Experience with the Vietnam draft board ..........................................................................................................................58 Initial job search: Bell Labs, IBM, and Stanford University .........................................................................................60 Stanford University, Assistant Professor (1968-1973) ................................................................65 Interest and involvement in political events (late 1960s - early 1970s) ..............................................................65 Teaching and research at Stanford ........................................................................................................................................73 Departure from Stanford............................................................................................................................................................94 University of Illinois (1973-87)...................................................................................................97 The Cedar Supercomputer......................................................................................................................................................122 University of Michigan (1988-2000, emeritus since 2000) ........................................................128 Chairing the Dept. of Electrical Engineering and Computer Science (1988-2000) .......................................130 Ford Motor Co. — research on crash test simulation.................................................................................................140 Final years in the UM EECS Dept. ........................................................................................................................................144 Lessons learned.......................................................................................................................146 3/17/11 Edward S. Davidson oral history 2 of 148 Interview recording part 1 Overview of major contributions 00:00:08 Paul Edwards: This is Paul Edwards. I am doing an oral history of Edward Davidson at his home in Ann Arbor and it’s June 17th 2009. And Ed has provided me with a lot of material and some of the best preparation I've ever had for an interview. I decided to set a context by asking you to talk about what you consider to be your major achievements and your major research areas. We will go into the chronology of your life and work and after that, but it would be nice to hear a bit about how you think about your own career and how you consider major contributions have been. 00:00:57 Ed Davidson: When people who don't know me ask me what I do for living or what I did for a living, I would usually say I teach Computer Engineering. And for my whole academic career that's how I thought of myself. My love of the work and the part I always liked the best was the work that I did one on one with my graduates students. it’s the human relationship there and the process of what we produced. Perhaps you more than the content. As far as research areas, from my PhD onwards I began in a computer-aided design, Logic Minimization area using branch and bound techniques. And branch and bound were optimizing in combinatorial spaces, one theme that has popped up again and again, I had a habit of going after large combinatorial problems trying to optimize them like an idiot. [chuckle] And early on I got into pipelining and had a... Well a decade and then I later returned to pipelining as a major research topic. And that's perhaps the work that I am best known for. Yeah, and that and its extensions really set the stage for the follow on phases, which got into various problems. Like once you once you have a pipeline that is theoretically optimized, it’s running at a fairly fast rate and trying to overlap and how do you keep the beast fed, which leads off into memory problems and caches and branch prediction -- which I didn't particularly work in -- but just trying to predict, trying to get the information that you need close to the pipeline before you need it or better yet, before you know you are going to need it. Which is a difficult problem, pieces of that are getting solved. And that leads to interconnect problems and then pushing some of applications you get into parallelism and I got into big iron kind of by accident the Cedar project with David Cook. 00:04:13 PE: the parallel supercomputer? 00:04:15 ED: Yeah. And thereafter... Well you could argue that my role in Cedar was administrative, except it never quite became completely that. [chuckle] And then more administration at Michigan but then a chance late in my career to do a major project with Ford which involved supercomputers and application tuning, for architecture specific application tuning, which was a