Commit c61b926e authored by Markus Klinik's avatar Markus Klinik

define C2 scheduling problem

parent dde454e8
......@@ -28,11 +28,10 @@ The meaning of such an equality is that the resource assigned to capability requ
We require that all entries in a resource affinity constraint refer to the same capability.
\paragraph{Assignments}
An assignment is a set of tuples $\tuple{t, i, r}$ that assigns a resource $r$ to every capability requirement $c_i$ of every task $t$.
An assignment $A$ is a set of tuples $\tuple{t, i, r}$ that assigns a resource $r$ to every capability requirement $c_i$ of every task $t$.
\paragraph{Schedules}
A schedule is an assignment together with a set of tuples $\tuple{t, s}$ that assigns a start time $s \in \N$ to every task $t$.
The end time of a task is its start time plus its duration.
A schedule is a tuple $\tuple{A, S}$ of an assignment $A$ together with a set $S$ of start times $\tuple{t, s}$ that assigns a start time $s \in \N$ to every task $t$.
\paragraph{Validity}
We say that an assignment is \emph{valid} iff
......@@ -46,3 +45,20 @@ We say that a schedule is \emph{valid} iff
\item it respects the task ordering, which means every task's start time $s_t$ is after the end time of all of its predecessors $\vec{p}_t$
\item no resource is assigned to two tasks that are overlapping in time.
\end{itemize}
The end time of a task is its start time plus its duration.
\paragraph{Quality function}
A quality function $f(r, t, i, E, A)$ takes as arguments a resource $r \in R$, a task $t \in T$, a capability index $i$, an environment $E$, and an assignment $A$, and returns either Maximize $q$ or Minimize $q$ with $q \in \mathbb{R}$.
The quality function calculates how well $r$ will perform capability requirement $c_i$ of task $t$, given an environment and an assignment.
Maximize and Minimize are annotations that specify if $q$ is a more-is-better or less-is-better objective.
We require that quality functions are consistent with these tags, which means for each $t$ and $c_i$ it returns the same tag.
Only then is it meaningful to compare different resources for the same capability requirement of a task.
\paragraph{C2 scheduling problem}
With the definitions above we can now define the C2 scheduling problem.
Given a set of capabilities $C$, a set of tasks $T$, a set of resources $R$, a set of affinity constraints, an environment $E$, and a quality function $f$, calculate a valid schedule $\tuple{A, S}$ that optimizes the objective vector
\begin{IEEEeqnarray*}{c}
\tuple{f(r, t, i, E, A)} \textrm{ for each } \tuple{r, t, i} \in $A$
\end{IEEEeqnarray*}
Optimizing the objective vector means to find the largest possible $q$ for each Maximize $q$, and the smallest possible $q$ for each Minimize $q$.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment