330 likes | 402 Views
Quality of Service. Karrie Karahalios Spring 2007. Announcements. Midterm Final Projects. Distributed Multimedia System. Server. Client. Disk. Device. Application. Process. Network. Network. CPU. Steps: Resources: Guarantees:. Consider End-to-End Behavior. Apps. MM apps. Apps.
E N D
Quality of Service Karrie KarahaliosSpring 2007
Announcements • Midterm • Final Projects
Distributed Multimedia System Server Client Disk Device Application Process Network Network CPU Steps: Resources: Guarantees:
Consider End-to-End Behavior Apps MM apps Apps MM apps Operating System Operating System Disk CPU Memory Network Network Disk CPU Memory Meta-scheduler attempts to reserve resourcesto guarantee end-to-end behavior
Basic Challenges • Identification • Negotiation • Translation • Specification • Enforcement
Preliminaries • Real-time systems • Resources • Management • Reservation • Allocation
Real Time (RT) Process • Delivers results in predictable time • not necessarily fast • requests deterministic or stochastic • Correctness means • errorless computation • meeting deadlines
Deadlines • Hard deadlines • cannot be violated (if so, system fault) • cost money or human life • Soft deadlines • misses can be tolerated if • not too many and not missed by much • Examples
Characteristics of RT Systems • Predictable response times to time-critical events • Accurate system clocks and timing • Able to schedule almost all resources • Stability under overload
RT & Multimedia • To meet demands of multimedia, use RT techniques along entire data path • Relative to RT • relaxes deadline requirements and allows some deadlines to be missed entirely • periodic requests ease scheduling • continuous data allows adaptive allocation
Resource • Required by tasks for manipulating data • CPU, disk, memory, network, etc. • A resource has a capacity • space, utilization, bandwidth • A resource can be: • active or passive • exclusive or shared
Resource Management • Maps multimedia requirements onto respective capacities of the system • Specified through a QOS model • parameters + relaxation procedures • Carried out by a resource manager • ensure adherence to QoS specification
Resource Management InteractiveVideo Insufficient Mpeg-2 Sufficient, but stressed Resource Needs Mpeg-1 Abundant Audio Time
Resource Reservation • Test schedulability • determine if enough remaining capacity • Negotiate QOS parameters • If not, determine how close it can come and when • application decides if this is acceptable • Reserve resources • allocates resources to meet negotiated QoS • Schedule resources • compute appropriate schedule for each resource • algorithm affects previous steps
Resource Allocation • Pessimistic • reserve for the worst case • worse utilization, but more guarantees • Optimistic • reserve for average or minimum needs • better utilization, but less guarantees
Quality of Service (QoS) • Refers to how good provided services are • the more applications demand, the more difficult it is to meet those demands • Resource management realizes QoS • better management allow better QoS • Examples
Layers of QoS User user QoS Application application QoS System system QoS device QoS network QoS MM devices Network
Layers of QoS What are the right metrics? User How to specify them? user QoS How to negotiate them? Application How to enforce them? application QoS How to translate among them? System system QoS device QoS network QoS MM devices Network
User and Application QoS • Startup time • Sample rate • Bits per sample • Frame rate • Resolution • Skew relationships • Response time for interaction
Quantitative Bit rate Error rate Processing time Buffer sizes Throughput Qualitative Ordered delivery Error recovery Scheduling options System QoS
Network QoS • Network load • [min, avg, max] arrival times • Packet/cell size • Packet loss rate • End-to-end delay (latency) • Variability in delay (jitter)
Types of Services • Guaranteed • threshold or range • deterministic or statistical • Predictive • match current to historical performance • Best Effort • none or only minimal guarantees
Linear Bounded Arrival Process • Divides end-to-end system view into a pipeline of discrete sessions • one session corresponds to a single resource • Defines parameterization of workload • arrival of messages at a particular interface • A message is one unit of work • typically blocks of CM data (bytes or time) Anderson, D. Metascheduling for Continuous Media, ACM TOCS, 11(3): 226-252
LBAP • Models message arrival at a resource (I) • M - max message size (bytes) • R - max message rate (messages/second) • W – workload limit (max. messages that may arrive ahead of schedule) • Such that for all t0 < t1 NI(t0, t1) < R|t1 – t0| + W
Workload • Workload W(t) of an LBAP at time t is w(t) = max{0, NI(t0, t) - R|t – t0| } • Property 1: w(t)< W for all t • Property 2: for all t1< t2; NI(t1, t2) < w(t2) – w(t1) + R|t2 – t1|
Logical Arrival Time (L) • Let m0…mn denote sequence of messages and let a0…an be their arrival times L(m0) = a0 L(mi+1)=max{ai+1, L(mi) + 1/R}
Logical Delay Between Interfaces • Logical delay d(m) of message m between two interfaces is d(m) = L2(m) - L1(m), where Li(m)is arrival time of m at interface i. • Actual delay of message m may be > L(m), if m arrives ahead of schedule at I1 < L(m), if m completed ahead of schedule at I2
Resources and Sessions • A resource handles incoming messages • arrive at input interface, delivered to output interface • Clients must reserve resource • M (max message size) • R (max message rate) • Win = input max message burst (messages) • Wout = output max message burst (messages) • D = max logical delay (seconds), • A = min actual delay (seconds), • U = min unbuffered time (seconds) • Arrival process at input interface specified by M, R, Win • Arrival process at output interface specified by M, R, Wout
Compound Session • S is a sequence of sessions S1…SN • input of S is that of S1; output is that of SN • output of Si is input to Si+1
Delay and Buffer Size • d(m) = LSN(m) – LS1(m) < sum(di) • Maximum shared buffer size for S W + R(D – U), D = sum(di); W = w(t) for S1 • realized when there is group of W messages followed by one message every 1/R and each resource uses its full delay for each message
QoS Specification • Request S with given workload parameters and smallest delay bound • If system can accept session • return minimum delay, reserves resources • Otherwise • increase delay bound based on cost function • repeat request for S until allocated (or not)
Take Home Exercise • Discuss tradeoffs of allowing people to pay for different qualities of service