Skip to content

3.0 - Energy Efficiency

3.1 - Introduction

  • The energy efficiency principle is simple: Use the least amount of energy possible

  • Energy = Ability to do work

  • Multiple forms of energy exist and can each be converted to another in some form e.g. chemical to electrical conversion happens during coal burning.
  • In the example above, electricity is the secondary energy converted from another type; this allows measurement of electricity usage.

  • All software consumes electricity, the best way to reduce consumption and subseqeuent carbon emissions is to make applications more efficient.

  • Additionally, green software practitioners take responsibility for the energy consumed by their products, and design them to consume as little as possible by default.

  • At every step of the process, the waste between steps should be minimised and efficiency should be maximised.

  • The final area of consideration is the user, how can, when they're running the application, minimise their unnecessary emissions.

  • This is managed by how the application is designed, such as batching jobs together.

3.2 - Energy Efficiency

Fossil Fuels and High-Carbon Sources of Energy

  • Most electricity is produced via fossil fuel burning.
  • The fuels are made from decomposing plants and animals, found within the earth's crust, and comprise of carbon and hyrdrogen.
  • Typical examples: coal, oil, natural gas.

  • As most electricity comes from fossil fuels, the most significant carbon emission cause, one can immediately see how tightly linked electricity usage is to fossil fuel emissions.

  • To be carbon efficient, one therefore needs to be energy efficient as energy is a proxy for carbon.

Low-Carbon Sources of Energy

  • Clean energy comes from renewable, zero-emission sources that don't pollute the atmosphere when used.
  • They also save enrgy through energy efficient practices.
  • There are often overlaps between clean, green, and renewable energy sources, key differences include:
  • Clean Energy - Doesn't produce carbon emissions e.g. nuclear
  • Green energy - relies on sources from nature
  • Renewable Energy - sources don't expire e.g. solar, wind

Energy Measurement

  • Energy is measured in Joules (J); the SI unit of energy.
  • Power is measured in watts (W), 1W = 1 Joule per second
  • Kilowatt (kW) = 1000 Joules per second
  • kilowatt-hour (kWh) = measure of energy corresponding to 1 kilowatt sustained for 1 hour.

Improving Energy Efficiency

Power Usage Effectiveness

  • Data centers use Power Usage Effectiveness (PUE) to measure data center energy efficiency.
  • This defines how much energy the infrastructure uses compared to cooling and other supporting overheads.
  • Examples:
  • 1.0 - Computing is using nearly all the enrgy
  • 2.0 - An additional watt of IT power is needed to cool and distribute power to the infrastructure for every watt it uses.
  • Effectively, PUE = a multiplier to an application's energy consumption.
  • Example: if an application uses 10kWh and the data center's PUE is 1.5, the actual consumption is 15kWh; 5kWh goes towards operational overhead of the data center and 10kWh is used to run the application.

Energy Proportionality

  • Measures the relationship between power consumed by a computer and the rate at which useful work is done (its utilization).
  • Utilization = how much of a computer's resources are used, usually expressed as a percentage.
  • Power usage and utilization isn't proportional or linear in relationship, plateuing at high power usage.
  • The more a computer is utilized, the more efficient it becomes at converting electricity to computation operations.
  • To improve hardware efficiency, workloads should be run on as few servers as possible; this would maximise utilization rate and therefore energy efficiency.

Static Power Draw

  • How much electricity is drawn when in an idle state.
  • Typically varies by configuration and hardware components, but all parts have it.
  • It's the reason that lots of devices have power-saving modes; where the screen and disk are put to sleep, or the CPU's frequency is changed.
  • These modes save electricity, but typically have adverse effects on performance e.g. slow restarts.

  • Servers aren't typically configured for aggresive or minimal power saving.

  • Typical use cases for servers demand total capacity as quickly as possible, as the server needs to respond to rapidly changing demands.
  • This leads to many servers in idle modes during low demand periods; which incurs carbon costs from both embedded carbon and inefficient utilization.

Summary

  • Electricity is a proxy for carbon, so building an application that is energy efficient is equivalent to building an application that is carbon efficient.
  • Green software takes responsibility for its electricity consumption and is designed to consume as little as possible.
  • Quantifying the energy consumption of an application is a step in the right direction to start thinking about how an application can operate more efficiently. However, understanding your application's energy consumption is not the only story.
  • The hardware your software is running on uses some of the electricity for operational overhead. This is called power usage efficiency (PUE) in the cloud space.
  • The concept of energy proportionality adds another layer of complexity since hardware becomes more efficient at turning electricity into useful operations the more it's used.
  • Understanding this gives green software practitioners a better insight into how their application behaves with respect to energy consumption in the real world.