Energy-conscious software design can reduce power consumption by 30-90%


This topic is available in a weekly newsletter titled IT Best Practices. Click on here to subscribe.

Over the years, “green computing” has become synonymous with more energy efficient hardware than previous generations of similar devices or components. For example, devices may have a power saving mode or power management capabilities that allow them to use less power when they are idle. Another example is smarter cooling techniques in data centers that use less power despite higher rack density. Certainly, many improvements have been made to reduce the power consumption of servers, storage devices, desktop printers, laptops and desktops.

Even though devices and components individually consume less energy, the enormous growth of information and communications technology (ICT) globally means that the overall electricity consumption of ICT is increasing at a faster rate. faster than general electricity consumption. According to a report published by the Network of Excellence in Internet Science, the combined share of ICT in total global electricity consumption increased from around 4% in 2007 to 4.7% in 2012.

Think about it: almost 5% of the world’s energy is used by computers. Frankly, the energy use curve for ICT in the world is not sustainable.

Software is starting to play a critical role in green computing. The software of ICT systems puts the hardware to work. Thus, the root cause of ICT power consumption lies in the software which commands the hardware to start processing. If software can be designed to direct hardware to perform its tasks in a way that uses less power, we might be able to reverse the trend of computers using more and more power every year.

One of the first initiatives of its kind is the Cluster Green Software Project in the Nederlands. This is a new regional technical and scientific cluster of organizations working together in the Amsterdam metropolitan area. Participating organizations are focusing on (1) mapping power consumption in large systems caused by software use, and finding opportunities to reduce software power consumption; and (2) the development of tools for users of large software systems to enable them to manage energy costs. Member organizations are developing a toolkit to empower data center and computing users with potential savings in energy consumption.

The principle of the Cluster Green Software project is that the principles of efficiency integrated into the software must be placed at the start of the energy chain. It is not enough to tell the hardware to go to sleep after running the software. The best approach is to write the software in such a way that the hardware uses a lot less electricity in the first place. If the software is developed neutrally so that it can run on different hardware configurations, the efficiencies can be replicated with each use of the software.

One of the first case studies of this project showed that smarter and more efficient use of software can lead to huge potential savings for greener software: depending on the situation, between 30% and 90%.

One of the project participants, the Software Improvement Group (GIS), takes research results and turns them into practical advice for companies wishing to improve the energy efficiency of their software. GIS consulting services are based on precise measurements and scientific research. SIG helps businesses by identifying cost drivers and advising them on changes to be made in order to optimize costs.

A research partner in this effort is the Amsterdam University of Applied Sciences Software energy fingerprint laboratory (SEFlab). At SEFLab, collaborative research projects between GIS software specialists, electrical engineers from the Amsterdam University of Applied Sciences and various industrial partners, study the influence of software on the energy consumption of computers. Very precise power consumption measurements are taken at high frequency on various hardware components of the servers. The metrics are tied to the software running on the server, allowing energy efficiency comparisons between different software applications, different software architecture designs, or different source codes.

Of course, the goal of all this research and the various projects is to get software developers to design energy sensitive software code. The University of Amsterdam already offers a master’s degree in computer science focusing on software engineering and green computing. Hopefully we will see more university programs like this around the world to help prepare the next generation of software engineers to reduce the global footprint of ICT energy consumption.

To wrap up, I’ll leave you with ten best practices for green software that have been provided by the Software Improvement Group. (Get the detailed brochure here.)

  1. Virtualize – Virtualize all the components of the system to allow the sharing of the hardware infrastructure.
  2. Measure – Set up a measurement infrastructure to determine the energy KPIs in operation.
  3. Update material – Replace older hardware with new hardware that offers higher capacity at a lower consumption rate.
  4. Reconsider availability – Consider reducing availability requirements that lead to underutilization.
  5. Optimizing performance – Optimize system performance to reduce capacity demands during peak workloads.
  6. Use energy parameters – Use the energy-efficient settings offered by the hardware and virtualization layer.
  7. Experience – Dare to experiment with alternative designs and configurations.
  8. Limit oversizing – Size the system according to actual current needs, not hypothetical future needs.
  9. Disable environments – Activate test and failover environments only on demand, not continuously.
  10. Match the workload – Know your workload and adapt the system dynamically to it.

Join Network World communities on Facebook and LinkedIn to comment on matters of concern to you.

Copyright © 2014 IDG Communications, Inc.


Comments are closed.