Skip to main content

"Kremlin" Tool Spies on Programs for Their Own Good

Computer science graduate students
Donghwan Jeon and Saturnino Garcia

Multicore processors have become the norm in today's computer systems but their performance gains can't be achieved unless software is effectively parallelized. Parallelization is the process that converts conventional software to exploit available multiple cores.

Unfortunately, parallelization is not easy, according to Donghwan Jeon, Ph.D. candidate in the Computer Science and Engineering Department at the Jacobs School of Engineering. "A programmer can easily waste a lot of time in attempting to parallelize wrong parts of a program," said Jeon.

Jeon and fellow CSE Ph.D. candidate Saturnino Garcia, with their advisor Michael Taylor, have developed Kremlin, a tool that automatically tells the programmer which sections of code to parallelize. With Kremlin, parallel programmers can save time and effort, and reduce the potential for errors, by focusing on only important parts of the program. The project won best poster for Computer Science at the expo. Jeon and Garcia recently presented Kremlin's original approach in PLDI 2011 - a premier conference in programming language design and implementation.

Print Article