Professor Kim Wins NSF Award to Track Software Energy Consumption
Computer Science Assistant Professor Martha Kim has won a National Science Foundation (NSF) CAREER award to develop energy tracking and monitoring techniques to audit and control software energy consumption. The CAREER Award, one of the NSF’s most prestigious awards that honors exceptional junior faculty, will support Kim’s research with a $420,000, five-year grant.
“I am honored by this recognition from the NSF, and very excited to pursue this line of research,” says Kim, who directs the ARCADE Lab. “We’re trying to track how much energy different pieces of software consume, whether they’re different applications running on your cell phone, or different parts of a single application like image capture versus image processing on your phone's camera app. Right now there’s no way to do this, so we’re eager to move this research forward as it will help software designers, system engineers, and even end users control their energy consumption.”
Energy is one of the most critical resources in a modern computer system, Kim notes.
“Excessive consumption on a mobile phone and the resultant short and unpredictable battery life is universally annoying while excess consumption in a datacenter like Amazon’s can hurt a business's bottom line and damage equipment creating potential service outages."
Kim hopes her research will enable programmers to debug their energy consumption by tracking down energy bugs the same way they track performance bugs, allow systems running third-party software to track the applications that are draining batteries and either kill the apps or offer an option to do so, and help cloud-computing providers bill clients according to their energy usage.
“Right now these third-party software apps, like the ones on our phones, run unchecked and then we’re unpleasantly surprised by their suddenly poor battery life,” says Kim. “In fact, 70% of phones returned to Motorola in 2011 were due to battery-life complaints caused by third-party software.”
“And billing clients for their specific energy consumption,” she adds, “will more accurately reflect the cost of hosting a particular job and make that market a lot more efficient.”
Another goal of Kim’s research is closely tied to her teaching and advising activities—she is looking to weave parallel reasoning into the foundational courses of the computer science curriculum and to explore how to best train students to write energy-efficient code and software.
“The next generation of computer scientists must be fluent in these concepts to design and develop responsible software that runs faster and at lower energy cost,” says Kim. “Energy is becoming one of the most critical resources in a computing system—indeed, computer systems are facing more stringent and complex energy management scenarios than ever before. So it’s really critical to understand energy efficiency, to know how software will interact with hardware, and to carefully debug and control energy consumption.”