Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Sustainability in Software Engineering - EclipseCon 2020 Edition

Sustainability in Software Engineering - EclipseCon 2020 Edition

Climate change is one of the most dramatic and urgent challenges we face globally. To fight climate change, every step counts and every single step is important - and necessary. In this talk, we will give an overview about all the different aspects that affect climate change from the software engineering perspective and discuss a number of concrete actions that every software engineer can take (and should keep in mind day-in day-out) to help fight climate change.

D65e990ab4df0d0a75c3b0ae5d036bc5?s=128

Martin Lippert

October 22, 2020
Tweet

Transcript

  1. ©2020 VMware, Inc. Sustainability in Software Engineering How to make

    a difference Martin Lippert Spring Tools Lead, MAPBU, VMware October 2020
  2. 4 Confidential │ ©2020 VMware, Inc. This is a huge

    challenge, and we can make a huge difference. Software is eating the world and can have a huge impact. Let’s not wait for others to solve the problem. Everybody is involved – we all share the same responsibility. 3 ©2020 VMware, Inc. This is a huge challenge, and we can make a huge difference. Software is eating the world and can have a huge impact. Let’s not wait for others to solve the problem. Everybody is involved – we all share the same responsibility.
  3. ©2020 VMware, Inc. 4 Contributions to climate change Greenhouse gases:

    • CO2: 74.36% (carbon) • CH4: 17.32% • N20: 6.19% • F-Gas: 2.13%
  4. 5 ©2020 VMware, Inc. We need to de-carbonize the entire

    world of software engineering
  5. ©2020 VMware, Inc. 6 Employee Commute Energy Production Business Travel

    Food in the office Hardware Hardware Production Heating / Cooling Data Center Operation Network Traffic CPU Cycles Memory Consumption SWAG production Shipping / Transport Energy consumption Where should we start? There is a wide range of topics
  6. ©2020 VMware, Inc. 7 89% 7% 4% Energy - 89%

    Land-use - 7% Industrial processes - 4% What causes carbon emissions?
  7. 8 ©2020 VMware, Inc. Energy Production

  8. ©2020 VMware, Inc. 9 We need 100% renewable energy This

    will take a very long time -> we don‘t have the time to wait for that The energy question
  9. ©2020 VMware, Inc. 10 We need to tackle this from

    both sides Increase renewable energy production Decrease energy consumption
  10. 12 ©2020 VMware, Inc. Energy Consumption

  11. ©2020 VMware, Inc. 13 Employee Commute Energy Production Business Travel

    Food in the office Hardware Hardware Production Heating / Cooling Data Center Operation Network Traffic CPU Cycles Memory Consumption SWAG production Shipping / Transport Energy consumption Where should we start? Energy Consumption
  12. 14 ©2020 VMware, Inc. Easy to remember rule: Try to

    run your software with less hardware
  13. 15 ©2020 VMware, Inc. Step 1: Do not run your

    software
  14. ©2020 VMware, Inc. 16 • run the software only when

    necessary • Scale down (to zero) Scale to zero
  15. ©2020 VMware, Inc. 17 • Almost all datacenters have zombies

    sitting around • They consume energy, space, and hardware – for nothing Eliminate zombies
  16. ©2020 VMware, Inc. 18 VMware Singapore datacenter consolidation in 2019

    • 66% of host machines were zombie & decommissioned Yes, it is Is this real?
  17. ©2020 VMware, Inc. 19 Stanford/Anthesis study on zombies (2017) (Jon

    Koomey) • 16,000 non-virtualized and virtialized physical servers, 10 data centers (multiple companies) • 25% zombie physical servers • 30% zombie VMs More evidence
  18. 20 ©2020 VMware, Inc. Step 2: run your software with

    less energy
  19. 21 ©2020 VMware, Inc. Reduce memory consumption

  20. ©2020 VMware, Inc. 22 Memory constantly consumes energy • 1GB

    RAM consumes about 2W (varying)* Memory efficiency pays off • Let's assume: – Your process runs with 8GB RAM (reserved) – You have 4 instances running – You can reduce that to 6GB RAM • Result: – 2GB RAM saved per instance, total of 8GB saved -> 16W – ~ 140kWh per year Memory (* average rough number, varies depending on type of RAM, power vs. idle mode, and other factors)
  21. 23 ©2020 VMware, Inc. Reduce CPU cycles

  22. ©2020 VMware, Inc. 24 CPUs consume a lot of energy

    • Lets assume an average of 50W* • Lets take a look at a random: – Your process runs on 4 instances (each instance eats 20% of a CPU) – ~350kWh per year CPU cycles
  23. 28 ©2020 VMware, Inc. Where to run the software?

  24. ©2020 VMware, Inc. 29 Data centers have different characteristics •

    AWS: depends on the region whether you run on renewable energy or not • Google: 100% renewable energy • Microsoft: 100% renewable energy • In-house: How do you power your data center? Choose wisely Large scale: Data Centers
  25. ©2020 VMware, Inc. 30 What exactly does „run on 100%

    renewable energy“ mean? • Contract with renewable energy provider? • Generates its own renewable energy? – How much? – All the time? – Or depending on weather conditions? Companies start to choose the location of data centers depending on the availability of renewable energy • But beware a situation where your data center consumes all the available renewable energy (e.g. hydro power), but doesn‘t increase the amount of renewable energy on the grid „My data center runs on renewable energy“ Does this solve the problem?
  26. ©2020 VMware, Inc. 31 Small scale: Kubernetes

  27. ©2020 VMware, Inc. 32 Scheduling depends on a lot of

    factors (latency, availability, etc.) Take sustainability into account • Choose data center in cold regions (less cooling needed) • Choose data center with the most available renewable energy (depending on solar/wind conditions) • Dynamically reschedule when conditions change Schedule your workloads wisely
  28. 40 ©2020 VMware, Inc. Offsetting emissions A topic of its

    own
  29. ©2020 VMware, Inc. 41 Offsetting is generally a good idea

    • Offsetting projects generally do good things • Choose the project wisely, not every offsetting project really pays off BUT: • Offsetting is sometimes used/viewed as clean-washing • Offsetting is just a last resort, it doesn‘t really solve the problem • We need to avoid carbon emissions AND support those projects For example: • Planting trees is a great idea • But the calculation is sometimes off reality – e.g. it takes 20 years for a tree Offsetting emissions
  30. 42 ©2020 VMware, Inc. Principles for sustainable software engineering https://principles.green

  31. 43 ©2020 VMware, Inc. “Sustainability is the next frontier in

    innovation” Nicola Acutt, VMware Sustainability Lead
  32. ©2020 VMware, Inc. Thank You Martin Lippert @martinlippert lippertm@vmware.com