Skip to content

Scheduling

Bart Cox edited this page Sep 14, 2020 · 1 revision

Scheduling Policies

EdgeCaffe can use diffent policies to schedule the tasks ready for execution. At the moment the SJF (Shortest Job First) and the FCFS (First Come First Server) policy are available. As some policies make use of the estimated execution times, it important to gather (measure) this information.

The python notebook layer-satistics.exp.ipynb (in the folder analysis) can be used to process this information. To update the description.yaml files of the networks, the tool ExtendNetworkDescription can be used. An example of an ExtendNetworkDescription run is

ExtendNetworkDescription ../../networks/AgeNet ../../networks/GenderNet

SJF (Shortest Job First)

This policy acts on the estimated execution time of the available tasks. The workers gives priority for tasks with shorter (estimated) execution times.

FCFS (First Come First Server)

This policy acts on the order of arrival of tasks. The task that arrived at an earlier time (task id is used for this) is executed first.

Implementation

The policies are implemented using ordered lists (in this case a queue). The ordering of the list is decided by the scheduling policiy. The SJF policy orders the list based on the estimatedExecutionTime property of a tasks. The FCFS policy orders the list on the id property of the tasks.

Using ordered lists makes the logic for the worker very easy. The pick the task available at the front of the list.

Clone this wiki locally