Duurzaamheid is in de afgelopen jaren een terugkerend onderwerp op de agenda’s van bedrijven geworden. Ondernemend Nederland manifesteert zich op meerdere aspecten als duurzaam en maakt goed gebruik van de mogelijkheden die IT hiervoor biedt. Een onderwerp wat helaas minder vaak op de agenda’s staat, is groene software.
In het streven naar duurzaamheid is er een duidelijke rol weggelegd voor IT als middel om processen en zelfs sectoren als geheel duurzamer te maken. Denk bijvoorbeeld aan een ‘paperless office’ of ‘videoconferencing’. De veronderstelling hierbij is dat een nieuwe IT-oplossing duurzamer is dan het huidige alternatief. Bij IT denkt men vaak aan de fysieke apparaten die nodig zijn, oftewel de hardware, en de energie voor het gebruikmaken van deze apparaten. Maar vergeet ook de rol van software niet.
De impact van de software is duidelijk zichtbaar in de smartphonesector, waar de levensduur van de batterij bepalend is. Een simpele app die slecht geprogrammeerd is, kan er eigenhandig voor zorgen dat een batterij sneller leeg raakt. Maar ook de toestellen zelf zijn een goed voorbeeld. Inmiddels hebben we quad-core processoren, die gepaard gaan met een grotere batterij en grafische chips in onze broekzak. Hoewel er voor de gebruikers op het oog vaak niet veel verandert, vergen updates van iOS, Android of Windows Mobile deze krachtige hardware voor een soepele ervaring.
De vertaling naar de meer traditionele softwaremarkt wordt nog door weinigen gemaakt. Immers heeft een server of desktop geen batterij en kan deze blijven draaien zolang gewenst. Daarnaast is de gedachte dat de komst van cloudoplossingen automatisch betekent dat alles energie-efficiënter wordt. Duurzamer worden betekent over het algemeen investeren in nieuwe, energiezuinigere hardware.
Onderzoek
Hoewel hardware de energie gebruikt, is het de software die de hardware aanstuurt. Met deze gedachte zijn we vijf jaar geleden gestart om te onderzoeken wat de rol van software precies is, aangezien het ontwikkelen van software onze core business is. Het streven hierbij is om de servers efficiënter aan te sturen; hetzelfde rekenwerk verrichten maar hier minder resources (waaronder energie) voor nodig hebben. Daarmee willen we de cyclus doorbreken om rekenkracht te moeten toevoegen, omdat de software zelf inefficiënt is.
In een eerdere blog heb ik geschreven over de problematiek rondom het meten van het energieverbruik van software. Uit de eerste experimenten is gebleken dat de beschikbare softwaretools voor het uitvoeren van de metingen minder accuraat zijn dan metingen met hardware. Daar staat tegenover dat softwaretools op een fijnmaziger niveau kunnen meten en dat hardwaremetingen een grotere investering vereisen voordat je aan de slag kan. De ideale oplossing lijkt vooralsnog een combinatie van beiden.
In recenter onderzoek hebben we deze combinatie toegepast en een veelbelovend eerste resultaat geboekt door een energiebesparing van ruim 67% te realiseren bij een van onze producten. We hebben de aanpassing in de software doorgevoerd vanuit de architectuur, een soort blauwdruk voor de software, die voor een groot deel bepalend is voor de kwaliteitsaspecten van de software. Naast het energieverbruik zagen we ook dalingen in andere resources zoals tijd en CPU-gebruik, wat bevestigt dat software en hardware hier nauw met elkaar verbonden zijn. In een volgende blog ga ik dieper in op de methodiek die tot dit resultaat heeft geleid.
Voor | Na |
41 minuten en 49 seconden | 39 minuten en 14 seconden |
49% CPU gebruik | 19.2% CPU gebruik |
17560 Joule totaal | 5782 Joule totaal |
Figuur 1: het processorgedrag vóór (rood) en na (blauw) de aanpassing. De grafiek toont aparte lijnen voor elke processorkern.
Waar willen we naartoe?
Dat IT kan bijdragen aan verduurzaming is duidelijk, en dat software hier een rol in speelt ook. Mijn streven is om softwareproducten door te meten op het energieverbruik en dit bewust mee te nemen tijdens de ontwikkeling. Samen met de andere kwaliteitsaspecten van software zal het inzicht van deze metingen leiden tot ontwerpkeuzes die kwalitatief betere en meer duurzame software opleveren.
Erik Jagroep is werkzaam bij Centric als consultant en deeltijd promovendus aan de Universiteit Utrecht. Zijn promotieonderzoek richt zich op het ontwikkelen van duurzame softwareproducten.
Zeer interessant Erik en innovatief dat je hier naar kijkt. Keep up the good work!