AAU Student Projects - visit Aalborg University's student projects portal
A master's thesis from Aalborg University
Book cover


Pre-Analyses Dependency Scheduling with Multiple Threads

Author

Term

4. term

Publication year

2016

Submitted on

Pages

134

Abstract

Moderne CPU'er har flere kerner, men det kan være vanskeligt at udnytte dem med tråde. Denne afhandling undersøger en anden abstraktion: opgaver—små enheder af arbejde med tydelige afhængigheder, som punkter på en to-do-liste. Uafhængige opgaver kan køre samtidig, mens afhængige venter på, at forudsætningerne er afsluttet. Vi udviklede en afhængighedsplanlægger, der fordeler opgaverne på CPU-kernerne. I forsøg leverede planlæggeren ydeevne på niveau med eller bedre end eksisterende løsninger til håndtering af tråde. Vi evaluerede systemet med flere mikrobenchmarks og en virkelig applikation (et regneark), hvor den opgavebaserede tilgang gjorde regnearket hurtigere.

Modern CPUs have multiple cores, but using threads to exploit them can be difficult. This thesis explores a different abstraction: tasks—small units of work with explicit dependencies, like items on a to-do list. Independent tasks can run at the same time, while dependent ones wait for prerequisites to finish. We developed a dependency scheduler that distributes tasks across CPU cores. In experiments, it delivered performance comparable to or better than existing thread-management solutions. We evaluated it with several microbenchmarks and a real application (a spreadsheet), where the task-based approach sped up the spreadsheet.

[This abstract was generated with the help of AI]