Aug 23, 2019
Elsebaie : A hardware implementation of a preemptive scheduling algorithm
27.08.2019, 9.00 Uhr, APB 1096
Invitation to the presentation of the bachelor thesis of Karim Elsebaie
Subject: “A hardware implementation of a preemptive scheduling algorithm”
Supervisor: Gökhan Akgün
Abstract: The recent trend of complex tasks operating on hardware is achieving tremendous results.The performance of these tasks are high. However, this results in area overhead and high power consumption. This thesis aims to find a method that reduces the are overhead and the power consumption. The technique of partial reconfiguration, that is a feature in Xilinx Field-Programmable Gate Arrays (FPGAs), can be used to reduce the area overhead and power consumption. As a result, an implementation is needed that can manage tasks and reconfigure the tasks according to their priorities.This thesis aims to implement a hardware scheduler for preemptive algorithms. The implemented scheduler manages the tasks with a scheduling algorithm compatible for hardware applications. It also supports partial reconfiguration. The partial reconfiguration is investigated in order to reconfigure tasks, resulting in less hardware overhead. The preemption system used in the proposed design is generic and can be applied to different applications. A use case operating in real-time is implemented and is tested with the scheduler. The test aims to check the performance of the scheduler, along with the preemption of the contexts of the use case and re-configuring the tasks inside the use case.The functionality of the scheduler is outstanding, since the tasks are scheduled according tot heir priorities in the system. The contexts of the use case are stored and restored correctly.As a result, the preemption system of the proposed design fulfilled the goal of the thesis. The utilization of the implemented design relies on the LUTs, as 55% of the LUTs are utilized in the design. The other resources have low utilization, as for example 5% of the BRAMs are used as memory in order to store the contexts in.