John Cavazos, assistant professor in the Department of Computer and Information Sciences at the University of Delaware, has been selected a recipient of the prestigious National Science Foundation Faculty Early Career Development Award.
Cavazos has received a $416,709 grant from NSF to develop adaptive compilers for multi-core computer environments, freeing software developers from laborious and time-consuming hand-tuning of compilers and helping machines make fuller use of their performance capabilities.
The work combines Cavazos’ interests in both compilers and artificial intelligence.
“Compilers are a critical component between the software developer and the computer,” Cavazos said. “They translate applications written by software developers into the machine code that executes on the computer. An important task a compiler performs is to transform, or optimize, applications so that they run more efficiently.”
Traditional methods in developing the transformations found in compilers are labor-intensive and ineffective, Cavazos said. As a consequence, compilers for a new processor often produce code that achieves only a fraction of the machine’s available performance.
He said this is especially true for current machines that contain multi-core processors, or parallel processors on a single chip.
“The research I am doing involves using techniques from artificial intelligence to allow a compiler to automatically adapt and tune the transformations used for each new machine,” Cavazos said. “In effect, this research will replace hand-tuned compilers with self-tuned compilers. These compilers will adapt automatically to match the performance characteristics of each target machine.”
By automating the process of performance tuning, Cavazos said programmers will be allowed more time to focus on higher level issues, such as robustness and correctness, and scientists will be able to get results much faster.
Also, he said adaptive compilers would reduce the need for specialized experts that tune applications across the range of large computing systems, reducing the cost of developing efficient software.
Further, Cavazos said he plans to explore the viability of developing adaptive compilers for multi-core environments to allow application portability while still achieving high performance.
“While there is general agreement in the architecture community that microprocessors should have multiple cores per chip, there are a diversity of ideas in how processors should be designed,” he said. “This architectural diversity has made it difficult to develop an application that runs efficiently in a machine independent way. Thus, it is difficult to port applications that are tuned to one hardware platform to a substantially different one. Thus, the multi-core paradigm shift has introduced new architectural complexity that dramatically impacts application performance and programmer productivity.
“This architectural complexity and diversity must be correctly characterized by a compiler in order to predict the performance of transformations targeting multi-core processors. A more flexible approach to compiler technology that can tailor strategies to an application and architecture is likely to yield better performance. My research will develop a more flexible compiler infrastructure that can specialize compiler transformations to the target architecture. This will dramatically decrease the time to port compilers to new platforms.”
Cavazos, who joined the UD faculty in 2007, received a master’s degree and doctorate in computer science from the University of Massachusetts Amherst.
He said that upon entering graduate school at UMass, he wanted to work in either compilers or artificial intelligence. “I thought I had to choose one of these topics, so I started working on compilers. After a semester in graduate school, I got the idea that perhaps I did not have to choose between these two topics, but could instead work on both topics by trying to build ‘intelligent’ compilers using artificial intelligence,” he said.
Cavazos prepared a master’s thesis on the topic and was able to publish a paper on his thesis work in a competitive artificial intelligence conference. Encouraged by that, he continued working in that area for his Ph.D. dissertation research. After receiving the doctorate, he landed a post-doctoral position at the University of Edinburgh in Scotland working on a project that was closely related to his Ph.D. work.
Cavazos said the field is growing. “Back when I started my graduate research, there were very few researchers working in this area, so it was unclear whether the research I was doing would be of interest beyond a small group of people,” he said. “However, in the last several years, many researchers have begun to do research in this field. There is now active research in this area being done at universities such as Berkeley, MIT, and Rice, and at companies such as Intel and IBM.”
Article by Neil Thomas
Photo by Evan Krape