Prof. John P. Hayes retires after half a century in computer architecture
John P. Hayes, the Claude E. Shannon Professor of Engineering Science, will retire from the EECS faculty on May 31, 2023, after 41 years at the University of Michigan. His career has been marked by explorations into the performance and reliability of computer architecture and computing systems, including computer aided design and testing, fault-tolerant design, and emerging computing technologies such as quantum computing and stochastic computing.
John was born and grew up in Newbridge, Ireland, and developed an early interest in science and electricity. One particular interest was in radio control. There wasn’t much available in the way of ready-made equipment for hobbyists, so he quickly learned to find parts, including vacuum tubes and transistors, to build things. His brother, four years older, also had an interest in engineering and became a mechanical engineer, setting an example for John. It seemed natural that John would also become an engineer, and when finished with high school he headed to University College Dublin with a University Scholarship.
At university, John flourished as he immersed himself into the study of electrical engineering; this was reflected in his receipt of Class Prizes in 1963, 1964, and 1965. He completed internships during the summers which introduced him to the world of industry and practice of engineering. In 1962, he worked at Radio-Telefís Éireann, the Irish Radio-Television Network in Dublin, Ireland. In 1963, he worked for Stadtwerke Bremen, a municipal electric power company in Bremen, Germany. And in 1964, he interned at Elin-Union, a manufacturer of electrical equipment in Vienna, Austria.
In the final year of his bachelor’s study, John was able to take the one course offered on computers at that time at UCD, which was simply entitled “Computers.” The course was primarily focused on computing hardware, but did offer a limited opportunity for programming. In an understatement, John recalls that “I took the course and found it very interesting.” He also adds that, “At that point the university had one computer, an IBM 1620, and just at the end of my time there I had a chance to program it, which required using a teletype machine to create a program by punching out holes in paper tape. I enjoyed it and decided I wanted to do more with computers as I applied to graduate school.”
In terms of graduate study in computers, there were no options in Ireland, and only one or two in England; most programs were in the United States. John was fortunate enough to be admitted and get a research assistantship at the University of Illinois, where he worked in the Digital Computer Laboratory on a computer design and building project called ILLIAC III, a fine-grained SIMD (single instruction, multiple data) parallel processing pattern recognition computer. John spent two years in this group, where he was responsible for the logic design of the input-output channel control units of ILLIAC III.
For the final two years of his PhD study , John worked as a Research Assistant with the Switching Systems Group of the Coordinated Science Laboratory, where he carried out research on digital circuit testing, and for his PhD thesis he focused on digital design, logic design, and testing. This work set the course for research interests for many years to come.
But after earning his PhD in electrical engineering in 1970, “I wasn’t sure if I wanted to be in academia or industry,” said John. “So I interviewed at both. I took a job with the Shell Benelux Computing Center in the Netherlands, so my wife and I packed up and went to the Hague for a couple of years. That was another big change. In the end, it was enough to convince me that I’d really prefer an academic career, so for my next job I applied to universities in the States and took a position at the University of Southern California.”
John was at USC for ten years, joining as an assistant professor in 1972. He was promoted to associate professor in 1977 and to professor in 1982. “I liked USC and enjoyed my colleagues there,” said John, “but as everyone knows you’re likely to have a dreadful commute because of its downtown campus location. Campus life, college town life, has always appealed to me, but at USC it was the commuter life: I commuted 20 miles to work and many of my colleagues commuted 35. This resulted in a kind of cut-off feeling.”
John chose to move to Michigan in 1982, based on its strengths in both electrical engineering and computer science. At that time Michigan was also rumbling about forming an EECS Department, which was appealing to John since his research interests bridged the two disciplines of EE and CS. In fact, as a “new guy” with just such interests, he was placed on the merger committee for EE and CS, “so I had a front row seat as discussions led to the new department,” said John.
In 1985, as the EECS Department was formed, John founded the Advanced Computer Architecture Laboratory, which exists today as the Computer Engineering Laboratory and is dedicated to creating a community around architectural innovation at Michigan. In the years after the merger, the EECS department evolved organizationally from three groups to two divisions, CSE and ECE. Although he had a joint appointment in these two units for a while, John ultimately concluded that his allegiance was to CSE.
In research, John was pursuing the challenges presented by the need for reliable and predictable computing, with an emphasis on test and fault-tolerant architectures. Over time, he developed a growing interest in unconventional computing systems, and in about 2000 he began to explore the potential for quantum computing. This was an interest shared by then-new faculty member Igor Markov (now at Meta), and the two collaborated quite a bit in this area. However, “at some point I decided I wasn’t going to live long enough to see a working quantum computer,” said John, “so I have more recently focused on stochastic computing, a branch of classical computing which has some of the attributes of quantum computing, particularly the fact that it’s basically non-deterministic/probabilistic.” On the topic of stochastic computing, John found deep connections between stochastic and quantum computing. He also used his knowledge of Boolean algebra to connect stochastic circuits to spectral transforms of Boolean functions.
Former student Armin Alaghi (PhD CSE 2015) remembers John as a most caring advisor and mentor. “He was always available for discussions and was always resourceful,” recalls Armin. “His interesting ideas pushed our research forward. Our one-on-one meetings were the highlight of my week. We would spend hours (sometimes the whole afternoon) discussing ideas. Or sometimes sitting in his office and reading papers together.”
John has enjoyed the opportunity to travel for conferences and has taken advantage of opportunities to make excursions when possible. “His students frequently traveled with him,” said former student Krishnendu Chakrabarty (PhD CSE 1995). “As his students, we would get special treatment on such travels; it was a great part of his mentorship.” A few photos from John’s travels are included with this article.
Asked about what’s next, John said, “We’ll stay in Ann Arbor, and I plan to continue my research as an active emeritus faculty. I’ll do some reading. Probably not a lot of travel these days. The wonderful thing about being in a town like Ann Arbor, and at the University of Michigan, is that there are many ways for emeritus faculty to stay engaged and to continue to contribute.”
Over the course of his career, John has made significant contributions to digital testing techniques and to switching theory and logical design. He has authored over 340 technical papers, several patents, and seven books including Computer Architecture and Organization, (McGraw-Hill, 3rd ed. 1998), Quantum Circuit Simulation (Springer, 2009), and Design, Analysis and Test of Logic Circuits under Uncertainty (Springer, 2012). He has advised 37 Ph.D. students.
In recognition of his accomplishments, John was recognized with the Claude E. Shannon Endowed Professorship in Engineering Science at the University of Michigan 2002. John was selected for the Alexander von Humboldt Foundation’s Research Prize in 2004. In 2013, he was awarded a Lifetime Contribution Medal from IEEE’s Test Technology Technical Council for his outstanding contributions that have made a fundamental impact on test technology. In 2014, he was the recipient of the ACM SIGDA Pioneering Achievement Award for his contributions to logic design, fault tolerant computing, and testing.
He received the University of Michigan’s Distinguished Faculty Award in 1999 and is a fellow of the Institute of Electrical and Electronics Engineers (IEEE) and the Association for Computing Machinery (ACM).