Prasanth Chatarasi applied to Rice University’s Computer Science Ph.D. program because of its reputation as a rich research environment, as well as its number of CS professors who were experts in compilers and parallel programming.
“My background in compilers, especially polyhedral compilation techniques which I explored during my internship with Uday Bondhugula, was a good match for the research group led by Prof. Vivek Sarkar. But when I researched Rice, I was also influenced by the opportunity to work with Profs. John Mellor-Crummey and Keith Cooper,” said Chatarasi.
By coincidence, Sarkar had been a student under Kesav Nori at IIT Kanpur, and Nori was the professor who had first piqued Chatarasi’s curiosity about compilers during his undergraduate study at IIT Hyderabad.
Chatarasi’s affinity for compilers prompted his area of focus: enhancing the existing compilation techniques to help programmers to achieve better performance and more efficiently identify errors in their parallel code.
He said, “In its simplest form, a compiler is a software that translates a user program into a code that a machine can understand and execute.” Chatarasi explained that over the past decade, production compilers for general-purpose processors have adopted a number of major technologies emerging from compiler research.
“In the coming decades, compiler research is expected to play a crucial role in addressing the multi-core programming challenge,” he said. “For example, how can we exploit the parallelism in large-scale parallel hardware without undue programmer effort? And multi-core programming is one of the major challenges facing the overall computer field.”
Chatarasi said that the increasing complexity of machines makes programming them very challenging. “With over 70 cores on a single processor and millions of processors on a super computer, both programming the machines and debugging the programs is a daunting task. My research focuses on improving compilers to enhance debugging capabilities to pin point the issues in the program written by the programmer, and also optimize the program to run fast on emerging hardware.”
In 2015, his first research publication at Rice was nominated for the best paper award at the IEEE/ACM PACT conference. His group was exploring programs written to run fast and in parallel on complex hardware. “When we ran some of the programs on a large number of cores, we saw that the sequential version of the program was running fast compared to its parallel version. In our research, we improved the compiler by improving the analysis of parallel programs to enable more optimizations for better execution time on the complex parallel hardware,” he said.
After three years in Rice’s Ph.D. program and a summer internship in Paris with Dr. Albert Cohen, Chatarasi still gets excited about the opportunity to work on engaging research under the influence of renowned computer scientists. What has surprised him most is the abundance of available and motivating advisers and mentors for grad students.
“Even when Vivek became the chair of the department, he still made time for meetings with each of his team members,” said Chatarasi. “But I also received helpful advice from our team’s research scientists, particularly my co-adviser Dr. Jun Shirako, and postdoc Martin Kong. Senior grad students like Shams Imam, Milind Chabbi, and Karthik Murthy also helped boost my confidence and made me recognize my own abilities.”
Chatarasi grew up in a family of academics and understands the importance of advisers and mentors. “My parents, grandparents, and most of my relatives are teachers, lecturers, and/or professors,” he said. “From their roles as advisers and my own as a grad student, I realized patience and perseverance are two of the keys to successfully completing a rigorous Ph.D. program. Find people you can talk to, not just about your successes, but also about your disappointments, struggles, and frustrations.”
He said new graduate students may not realize how often other researchers experience interim failures before they find a solution that works. “Getting stuck and failing in the early or intermediate stages of your research is part of the process. Don’t let setbacks influence your overall perspective.
“Working on problems that haven’t been solved yet requires absolute concentration – which is one of the reasons I find it so interesting. But it can also be detrimental to your health if you don’t give your mind a break. Don’t forget to set aside some time to just focus on your health, especially your mental health.”