A computer scientist from Binghamton University has recently scored about a half million in funding–$450,000 from the National Science Foundation, and $50,000 from Google–that will help support his interested in “green” software development.
Green software? It’s an issue we’ve looked at before–some computer code is said to be “greener” than others, for instance, if it operates faster and therefore is more energy-efficient.
“Saving energy is an activity that should come from many layers,” said Binghamton’s Yu David Liu, the recipient of the grants, who has been at the university since 2008, in a release. And it should even come in lines of computer code.
As readers of our earlier post on the “greenest” code will no doubt remember, there is some debate over what code is, in fact, greenest. Some codes may run faster in some instances; other codes in others. This is one of the questions Liu wants to tackle, who has noted that none of the mainstream computer languages support “energy-aware programming.”
But it’s not the only one. In fact, there are a number of outstanding research questions in the small field of green programming. In a fantastically complex, million-line-long program, how do you map the energy-consumption patterns of the program as a whole, given consumption patterns of its parts?
“One of the central notions of this project is, we believe programmers know more,” Liu tells Fast Company. Previous approaches tend to ignore basic software, focusing instead on hardware or only on high-level software like operating systems. But who better than the laborers toiling in each individual line of code to make decisions that affect the energy efficiency of the whole?”
“If you think about programmers,” he adds, “a lot are green conscious for different reasons–many for idealistic reasons, but also if your data center’s energy bill is 10% of your operational cost, it makes sense for programmers to write code that will save energy.”
Liu’s award will be put to use mainly by hiring graduate students for a big project: to write a new programming language derived from Java, that will take energy efficiency into account in a fundamental way. About 80% of the syntax will be the same as in Java, while the remainder will be new. Liu and his team’s developing language is code-named “E.T.,” for “Energy Types”–though Liu says that name might well change over the lifespan of the five-year project.
In the long run, one of the most imporant elements of this field might be, ultimately, education: “Sometime in the Computer future,” said Liu, “every Science 101 class may include a lecture or two on energy-aware programming.” If you influence the way the next generation of language designers think, programmers might not only use code more efficiently, but create entire new languages that are more energy efficient.
Of course, as some have pointed out, “efficient” does not automatically equal “better for the planet.” If you halve the energy expenditure of a program, but that leads users to use the program twice or even three times as much, it may be a net loss for the planet. This effect–technological progress increasing the use of that technology–is called the Jevons paradox.
In other words, the calculus of green behavior is incredibly complex–but that’s another (longer) story.