Dr. Suzanne Albers recent paper on energy efficient algorithms (http://cacm.acm.org/magazines/2010/5/87271-energy-efficient-algorithms/fulltext) indicates a new dimension to the design of algorithms. The energy perspective though studied in areas relevant to online algorithms, in my understanding could very well be applicable to traditional algorithms. The online algorithms tend to optimize scheduling techniques to cater to the growing energy concerns in real-time systems.
It has been indicated by other researchers (http://nms.csail.mit.edu/~stavros) that redesigning data structures for energy efficiency could as well be another approach. These ideas lead us into new way of thinking how we program, design software. Hardware based techniques have evolved over the last decade and we still seen them improving these techniques. It has been argued that techniques to solve this problem need to be incorporated at all the levels of the system. We have seen ways at compiler level, operating system level to reduce total energy consumption. I believe the time has come to design software for energy efficiency as well (http://queue.acm.org/detail.cfm?id=1698225) .
Software design, be it language level, algorithmic level or at data structure level may find novel ideas henceforth.