Show simple item record

dc.contributor.authorSingh, Jasmeet 14:15:19 (GMT) 14:15:19 (GMT)
dc.description.abstractThe power cost of running a data center is a significant portion of its total annual operating budget. Although the hardware subsystems, namely, processors, memory, disk, and network interfaces of a server actually consume power, it is the software activities that drive the operations of the hardware subsystems leading to varying dynamic power cost. With the aim of reducing power bills of data centers, "Green Computing" has emerged with the primary goal of making software more energy efficient without compromising the performance. Developers play an important role in controlling the energy cost of data center software while writing code. Bearing green principles in mind during design and coding stages of the software life-cycle can have a great impact on the energy efficiency of the final software product. There are a number of ways to optimize application programs at their design stages but it is difficult for the developers to analyse their applications in terms of power cost on the real servers. Reading big data, moving large amount of data from one server to another, compressing data to gain storage space, and decompressing it back are some key operations that are performed extensively on large scale servers in data centers. In the first part of this thesis, we present the design of an automated test bench to measure the power cost of an application running on a server. We show how our test bench can be used by software developers to measure and improve the energy cost of two Java file access methods. Another benefit of our test bench has been demonstrated by comparing the energy footprint measurements of compression and decompression features provided by two popular Linux packages: 7z and rar. This information will be helpful in choosing a Green Software among others to perform a desired function. In the second part, we show how software developers can contribute to energy efficiency of servers by choosing energy efficient APIs (Application Programming Interface) with the optimal choice of parameters while implementing file reading, file copy, file compression and file decompression operations in Java. We performed extensive measurements of energy cost of those operations on a Dell Power Edge 2950 machine running Linux and Windows servers. Measurement results show that energy costs of various APIs for those operations are sensitive to the buffer size selection. The choice of a particular Java API for file reading with different buffer sizes has significant impact on the energy cost, giving an opportunity to save up to 76%. To save energy while copying files, it is important to use APIs with tunable buffer sizes, rather than APIs using fixed size buffers. In addition, there is a trade off between compression ratio and energy cost: because of higher compression ratio, xz compression API consumes more energy than zip and gzip compression APIs. The third part of the thesis presents a design of a framework in which one developer generates energy cost models for the common design options. Afterwords, other developers can make use of those models to find the energy costs for the same design options instead of direct measurements. Overall, this thesis makes a contribution to reduce the perception gap between high level programs and the concept of energy efficiency.en
dc.publisherUniversity of Waterlooen
dc.subjectenergy performance evaluationen
dc.subjectautomated test benchen
dc.subjectenergy efficient software designen
dc.subjectdeveloper choicesen
dc.subjectenergy cost of softwareen
dc.titleEnergy Performance Analysis of Software Applications on Serversen
dc.typeMaster Thesisen
dc.subject.programElectrical and Computer Engineeringen and Computer Engineeringen
uws-etd.degreeMaster of Applied Scienceen

Files in this item


This item appears in the following Collection(s)

Show simple item record


University of Waterloo Library
200 University Avenue West
Waterloo, Ontario, Canada N2L 3G1
519 888 4883

All items in UWSpace are protected by copyright, with all rights reserved.

DSpace software

Service outages