Title: Quality of Service Based Scheduling
1Quality of Service Based Scheduling
- Maximizing Utility Using Available Resources
Naimisaranya Busek Tom Schoellhammer
2What is Quality of Service?
- QoS is maximization of the usefulness of a
resource constrained system based on usefulness
to the user. - QoS must
- Meet min.resource requirements for all tasks
- Perform admission control
- Use any free system resources to increase the
usefulness of current tasks
3Why QoS?
- Many applications have resource requirements that
must be met for the application to be useful to
the user. - Networking
- Streaming media (min. bandwidth)
- Real time interaction and response (max. delay)
- Distributed Systems
- Timeliness, security, reliable data transfer
(error correction, encryption)
4Scheduling for QoS
- A task has min. resource requirements
- Memory, Devices, CPU Time, Data Integrity etc.
- The scheduler must verify that a tasks minimum
requirements can be met. - If tasks can deliver variable levels of quality
the scheduler must allocate extra resources to
maximize system usefulness. - The scheduler ensures QoS requirements are met.
5QoS Scheduling Assumptions
- A task has quantifiable properties
- Minimum resource requirements
- Change in quality if allocated additional
resources - A maximum amount of resources the task can use
- A task can operate anywhere in this range with
varying return - Limited system resources will often not allow the
allocation of the maximum resources to all tasks
6Defining a Tasks UsefulnessThe Utility
Functions
- The assumption of QoS is that a metric can be
defined that represents the usefulness of the
task to the user. - This metric is the application utility function.
- The applications utility is dependent on the
resources allocated to it. - The total system utility is the weighted sum over
all application utility functions. - Maximizing the system utility will provide the
best return for resources expended.
7Maximizing the System Utility Function
- A utility function has dependence one or more QoS
dimensions - Example Data Transfer
- Timeliness
- Cryptography
- Data quality
- Reliable delivery
- Each application utility function can be varied
along each of these dimensions until the system
maximum is found.
8A Quick Reality Check
- Work that has been done
- Finding optimal solutions for
- One QoS Dimension and One Resource
- Multiple Indep. QoS Dimensions and One Resource
- Solutions (not optimal)
- One QoS Dimensions and Two Resources (1 dep.)
- Proof that optimizing U with a single resource
with and dependency in the QoS dimensions is
NP-Hard - Finding approximation algorithms for more general
case
9Nothin but the math Maam
- Let ti be the ith task, where i is from 1 to n.
- Let the system have m resources R1,,Rm
- Let Ri Ri,1,,Ri,m be the resources allocated
to ti from each resource. - App. Utility Function is ti then defined as Ui
Ui(Ri) - Each task ti has a relative weight wi.
- Assuming independence of tasks the total system
utility is U(R1,,Rn) SumOf(wiUi(Ri)) over i
from 1 to n. - Maximizing U is the goal of QoS scheduling.
10QoS-based Resource Allocation Model (Q-RAM)
- Imposes stricter assumptions
- All applications are independent
- All utility functions are monotonically
increasing - Applications compete for a single resource
- Results
- A solution is optimal if for all i either Ri 0
or for any i,j (including i j) Ri gt 0, Rj gt 0
and Ui(Ri) Uj(Rj). - Assumes
- Ui(Ri) and Ui(Ri) exist and Ui(Ri) ? 0.
11Ui(Ri) ? Uj(Rj) ? Max Utility?
12Ui(Ri) Uj(Rj) ? Max Utility!
13Utility Maximization Example
- Example Embedded Sensor Node
- Reactivity to environment
- Power saving (sleep, clock slow down, etc)
- Local computation
- Communication
- Assumptions
- Utility functions for power savings Up and
responsiveness Ur - Single resource CPU time
14Utility Maximization Example cont.
- System utility Us wrUr wpUp
- Choose wr wp 1
- Allocate minimum resources to all tasks
- Distribute resources to maximize U
- Let Responsiveness be Task 1
- Let Power Saving be Task 2
15Utility Maximization Example cont.
- System Utility UTask1(x) UTask2(1-x)
16Utility Maximization Example cont.
17Utility Maximization Example cont.
18Dealing With More Complex Problems
- Finding the optimal resource allocation for
dependent and discrete QoS dimensions is NP-Hard
(reduces to the backpack problem) - Approximate solutions
- Can generate an approximate Utility Curve by
finding the convex hull of the actual utility
curve. - Use the convex hull as Q-RAM Utility Curve.
19Approximating with convex hull
20Implementations
- Linux / RK
- Real-time extension to Linux
- Provides timely, guaranteed and enforced access
to system resources - Amaranth Project
- Real-Time Deadlines
- Dependability
- Cryptographic Security
- Application Performance
21Future Work (not ours)
- Performance of embedded systems in the presence
of stochastic processes - Improved metrics to measure system performance
- Multiple Resource, Multiple QoS Dimensions
- Distributed QoS
22Questions and References
- Chen Lee, John Lehoczky, Raj Rajkumar and Dan
Siewiorek "On Quality of Service Optimization
with Discrete QoS Options" In Proceedings of the
IEEE Real-time Technology and Applications
Symposium June 1999 - Raj Rajkumar, Chen Lee, John Lehoczky and Dan
Siewiorek "Practical Solutions for QoS-based
Resource Allocation Problems" In Proceedings of
the IEEE Real-Time Systems Symposium December
1998 - Raj Rajkumar, Chen Lee, John Lehoczky and Dan
Siewiorek "A Resource Allocation Model for QoS
Management" In Proceedings of the IEEE Real-Time
Systems Symposium December 1997 - K.T. Kornegay, G. Qu, M. Potkonjak, "Quality of
Service and System Design", IEEE Workshop on VLSI
99, pp. 112-117, Orlando, FL, April 1999. - Amaranth Probabilistically Guaranteed Quality of
Service for Distributed Computing Systems - http//www-2.cs.cmu.edu/afs/cs/project/ices-amaran
th/www/ - Linux/RK
- http//www-2.cs.cmu.edu/rajkumar/linux-rk.html