Show simple item record

dc.contributor.authorDipanzan, Sarwat Islam
dc.date.accessioned2023-10-19T17:58:07Z
dc.date.available2023-10-19T17:58:07Z
dc.identifier.urihttp://hdl.handle.net/10464/18175
dc.description.abstractSoftware efficiency has taken a toll in recent times and code quality and optimization is often an afterthought nowadays. Also there exists no standard operating system support or unified tooling to gather fine grained energy consumption data about source code. Current tooling that exist tackles this problem by running the entire process/application as a whole, therefore localizing the exact part in source code is a blind endeavour. It is also time consuming and expensive to improve such efficiency concerns during the development phase. Coupled with the fact that recent hardware leaps has made it possible to write non-performant software to run relatively fast without much regards to code efficiency. The downside to this phenomenon is that, the hardware compensates for bad code quality by using far more resources increasing energy usage. In this thesis, we focus on an energy centric view of running applications and devise tooling to assist the software developer when choosing libraries, frameworks, programming languages and critical architecture designs. We propose a standard unified way of gathering energy consumption data from the operating system kernel and propose two solutions: a kernel energy module and associated energy reading libraries. The objective is to introspect process/applications without massively altering source code. The idea is to probe into source code and gather energy data for comparison against different implementations to create awareness amongst software developers. The tooling is designed to be application and programming language agnostic so that it can infer runtime metrics without much assumption of the underlying software. This allows to gather virtually any scenario and compare software models with different versions, environments and systems. The thesis also does extensive machine-learning tests using different libraries and synthetic datasets to shed light on ML experiments and their energy consumption. Together with these approaches, the developers can make informed decisions about which part to prioritize improvement and achieve greener software.en_US
dc.language.isoengen_US
dc.publisherBrock Universityen_US
dc.rightsCC0 1.0 Universal*
dc.rights.urihttp://creativecommons.org/publicdomain/zero/1.0/*
dc.subjectenergy, pmc, kernel, agnostic, languagesen_US
dc.subjectsoftwareen_US
dc.titleLanguage Agnostic Software Energy Kernel Frameworken_US
dc.typeElectronic Thesis or Dissertationen_US
dc.degree.nameM.Sc. Computer Scienceen_US
dc.degree.levelMastersen_US
dc.contributor.departmentDepartment of Computer Scienceen_US
dc.degree.disciplineFaculty of Mathematics and Scienceen_US


Files in this item

Thumbnail
Name:
Brock_Sarwat_Dipanzan_2023.pdf
Embargo:
2024-10-16
Size:
4.237Mb
Format:
PDF
Description:
MSc Thesis

This item appears in the following Collection(s)

Show simple item record

CC0 1.0 Universal
Except where otherwise noted, this item's license is described as CC0 1.0 Universal