“I first got exposed to computers in eighth grade, back in Serbia, when our science teacher brought to class an 8-bit personal computer he smuggled in from Germany,” said senior CS research scientist Zoran Budimlić. Inspired by the concept that a machine can “think” for itself and be given instructions, Budimlić dedicated his high school and college academic career to CS courses, electives, and programming competitions.
After majoring in CS and minoring in Computer Engineering at the University of Belgrade in Serbia, Budimlić completed his Ph.D. degree in CS at Rice University. While working on his Ph.D., he spent two summers working for Sun Microsystems on their Java compiler.
After finishing his Ph.D. in 2000, Budimlić joined the Center for High Performance Software Research at Rice, led by Ken Kennedy. In 2007, he joined the Habanero Multicore Software Project led by Vivek Sarkar, which focuses on creating modern languages and tools for writing parallel software.
He said, “The [Habanero model] identifies four key features that a parallel programming model has to support: tasking, synchronization, mutual exclusion and locality control. We have several research languages, runtimes and library implementations that build on these ideas.”
His passion for high performance computing (HPC) prompted him to work on high-level programming models and runtimes for future large-scale systems. “I think that there is going to be fundamental change in the way large scale systems are programmed in the next five to ten years,” he said.
In order to process a billion billion calculations per a second–the goal of the next iteration “exascale” supercomputers–“the vendors who build exascale systems will have to use a large number of very low-powered processors,” said Budimlić. In all likelihood, these systems will experience a processor somewhere in the machine failing every few seconds.
He said, “If you have an application that needs to run on the whole system, which would be the main reason for building such a system to begin with, your application will have to handle those failures and continue execution.”
Budimlić believes that the prevalent programming models of today are inadequate to handle such scenarios, and that research in programming models and their implementation in this direction will play a key role in making exascale computing possible. Several of his colleagues are researching other aspects of exascale computing.
He appreciates this collaborative–even tight-knit—environment. “I haven’t seen that at such an extent at other places, where most faculty members are usually in their own world, doing their own thing,” he said.
The department’s congenial but demanding atmosphere impressed Budimlić when he arrived as a graduate student. “What brought me [here] as a graduate student in 1994 was the fame of the world-renowned scientist Ken Kennedy. What made me stay was this constant push for excellence and the perception of “one big family,” first in Ken Kennedy’s group and then in Vivek Sarkar’s.”
Ken Kennedy, Budimlić’s Ph.D. adviser, was the department’s founding chair, the John and Ann Doerr University Professor, and the director of HiPerSoft (Center for High Performance Software Research). One particular experience Budimlić found unforgettable in his graduate years was the way Kennedy continued working through the last months of his battle with pancreatic cancer.
Budimlić said, “He would still come to work every day, already thin and worn out, but always with a smile…always enthusiastic about [his] projects and students. There was an evening event in his honor where he and his wife went table-to-table and shook hands and cracked jokes with us. We all knew that was essentially his goodbye to everyone. Even hours before passing away, he was still giving advice and caring about what would happen to his students and team members. I learned in those days what it means to know someone who is truly ‘greater than life.’”
Zoran Budimlić completed both his M.S. and Ph.D. in CS in 2001. His adviser was Ken Kennedy.
–Juliann Bi, CS Marketing Assistant