8 tips om software energiezuinig te maken
Door software anders te programmeren is 20% tot 40% te besparen op de totale energiekosten van de ICT. Acht tips om met vrij eenvoudige ingrepen in bestaande programmatuur applicaties een stuk zuiniger te maken.
"Er is de afgelopen jaren erg veel goed werk verricht op het gebied van groene ICT", zegt Joost Visser van de Software Improvement Group (SIG) en voorzitter van het Knowledge Network Green Software (KNGS) tevreden. "Dankzij bijvoorbeeld het MJA3 convenant (pdf) gingen Datacenters letten op hun energieverbruik. Chips werden steeds zuiniger. Op het gebied van software gebeurde er echter nog niet veel. Daar is nog veel terrein te winnen".
Het KNGS, dat afgelopen week van start ging, moet daar verandering in brengen. Het door Agentschap NL opgerichte kennisnetwerk bevat onder andere experts van TNO, de Vrije Universiteit Amsterdam, Capgemini, Green IT Consortium Amsterdam, SIG en Rabobank. Doel is door workshops te geven en de industrie bij elkaar te brengen kennis omtrent het zuiniger maken van software te verspreiden. Volgens onderzoeken van de SIG kan een organisatie wel 20 tot 40 procent van het energieverbruik van de IT terugdringen.
Dat de IT-industrie eerder vooral aandacht schonk aan het vergroenen van hardware is volgens de KNGS-voorzitter wel te begrijpen. "Om software energiezuinig te maken moet je je verdiepen in de processen bij de bedrijven zelf. Dat is lastig. Daarbij schenken programmeurs doorgaans maar weinig aandacht aan de energieconsumptie. Het is voor ons daarom in de eerste plaats zaak bewustzijn te creëren bij de mensen", zegt hij. "Men moet zich realiseren dat het uitmaakt of je linksom of rechtsom programmeert."
Volgens Visser is het van groot belang dat bedrijven op hun uitstoot gaan letten. Momenteel gaat zo'n 7,5 procent van alle energie in Nederland op aan ICT. In 2020 zal dat zijn verdubbeld. Tegelijkertijd worden grondstoffen steeds schaarser en wordt het voor energiebedrijven steeds lastiger stroom te leveren. "Er bestaat een reële kans dat de stroom op een gegeven moment niet meer geleverd kan worden."
Het efficiëntste is natuurlijk al bij de ontwikkeling van programma's het energieverbruik mee te nemen in de requirements, maar helaas werken de meeste bedrijven al met software waarin geen rekening gehouden is met het energieverbruik. Niet getreurd, volgens het 'green team' van het KNSG kun je achteraf vaak met eenvoudige aanpassingen bestaande applicaties efficiënter laten werken. Ze kwamen met een achttal 'quick wins':
1. Laat meerdere applicaties op shared servers draaien
Wanneer elke applicatie enkel op zijn eigen server draait, moet een bedrijf voor elke applicatie permanent een server in de lucht houden. Omdat applicaties maar zelden permanent gebruikt worden, betekent dat dat een hele reeks servers een groot deel van de tijd nodeloos stroom staat te verbruiken. Door applicaties in een shared omgeving te draaien (waarbij meerdere applicaties naast elkaar op dezelfde server draaien), kan een bedrijf met minder servers toe. Veel applicaties kunnen met enkele eenvoudige ingrepen geschikt worden gemaakt voor shared servers. Een andere mogelijkheid is om via servervirtualisatie meerdere 'virtuele' dedicated servers op een enkele fysieke server te laten draaien.
2. Verbeter de vertaalslag tussen softwarecomponenten
Om computercomponenten te laten samenwerken in een netwerk is het soms nodig de data te vertalen die ze uitwisselen. Zo kan er bijvoorbeeld een firewall of een proxyserver zijn geplaatst tussen de samenwerkende onderdelen, waardoor vertaling nodig is. Die vertaalslag gebeurt veelal op een erg inefficiënte manier. Zo is de schakeling soms onnodig ingewikkeld, waardoor de data een aantal keer wordt omgezet in plaats van eenmalig. Bovendien leveren de verschillende transities onnodig grote bestanden op. Dergelijke vertaalstappen vereenvoudigen kan energiebesparingen opleveren.
3. Verklein de resolutie van plaatjes en verzend ze minder vaak
Mobiele applicaties die gebruik maken van plaatjes moeten vaak een netwerkverbinding leggen om het plaatje op te halen van de server. Het dataverkeer dat hiermee gegenereerd wordt kost veel stroom en kan vaak eenvoudig worden teruggedrongen. Zo zijn de plaatjes veelal onnodig groot. Ook kan het plaatje in het cachegeheugen bewaard worden, waardoor het niet meer nodig is het plaatje steeds mee te zenden.
4. Laat applicaties minder activiteiten vastleggen
Alle handelingen die door een applicatie worden uitgevoerd, worden vastgelegd in log-files. Log-files zijn met name nuttig bij de ontwikkeling van software, waarbij het zaak is alle handelingen weg te schrijven. Wanneer de applicatie eenmaal af is, is uitgebreide vastlegging niet meer nodig. Door de regels voor de hoeveelheid weg te schrijven handelingen aan te passen, voorkom je nodeloze systeembelasting door het wegschrijven van log-files.
5. Gooi historische gegevens weg als je ze niet gebruikt
Applicaties die bedrijfsprocessen ondersteunen slaan vaak gegevens op over uitgevoerde taken. Het is best voorstelbaar dat het soms handig is dat soort data nog te kunnen oproepen, maar het levert wel een enorme berg gegevens op die in de praktijk maar zelden worden ingekeken. Dat is zonde, want de data worden wel steeds bij het opstarten van de applicatie opgehaald, wat tijd en energie kost. Bovendien kosten die datasets opslagruimte, waardoor wellicht extra capaciteit nodig is, wat ook weer tijd, geld en energie kost. Door de zinloze records te zuiveren hoeft er minder data opgehaald en opgeslagen te worden en kan het energieverbruik van een applicatie worden teruggebracht.
6. Compileer applicaties in programmeertalen die gebruik maken van een interpreter
Veel applicaties zijn geschreven in een programmeertaal die gebruik maakt van een interpreter, die de programmatekst tijdens het gebruik van de applicatie naar machinecode vertaalt. Deze constructie kost de computer extra rekenkracht. Voor veel programmeertalen, zoals php, is vaak ook een compiler beschikbaar die de programmatekst éénmaal vooraf vertaalt. Dat maakt de rekentaak aanmerkelijk lichter. Applicaties kunnen vaak met eenvoudige ingrepen geschikt gemaakt worden voor compilers.
7. Zorg ervoor dat protocollen niet onnodig veel contact maken
Server-cliënt applicaties op mobiele telefoons maken om de zoveel tijd even contact met hun host om informatie door te geven of op te vragen. Het kost een apparaat betrekkelijk veel stroom om zo'n verbinding op te zetten. Efficiënter is in één keer veel info te versturen. Door het radioverkeer anders in te richten en meer of grotere datapakketten in één keer te verzenden kan energie worden bespaard. Een data-entry applicatie kan bijvoorbeeld zo worden ingericht dat hij pas contact met de server maakt als alle schermen zijn ingevuld, in plaats van voor ieder scherm een apart bericht te versturen.
8. Zet zinloze features van software uit
Om de gebruiksomgeving er zo mooi mogelijk uit te laten zien worden vaak allerlei grafische extraatjes toegevoegd aan onze programma's en besturingssystemen. De gebruikerservaring wordt daardoor beter, maar je kunt je ook afvragen of het altijd evenveel nut heeft. Het is bijvoorbeeld echt niet nodig dat het pijltje van je computermuis een schaduw heeft. Veel van dat soort zaken kun je gewoon uitzetten, waardoor het besturingssysteem sneller werkt en minder stroom verbruikt.
Nu op
- ADV:2e webcast Nationaal Privacy Debat
- Facebook zit in de kleinste haarvaten...
- Kliksafe en Solcon vechten netneutral...
- NPD: bedrijven en je data (video)
- Hoge Raad overweegt downloadverbod pl...
- Service pack Avira crasht Windows-pc's
- EC houdt Microsoft in de gaten in nie...
- .nl krijgt DNSSEC breder doorgevoerd
- Apple krijgt patent op virtuele shift...
- Nieuwe functies Chrome 19 liggen acht...
- 10 tips om Android nóg beter te make...
- 'Google komt met 5 verschillende Nexu...
Nu op
- ADV:2e webcast Nationaal Privacy Debat
- Een goed cv opstellen: zo moet het
- Leidinggevenden meeste bezig met soci...
- Nederlandse bedrijven bezorgd over cl...
- E-mail minder, leef langer
- Windows 8 minder populair dan 7 destijds
- 'Goedaardige virussen nodig voor secu...
- Cloud: riskant maar toch gebruiken
- Kleine organisaties vaker doelwit ger...
- 'Huur ontwikkelaars in die deelnemen ...
- Wakker worden, uw bedrijf werkt al in...
- Zijn BYOD-werknemers productiever?



