Green software richt zich op reductie van het energieverbruik van applicaties. Omdat feitelijk de hardware de energie verbruikt, zullen metingen op hardwareniveau moeten worden vertaald naar een niveau waar de softwareontwikkelaars iets mee kunnen. In deze blog vertel ik hoe deze vertaalslag er voor een softwareproduct uitziet.
Beheerders van datacentra monitoren het energieverbruik van hun IT-omgeving op globaal niveau, bijvoorbeeld per serverrack. Hierdoor kunnen zij inspelen op veranderingen in de behoefte en zorgen zij ervoor dat applicaties altijd voldoende resources beschikbaar hebben. Dit is essentieel in het geval van Software as a Service (SaaS), zodat te allen tijden kan worden gegarandeerd dat eindgebruikers de dienst naar behoren kunnen gebruiken.
Energiemetingen op het niveau van serverracks zijn echter niet toereikend om het energieverbruik van software te verminderen. Op dit niveau spelen teveel factoren mee (bijvoorbeeld andere software), waardoor het onmogelijk is om energieverbruik eenduidig toe te kennen aan een specifiek stuk software. Hiertoe is een vertaalslag nodig die kan worden gemaakt met de zogenaamde viewpoint catalog.
Viewpoint catalog op energieverbruik
Met de viewpoint catalog kan het ontwerp van desoftware op een gestructureerde manier worden onderzocht. De catalog omvat verschillende invalshoeken die specifieke aspecten van de software zichtbaar maken en wordt gebruikt om te evalueren of de software aan bepaalde eisen voldoet. Is dit niet het geval, dan helpen de verschillende invalshoeken bij het bepalen van een strategie om dat te veranderen.
Om het ontwerp van de software in verband te brengen met het energieverbruik, zijn er negen kernpunten geïdentificeerd voor de verschillende invalshoeken. Deze kernpunten specificeren welk inzicht een invalshoek moet geven in relatie tot het energieverbruik van een softwareproduct.
1. Allereerst is het belangrijk om te bepalen hoe de software kan bijdragen aan strategische doelen. Dit kan bepalend zijn voor de oplossingsrichting en de metingen die moeten worden uitgevoerd (onder andere hoe gedetailleerd ze moeten zijn). Dus: bedenk welke metrieken relevant zijn in relatie tot een specifiek doel.
2. Gezien de rol van hardware, ligt het voor de hand om te onderzoeken of er optimalisaties kunnen worden doorgevoerd op hardwareniveau. Soms zijn hardwarematige aanpassingen voldoende zijn om een doel te behalen. Dit scheelt weer aanpassing van de software, wat doorgaans een intensiever traject is.
3. Voor een softwarematige oplossing is een overzicht nodig van waar de software wordt uitgevoerd. Hierbij is het van belang om te identificeren welke hardware betrokken is en hoe hiervan het energieverbruik te meten is. In geval van bijvoorbeeld virtualisatie is er ook inzicht nodig in hoe de belasting wordt verdeeld over de hardware.
4. De vertaling van het energieverbruik naar de software wordt gedaan met softwareprocessen. Voor elk proces (of ‘executable’) kan worden gespecificeerd welke hardware dat proces uitvoert. De voorbereidingen bij punt 3 maken het mogelijk om energieverbruik specifiek aan deze processen te relateren.
5. Vanuit softwareprocessen is het mogelijk om de vertaling te maken naar de functionele software-elementen die de processen omvatten. Deze vertaling vormt hiermee de brug tussen software-elementen en de installatie van deze elementen op hardwareniveau.
6. Ook is het belangrijk om bepalen welke processen gelijktijdig kunnen worden uitgevoerd. De truc hierbij is om een optimum te vinden tussen het gelijktijdig uitvoeren van de processen en de middelen die nodig zijn om de uitvoering te coördineren.
7. Vanuit de functionele elementen kunnen we via processen de weg terug volgen naar de hardware. Zodoende kan het energieverbruik per (groep van) functionele elementen worden bepaald en zijn de interessante plekken in de software, de ‘hot spots’, te identificeren.
8. Een prominent onderdeel van een softwareproduct zijn de informatiestromen erin. Om bijvoorbeeld het gelijktijdig uitvoeren van processen mogelijk te maken, dienen de informatiestromen dit toe te laten. Als processen op elkaar moeten wachten voor het verwerken van informatie, is het zaak de stromen te optimaliseren.
9. Nu helder is welke software-elementen interessant zijn in relatie tot het energieverbruik en welke informatie daarbij relevant is, kunnen ontwikkelaars concreet aan de slag. Zij hebben een beperkte context, in plaats van een volledig softwareproduct, waarin zij groene algoritmes kunnen toepassen. Dit beperkt de complexiteit van de werkzaamheden.
De flow van de kernpunten geprojecteerd op de viewpoint catalog.
De impact van ontwerpbeslissingen
Om de ontwerpbeslissingen onder controle te houden, is een energy consumption perspective gecreëerd. Een perspective is een set van activiteiten, richtlijnen en bekende oplossingen om ervoor te zorgen dat een systeem voldoet aan de gewenste kwaliteitseisen. Een uitgebreidere toelichting van het energy consumption perspective is te vinden in dit wetenschappelijke paper.
Tot nu was reductie van het energieverbruik van software het voornaamste doel. Maar ontwerpbeslissingen hebben ook impact op andere aspecten van een systeem, waardoor een simpele reductie van het energieverbruik niet altijd de meest duurzame beslissing is voor de lange termijn.
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.
7 november (online seminar op 1 middag)Praktische tutorial met Alec Sharp Alec Sharp illustreert de vele manieren waarop conceptmodellen (conceptuele datamodellen) procesverandering en business analyse ondersteunen. En hij behandelt wat elke data-pr...
18 t/m 20 november 2024Praktische workshop met internationaal gerenommeerde spreker Alec Sharp over het modelleren met Entity-Relationship vanuit business perspectief. De workshop wordt ondersteund met praktijkvoorbeelden en duidelijke, herbruikbare ...
De DAMA DMBoK2 beschrijft 11 disciplines van Data Management, waarbij Data Governance centraal staat. De Certified Data Management Professional (CDMP) certificatie biedt een traject voor het inleidende niveau (Associate) tot en met hogere niveaus van...
3 april 2025 (halve dag)Praktische workshop met Alec Sharp [Halve dag] Deze workshop door Alec Sharp introduceert conceptmodellering vanuit een non-technisch perspectief. Alec geeft tips en richtlijnen voor de analist, en verkent datamodellering op c...
10, 11 en 14 april 2025Praktische driedaagse workshop met internationaal gerenommeerde spreker Alec Sharp over herkennen, beschrijven en ontwerpen van business processen. De workshop wordt ondersteund met praktijkvoorbeelden en duidelijke, herbruikba...
Alleen als In-house beschikbaarWorkshop met BPM-specialist Christian Gijsels over business analyse, modelleren en simuleren met de nieuwste release van Sparx Systems' Enterprise Architect, versie 16.Intensieve cursus waarin de belangrijkste basisfunc...
Deel dit bericht