Welcome! Please hold on...

0 %
Kashif Sohail
Sr. Frontend Developer
  • Residence:
    Pakistan
  • City:
    Karachi
  • Age:
    26
Magento 1x 2x
Wordpress
Laravel
Angular
React
English
Urdu
  • Bootstrap, Tailwind
  • Sass, Less, Css
  • Webpack
  • GIT knowledge
0

No products in the cart.

The 10 best tools to green your software

October 3, 2024

[ad_1]

This July the world experienced that According to NASA, the hottest day in history. The graphic below, from a GitHub repository for open access climate visualizationsshows the longer version of this story, in which carbon dioxide and other greenhouse gases have increased since the start of the Industrial Revolution. The impacts are becoming increasingly visible – from severe weather events to record temperatures – such as the hottest day in history. These remind us all of the need to take action, especially those of us who work in the technology industry. As our industry’s energy consumption increases, we believe we have a responsibility to support sustainable practices so that we can reduce the environmental impact of the software we develop.

So how can we accelerate climate progress without hindering innovation? Well, that’s the conversation we want to open within our developer community. And to start, we reached out directly to those who are already making progress in developing environmentally friendly software tools in the open source ecosystem. After reviewing repositories on GitHub that self-identified as a green software tool as their primary purpose, we compiled them into a directory of created resources from our community, for our community. In the end we have GitHub’s green software directory This also includes a comprehensive list of environmentally friendly software tools. Below, we’ve selected some of the most popular repositories in the community – those with more than 250 stars – to help you code sustainably, whether you’re just starting out or a seasoned pro.

TL;DR: What is green software?

Green software is software that emits as little carbon as possible. There are three ways to reduce software carbon emissions: through energy efficiency, carbon awareness and hardware efficiency. Energy efficiency means that your software uses as little power as possible. Hardware efficiency uses as little carbon as possible. And carbon awareness means adjusting your workflows to do more when you use clean power and less when it’s dirty.

Diagram showing the three green software principles: energy efficiency, hardware efficiency and carbon awareness.

1. ScaphandreScaphandre“/>

: 1,500+

Scaphandre [skafɑ̃dʁ] is a metrology company specializing in the measurement of electricity and energy consumption. Use it to measure the power consumption of your technical services and receive this data in a practical form by sending it through any monitoring or data analysis toolchain.

An example dashboard created by Scaphandre detailing electricity consumption and top consumers.

2. KeplerKepler“/>

: 1,100+

Kepler (Kubernetes-based Efficient Power Level Exporter) uses eBPF to examine performance counters and other system statistics, uses ML models to estimate workload energy consumption based on these statistics, and then exports them as Prometheus metrics. Learn more about the energy consumption of Kubernetes components such as pods and nodes here.

Kepler Exporter architecture diagram exposing various metrics related to energy consumption of Kubernetes components such as pods and nodes.

3. Code carbonCode carbon“/>

: 1,100+

A Python package that estimates the power consumption of your hardware (GPU + CPU + RAM) and then applies to it the carbon intensity of the region where the data processing occurs.

Bonus: Checkout mlco2‘s other repository, Effectsto calculate machine learning emissions.

The equation shows that the sum of your hardware energy consumption is made up of GPU, CPU and RAM, which is then multiplied by your regional carbon intensity for electricity.

4. Kube GreenKube Green“/>

: 972+

A simple k8s add-on that automatically shuts down some of your resources when you don’t need them.

Graph showing increasing CPU usage, which is then turned off by Kube Green when it is no longer used.

: 882+

A tool to estimate energy consumption (kilowatt hours) and carbon emissions (tons of CO2e) from public cloud usage.

Charts showing examples of a person's carbon footprint in the cloud.

6. Carbon Aware SDKCarbon Aware SDK“/>

: 456+

A toolset to help you measure your software’s carbon emissions, allowing you to measure and reduce your software’s carbon emissions and decide when and where to run your software to make it more environmentally friendly.

Example chart that measures carbon intensity using a timeline, showing that it's best to run more software during times when your energy is greener and carbon intensity is lower.

Bonus: Check them out Green Software Foundation‘s other repository, Impact frameworkIt is a framework for modeling, measuring, simulating and monitoring the environmental impact of software.

7. CO2.jsCO2.js“/>

: 388+

An open source JavaScript library that allows you to estimate the carbon emissions caused by transmitting bytes of data on the Internet, retrieve various forms of network intensity data, such as: B. Annual average and limit data by country, and can perform automated queries on the Green Web Foundation’s Green dataset of the domain.

Introductory text in the CO2.js README file from their repository.

Bonus: Checkout The Green Web Foundation‘s other repositories, Grid Intensity Gothat helps you consider carbon intensity when making decisions about where and when to run jobs Green Cost Explorerwhich shows you your climate-related spending analysis for AWS, and carbon.txtThis allows providers of digital services to prove that their digital infrastructure is powered by green electricity.

8. Carbon trackerCarbon tracker“/>

: 356+

Track and predict your energy consumption and carbon footprint when training deep learning models.

Introductory text in Carbontracker's README file from their repository.

9. Kernel tunerKernel tuner“/>

: 269+

Build optimized GPU applications in any popular GPU programming language (CUDA, HIP, OpenCL, OpenACC).

Overview of the Kernel Tuner ecosystem, including Kernal Launcher, Kernel Float, and Kernal Dashboard.

10. Experiment Impact TrackerExperiment Impact Tracker“/>

: 266+

A simple, drop-in method to track your system’s energy consumption, carbon emissions and compute utilization.

Introductory text in the experiment-impact-tracker README file from their repository.

We found a few other great measuring tools from Green coding solutions you should look at this: Eco CIa project to estimate energy consumption in continuous integration (CI) environments, and Green metrics toolwhich measures the energy and CO2 consumption of software through a software life cycle analysis (SLCA).

Do you know of a green software repository that we missed? Let us know! This list is intended to grow and evolve, so we welcome any suggestions from our community on how we can improve it. And remember, this is just the beginning of the conversation. So stay tuned as we continue to share knowledge from our community and develop new resources to help you code more sustainably!

Written by

Paull Young

[ad_2]

Source link

Posted in TechnologyTags:
Write a comment