next up previous
Next: Replication and fault-tolerance Up: Approach Previous: Approach

Application Utilities

The application utility $u_i$ for a task $T_i$ is defined as a sum of the utilities (or values) accrued when $T_i$ achieves certain qualities across different dimensions, i.e., $u_i:Q_i \rightarrow \Re$. An application utility is defined to be weighted sum of dimension-wise utilities.

A system utility, on the other hand, is the combined utilities of all the applications. It can be defined as a weighted sum of all application utilities for ``differential services'', or minimum of the utilities among the applications for ``fair'' sharing.

MRMD Problem: For a given set of of tasks $T_1,..,T_n$, our problem is to assign qualities ($q_i$) and allocate resources from various resource units(or, containers) ($r_i$) such as processors or network links to tasks or applications, such that the system utility $u$ is maximized. In other words, what we have is the following:

maximize $u(q_1,...,q_n)$

subject to $q_i \geq q^{min}_i$ or $q_i = 0, i=1,...,n,$ (QoS Constraints)

$\sum_{i=1}^n r_{ij} \leq r_{ij}^{max}$, $j=1,...,m,$ (Resource Constraints)

$r_i \models_i q_i$ $i=1,...,n.$



Sourav Ghosh 2002-09-13