New approach to programming may boost 'green' computing
A Binghamton University computer scientist with an interest in "green" software development has received the National Science Foundation's most prestigious award for young researchers.
Yu David Liu received a five-year, $448,641 grant from the NSF's Faculty Early Career Development (CAREER) Program. The highly competitive grants support junior faculty who exemplify the role of teacher-scholars through outstanding research, excellent education and the integration of education and research. He also recently received a $50,000 grant from Google for a related research project.
Computers and electronic devices, ranging from smartphones to servers, consume a steadily growing amount of energy. In recent years, computer scientists have developed an interest in paring back this consumption, though generally they've approached the challenge through modifying hardware or perhaps operating systems. Liu plans to tackle the problem by considering how programmers can create more energy-efficient software.
"Saving energy is an activity that should come from many layers," said Liu, who plans to build energy-related parameters into a programming language.
A change at that level would permit and encourage programmers to express their energy-saving intentions directly when software is developed.
"Saving energy is often a trade-off," Liu said. "Sometimes you're willing to run your program slower so your cell phone battery can last longer."
For such settings often specific to the nature of the applications no automated algorithms know as much as programmers.
"Programs today are not just 50 lines of code," Liu said.
They have often grown to be thousands or even millions of lines long. He hopes to employ advanced programming language technologies known as "type systems" to answer questions such as
"What is the energy-consumption pattern of a large program, given the consumption patterns of its fragments?" and "Do programmers have conflicted views of the energy-consumption patterns of their software?"
Energy-efficient solutions at the level of programming languages also enjoy a high degree of platform independence, meaning they can have an impact all along the spectrum from phones to servers.
"In an era when new platforms are introduced every year," Liu explained, "an approach that's platform-independent would be beneficial because it can be applied more broadly."
None of the mainstream computer languages supports energy-aware programming, he said. However, language designers often create a blueprint that can be extended. Java, for instance, could be extended as EnergyJava and remain 90 percent the same. Such moderate changes would make it possible for programmers to adopt it relatively easily.
There isn't much history in this area, Liu said, so it's hard to say how quickly industry will react to the development of an energy-efficient language. However, new language designs have the potential to influence how millions of programmers think.
"I think every researcher wants to make the world better, and we just put it into our own perspective," he said. "Sometime in the Computer future, every Science 101 class may include a lecture or two on energy-aware programming. As an educator, I'm excited about helping to ensure that next-generation programmers are green-conscious from the beginning of their careers."