In 2008, multicore processors, in which two or more processing units are embedded into an integrated circuit, were exploding in popularity. However, multicores spawned their own unique programming challenges.
University of California San Diego computer scientist Yuanyuan (YY) Zhou realized the enormous task in front of researchers: writing software to take advantage of those multiple CPUs could have a lot of bugs.
A professor in the Department of Computer Science and Engineering and the Qualcomm Endowed Chair, Zhou has now been honored with an Architectural Support for Programming Languages and Operating Systems (ASPLOS) 2022 most influential paper for her 2008 study: Learning from mistakes: a comprehensive study on real world concurrency bug characteristics.
“To take advantage of the multiple CPUs, we needed to make our software with multiple threads running in parallel,” said Zhou. “But when you write that kind of program, they can have a lot of bugs, which really concerned people at the time.”
One of the main issues was concurrency bugs, which happen when two programs are run simultaneously. In the study, Zhou and her team catalogued the types of bugs people were experiencing. They found that around a third of these problems were not adequately addressed by existing debugging tools. In addition, many of the potential fixes for these bugs did not always work.
Concurrency issues were proving to be a huge drag on programming efficiency in multicore processors. So many bugs to fix and so few effective mechanisms to fix them.
The paper provided a path forward for programmers at Microsoft and many other companies to write code more effectively for multicore processors, but it almost didn’t happen. Zhou was presenting some other work to Intel when they recommended that she publish the findings of their empirical studies on real-world concurrency bugs.
“The Intel people told us that would be more interesting, both in the academic world and to companies like Intel and Microsoft,” said Zhou. “We realized they were right and this study would be more relevant and would address an important problem. So, it was really almost accidental that we did this paper at all.”
The paper continues to be important, as mobile apps also use multiple threads, necessitating robust tools to help detect and root out concurrency bugs. Still, despite its ongoing relevance, Zhou was surprised the paper was selected this year as most influential.
“I know it’s one of the top cited papers at ASPLOS, but I didn’t expect them to select it,” said Zhou. “Initially, I didn’t even intend to write it. So, this was really nice and a surprise.”