Library prosa.model.schedule.priority_driven
Priority-Driven Uniprocessor Schedules
Consider any type of tasks ...
... and any type of jobs associated with these tasks.
Suppose jobs have an arrival time, a cost, ...
... and consider any processor model, preemption model, and notion of
readiness.
Context {PState : ProcessorState Job}.
Context `{JobPreemptable Job}.
Context {jr : JobReady Job PState}.
Context `{JobPreemptable Job}.
Context {jr : JobReady Job PState}.
Given any job arrival sequence...
...and any schedule of these jobs,
we say that a priority policy is respected by the schedule iff,
at every preemption point, the priority of the scheduled job is
higher than or equal to the priority of any backlogged job.
We define three separate notions of priority policy compliance
based on the three types of scheduling policies : JLDP...
Definition respects_JLDP_policy_at_preemption_point (policy: JLDP_policy Job) :=
∀ j j_hp t,
arrives_in arr_seq j →
preemption_time arr_seq sched t →
backlogged sched j t →
scheduled_at sched j_hp t →
hep_job_at t j_hp j.
∀ j j_hp t,
arrives_in arr_seq j →
preemption_time arr_seq sched t →
backlogged sched j t →
scheduled_at sched j_hp t →
hep_job_at t j_hp j.
... JLFP, and...
Definition respects_JLFP_policy_at_preemption_point (policy: JLFP_policy Job) :=
respects_JLDP_policy_at_preemption_point policy.
respects_JLDP_policy_at_preemption_point policy.
FP.
Definition respects_FP_policy_at_preemption_point (policy: FP_policy Task) :=
respects_JLDP_policy_at_preemption_point (FP_to_JLFP policy).
End Priority.
respects_JLDP_policy_at_preemption_point (FP_to_JLFP policy).
End Priority.