posted on 2019-08-06, 00:00authored byAndrea Ciccardi
This thesis presents the design of an intelligent scheduler for heterogeneous systems. The
quest for performances require the heterogeneity of the systems, but in the meantime, this may
represent a problem from the power point of view. In this complex scenario, the scheduling of
the tasks becomes vital. Being the scheduling an NP-complete problem, the core idea is to move
all the complexity to an offline phase, train a modeled neural network and exploit it to supply
the sub-optimal scheduling during online use. The solution proposed consists of a hardware
binarized neural network that, in negligible time with respect to the running time of the tasks,
is able to provide with an address to point a memory containing the sub-optimal scheduling for
that combination of the inputs. Inputs to the system are the condition of the running execution
unit, in particular, the number of clock cycles that each machine would take to complete each
task and the communication cost between resources. In fact, this system is the final end of a
more complex structure used to provide the neural network with the necessary inputs. Since the
hardware is massively parallel the new scheduling can be computed in few nanoseconds. The
efficiency of this work resides in the fact that, given the speed of the accelerator, this can be
used both to adapt the scheduling to the running conditions and to compute the real scheduling
every time, lowering the amount of work the operating system has to do. This would imply a
slight modification in the way the system works normally, but in general, would provide the
target computer with a lot more computation power and in the meantime lower the amount of
work of the operating system or who is in charge of the scheduling