What comes to your mind when you hear the words like green energy, sustainability, reuse, recycle, low carbon footprint, reduced energy consumption? I asked my friend and he thought I was talking about an eco-friendly home. Would you be surprised if I told you that these terminologies also apply to information technology in a similar context? Organizations across the globe are now progressing towards reducing TCE, Total Cost to Environment. Yes! Sustainable IT is a thing and it is very essential for a green and prosperous future for our planet.

WHY DO WE NEED SUSTAINABLE IT?

Execution of a computer program consumes resources. When I say resource, I do not just mean electricity. Memory, the power needed to cool the generated heat are also to be considered while calculating consumed resources.

Web-based applications that run on phones and computers additionally use data services to communicate with data centers/servers. Higher the data exchange between the handheld device and the server, the greater is the heat dissipation at the data centers. The hardware components do not work well at temperatures above a certain threshold. Hence the data centers need to be cooled explicitly, thus leading to more energy consumption. It is estimated that data centers constitute nearly 2% of the world’s electricity consumption.

It is possible to reduce the consumption of electricity by computing devices if we adopt a greener and optimized approach to computer programming. Reduced wastage of electricity in turn contributes to environmental conservation leading to a more cooperative arrangement between humans and nature.

WHAT IS SUSTAINABLE IT AFTER ALL?

The term sustainability applies to both hardware and software parts of the computing device. The intention here is that the progress in technology and communication shall not harm the wellbeing of the environment. The motto of sustainable computing is to not compromise either on technological progress or on environmental conservation.

In the forthcoming paragraphs, we focus on the software factors that constitute what is known as green computing, to aid in sustainable IT. Ideal place to implement sustainable measures is the data centre which houses a large array of servers and is a consumer of copious amounts of electrical power.

WHAT CAN BE DONE AT DATA CENTERS?

Geographical distribution and assignment

When a user’s device requests certain data, it is cheaper to send the data from a center that is geographically closer to the device than the one which is in a different continent altogether. Algorithms that facilitate such distributions are the need of the day for greener computing.

Intelligent distribution of server load

For large servers,computation load can be evenly distributed. That is, background tasks of lesser priority can be made to run whenever the data center caters to reduced user traffic.  This will ensure efficient use of continuous power supply and reduced wastage of supplied power.

It is also possible to save a considerable amount of energy by designing the user hardwares like mobile phones, home assistants, and other consumer electronics intelligently.

SUSTAINABILITY FROM A HARDWARE PERSPECTIVE

Most of the time, programs do not utilize the capacity of the computers they run on to 100%. A lot of applications are profitable to be run on publicly hosted cloud platforms than investing in local servers. This will result in power savings which would otherwise be spent on keeping the local servers running even when it is not utilized to its max capacity. Hardware at the cloud can be optimized to cater to other programs when the user demand at one terminal reduces.

Moving the execution to the cloud also reduces the amount of e-waste produced.

SOFTWARE SOLUTIONS FOR SUSTAINABILITY

Computer application developers can also greatly contribute to a greener computation environment by writing applications that are energy and data efficient. Some ways to do the same are listed below.

Introduce sleep modes

Hardware consumes less energy when fewer applications are running on it. Developers can explore the possibility of launching an application only if the user wants it to run. And when no applications are running on the hardware, it can be designed to switch to low energy consuming ‘sleep mode’. This behaviour can also be adapted as an event-driven software.

Event-driven software

The applications are to be designed such that the hardware does not ‘wake up’ from sleep mode unnecessarily and frequently. A transition from sleep mode to normal running mode should happen only if there is a request to do so. This request can be in the form of a hardware/non maskable software interrupt or a synchronisation event provided by the OS.

Timer synchronisation

While designing the applications for embedded systems, be mindful of the timer resolution at the hardware the application is targeted for. If you design your application to run every 50ms but the hardware gives timer interrupts at every 30ms, your application would be delayed by 10ms. If your application is for programming the hardware to go to sleep, a delay of 10ms will cost you in terms of energy expenditure. 

On the contrary, if the hardware has a provision for timer interrupts every 1ms, it is not necessary for you to make your applications run in that raster. Unnecessary execution of programs also drains out the energy source. It is hence important to assess the demand and pick the most optimal time raster to run your application.

It is always a good idea to estimate the resource consumed once you finish coding for your feature.There are several tools available to measure the energy consumption of an application. Some examples are Joulemeter and phoenix.

CONCLUSION

It is safe to conclude that the lesser a program utilizes resources such as power, data, and memory, the better it is for the environment. A sustainable IT solution shall see to it that there is no wastage of resources at the user end, at the communication channel as well as at the data centre. Further on, if the data centers are powered by renewable energy resources, it would prove to be a great leap in the steps taken to ensure sustainability and that technological advancements and conservation of the environment move hand in hand. Here is how smart cities around the world are taking small steps towards sustainability with the help of IoT.