Show simple item record

dc.contributor.authorGao, Zehan
dc.date.accessioned2022-09-29 14:10:38 (GMT)
dc.date.available2023-09-30 04:50:05 (GMT)
dc.date.issued2022-09-29
dc.date.submitted2022-09-26
dc.identifier.urihttp://hdl.handle.net/10012/18842
dc.description.abstractResource management is one of the main responsibilities of operating systems. In Linux, the Completely Fair Scheduler (CFS) allocates CPU time to processes, allowing them to share CPU time. Although effective in allocating CPU time, CFS does not consider the consumption of other system resources (e.g., memory bandwidth, I/O devices, and power supply). It has been shown that the contention on memory bandwidth has a significant impact on the performance of processes. A proper solution for memory bandwidth allocation should consist of a source throttling part and a memory request scheduler. In this work, we consider the multi-resource fair scheduling problem. We focus on CPU and memory bandwidth as the main resources. We take a software-hardware co-design approach to design and implement our proposed multi-resource fair scheduler, Dominant Resource Fair Queueing Scheduler (DRFQS). First, we propose simple modifications to the memory controller to monitor memory bandwidth usage per process and schedule memory requests. Second, we propose DRFQS to replace the CFS in Linux. DRFQS schedules processes based on the dominant resource fair queueing (DRFQ) method. DRFQS utilizes the memory monitoring module and controls the memory scheduler in the modified memory controller. We implement our proposed memory controller design in the gem5 simulator and implement our CPU scheduler based on Brain Fuck Scheduler (BFS) in the Linux kernel v4.8. We evaluate our design and implementation by: (i) measuring allocation of CPU time and mmoery bandwidth, and comparing them with the desired allocations, (ii) running benchmarks under memory bandwidth contention and comparing their performance with the original hardware and software and with our proposed modifications. Our evaluation demonstrates that our design guarantees fairness while achieving high performance. We reduce the running time of memory-intensive benchmarks under memory bandwidth contention by close to 50%.en
dc.language.isoenen
dc.publisherUniversity of Waterlooen
dc.titleMulti-resource Fair Scheduler in Linuxen
dc.typeMaster Thesisen
dc.pendingfalse
uws-etd.degree.departmentElectrical and Computer Engineeringen
uws-etd.degree.disciplineElectrical and Computer Engineeringen
uws-etd.degree.grantorUniversity of Waterlooen
uws-etd.degreeMaster of Applied Scienceen
uws-etd.embargo.terms1 yearen
uws.contributor.advisorZahedi, Seyed Majid
uws.contributor.affiliation1Faculty of Engineeringen
uws.published.cityWaterlooen
uws.published.countryCanadaen
uws.published.provinceOntarioen
uws.typeOfResourceTexten
uws.peerReviewStatusUnrevieweden
uws.scholarLevelGraduateen


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record


UWSpace

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