Dynamic macro to micro scale calculation of energy consumption in CI/CD pipelines
2023 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE credits
Student thesisAlternative title
Dynamisk beräkning av energiförbrukning i CI/CD-pipelines från makro- till mikroskala (Swedish)
Abstract [en]
This thesis applies energy measurements to the domain of continuous integration (CI) and continuous delivery (CD) pipelines. The goal is to conduct transparent and fine-granular energy measurements of these pipelines, increasing awareness and allowing optimizations regarding their energy efficiency. CI and CD automate processes like compilation, running tests, and code analysis tools and can improve the software quality and developer experience and enable more frequent releases. Initially, the applicability of existing energy measurement approaches for these tasks is analyzed. Afterward, a generic framework consisting of a pipeline run analyzer, a resource consumption collector, and an energy calculator is proposed. A representative implementation for a state-of-the-art infrastructure is devised to demonstrate its functionality, enabling the collection, analysis, and interpretation of data from real-world examples. Finally, it is examined whether this data aligns with the theoretical considerations and can be used to optimize the pipelines. The overall goal is to contribute to the sustainability of DevOps processes and therefore counteract the disastrous consequences of unrestrained climate change.
Abstract [sv]
Denna avhandling tillämpar energimätningar på området kontinuerlig integration (CI) och kontinuerlig leverans (CD). Målet är att genomföra transparenta och finkorniga energimätningar av dessa pipelines, vilket ökar medvetenheten och möjliggör optimeringar av deras energieffektivitet. CI och CD automatiserar processer som kompilering, testkörning och kodanalysverktyg och kan förbättra programvarukvaliteten och utvecklarens upplevelse samt möjliggöra tätare lanseringar. Inledningsvis analyseras tillämpligheten av befintliga metoder för energimätning för dessa uppgifter. Därefter föreslås ett generiskt ramverk som består av en analysator för pipelinekörning, en insamlare av resursförbrukning och en energikalkylator. För att demonstrera dess funktionalitet utarbetas en representativ implementering för en modern infrastruktur som möjliggör insamling, analys och tolkning av data från verkliga exempel. Slutligen undersöks om dessa uppgifter stämmer överens med de teoretiska övervägandena och kan användas för att optimera rörledningarna. Det övergripande målet är att bidra till hållbarheten i DevOpsprocesser och därmed motverka de katastrofala konsekvenserna av ohämmade klimatförändringar.
Place, publisher, year, edition, pages
2023. , p. 71
Series
TRITA-EECS-EX ; 2023:521
Keywords [en]
GreenIT, Sustainability, Energy measurement, Software Engineering, CI/CD pipelines, DevOps
Keywords [sv]
GreenIT, hållbarhet, energimätning, programvaruteknik, CI/CD-pipelines, DevOps
National Category
Computer Sciences
Identifiers
URN: urn:nbn:se:kth:diva-337164OAI: oai:DiVA.org:kth-337164DiVA, id: diva2:1800443
External cooperation
Siemens
Subject / course
Computer Science
Educational program
Master of Science - Computer Science
Supervisors
Examiners
2023-09-282023-09-262023-09-28Bibliographically approved