Skip to content

LaTeX source code of my PhD thesis titled "A Dynamic and Component-Based Process Scheduler Framework for Heterogeneous Many-Core Systems"

License

Notifications You must be signed in to change notification settings

abusse/phd-thesis

Repository files navigation

PhD Thesis - A Dynamic and Component-Based Process Scheduler Framework for Heterogeneous Many-Core Systems

This is the LaTeX source code of my PhD thesis that I wrote until 2016 at TU Berlin. The topic is A Dynamic and Component-Based Process Scheduler Framework for Heterogeneous Many-Core Systems. The document can be build with latexmk. Howerver, it might be necessary to increase the maximum memory consumption of pdflatex in order to build the final document. Note that it is not possible (yet) to use the external library as it will break references into the figures.

In case you want to cite the document, please use the following BibTex entry:

@phdthesis{busse2016cobas,
  author = {Anselm Busse},
  title  = {A Dynamic and Component-Based Process Scheduler Framework for Heterogeneous Many-Core System}, 
  school = {Technische Universit\"at Berlin, Germany},
  year   = 2016,
  month  = dec,
  doi    = {10.14279/depositonce-5653}
}

Since the first decade of the 21st century, improvements in computer performance are no longer achieved through increasing clock rates but parallelization and specialization. As a result, heterogeneous many-core systems are becoming more and more common. Leaving their niche in highly specialized computing, they have to be supported by a general purpose operating system. A major part of the support that has to be delivered will be done by the process scheduler as it has to tailor the task order and placement to those systems. Current approaches to scheduler architecture are not capable of coping with the resulting challenges. In particular, the state of the art falls short to provide ways and means to react to new developments in hardware technology quickly and lacks the capability to enable the adaptation of the scheduler to the changed environment. Therefore, the original contribution to the knowledge of this dissertation is a new approach to the architecture of the operating system's process scheduler.

This dissertation introduces a component-based approach to the process scheduler architecture that allows the decomposition of the scheduling problem into distinct parts rather than the monolithic approach as it is state of the art. Components are connected through Pipes that are an advanced form of runqueues suitable for the component-based approach. Besides Pipes, information is distributed among the components through a publish–subscribe-based message system. Components can change the order of tasks and distribute or merge tasks from or to several pipes. This allows a flexible scheduler design both during development and runtime: The developer can reuse existing components and build new schedulers from existing implementations. Through the explicit layout of the components code-paths, possible bottlenecks become easier to identify compared to a monolithic approach. Through the separation, it is also feasible to change the entire scheduling policy during runtime. This enables an optimal shaping of the scheduler to the needs of the current working set and the properties of the underlying hardware architecture.

The components are embedded into a framework that allows a comprehensible development of schedulers that scale even in many-core systems. The framework approach permits the integration into several runtime systems without changing the actual scheduler implementation. This dissertation proves the feasibility through integrating the framework into major open source kernels: Linux and FreeBSD. Based on this exemplary implementation, the properties of the approach are evaluated. The studies show that the component-based scheduler framework is scalable for hundreds of cores, the overhead is quantified and the benefits of having well-defined interfaces are demonstrated. Finally, the advantages of a dynamic adaptation of scheduling strategies at runtime are shown.

About

LaTeX source code of my PhD thesis titled "A Dynamic and Component-Based Process Scheduler Framework for Heterogeneous Many-Core Systems"

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages