Soft Real Time: Proportional Share and Fairness - PowerPoint PPT Presentation

1 / 8
About This Presentation
Title:

Soft Real Time: Proportional Share and Fairness

Description:

emulates sporadic task (ps, es) Scheduling aperiodic tasks in deadline driven systems. Emulate Generalized Processor Sharing (GPS) Algorithm ... – PowerPoint PPT presentation

Number of Views:37
Avg rating:3.0/5.0
Slides: 9
Provided by: Fre58
Category:

less

Transcript and Presenter's Notes

Title: Soft Real Time: Proportional Share and Fairness


1
Soft Real TimeProportional Share and Fairness
  • Fred Kuhns
  • (fredk_at_cse.wustl.edu, http//www.arl.wustl.edu/fr
    edk)
  • Applied Research Laboratory
  • Department of Computer Science and Engineering
  • Washington University in St. Louis

2
Providing GPS Like service
  • emulates sporadic task (ps, es)
  • Scheduling aperiodic tasks in deadline driven
    systems
  • Emulate Generalized Processor Sharing (GPS)
    Algorithm
  • provides server an infinitesimally small time
    slice of length proportional to server size.
  • Timing isolation

3
Terminology and background
  • Density of a sporadic job Ji
  • ei maximum execution time ri release time
    di deadline, density ei/(di-ri) active in
    feasible interval (ri, di
  • Sporadic Task Si comprised of a string of jobs
    Jij with execution times eij, interrelease times
    of pij and instantaneous utilization of eij/pij
    when dij pij.
  • Instantaneous utilization of a sporadic task
  • ui maxj(eij/pij)
  • independent, preemptable sporadic jobs are
    schedulable by EDF if total density lt 1
  • if total instantaneous utilization lt 1 and
    deadline equals period then schedulable by EDF.
  • if total of periodic tasks utilization and
    sporadic tasks instantaneous utilization lt 1
    then schedulable

4
Constant Utilization Servers
  • Server emulates a sporadic task.
  • Defined by size us instantaneous
    utilization,
  • d is always defined
  • emulates sporadic task with constant us
  • Scheduled with periodic tasks on EDF basis
  • Consumption rules
  • C1 consume when executing
  • Replenishment rules
  • R1 initially es 0, d 0
  • R2 aperiodic job e arrives to empty queue at
    time t, if tltd, do nothing, else set d t
    e/us, ans set es e
  • R3 At deadline d of serverif backlogged, set d
    d e/us, es eelse do nothing

5
Total Bandwidth Servers
  • Uses background time to improve responsiveness
    over that of a constant utilization server
  • Consumption rules
  • C1 Consume only when executing.
  • Replenishment rules
  • R1 Initially, es 0, d 0
  • R2 aperiodic job e arrives to empty queue at
    time t, set d max(d, t) e/us and es e.
  • R3 when done with current job, remove from queue
    and if backlogged, set d d e/us and es
    eelse if idle then do nothing.

6
Fairness and Starvation
  • fair within an interval I if the fraction of time
    received by each backlogged server is
    proportional to the its size.
  • Total bandwidth server is not fair
  • Consider a system which only consists of n such
    servers.
  • let wi(t1,t2) equal the processor time used by
    server i (i.e. allocated processor time) in
    interval I (t1, t2) for t2 gt t1.
  • Normalized service wi(t1,t2)/ui fair if the
    normalized service of all servers differ by no
    more than a fairness threshold FRgt0.

7
Weighted Fair Queuing Servers
  • Goal is to provide fair access to processor while
    permitting jobs to use an idle processor
  • Total bandwidth server is not fair
  • Same worst case response time as total bandwidth
    server
  • Non-preemptive version used for network packet
    scheduling
  • Jobs are assigned a finish number that represents
    the round in which its deadline occurs (think of
    this as virtual time).

8
Weighted fair queuing preemptive
  • FN system finish number, Ub backlogged
    utilization
  • Scheduling
  • A server is eligible when it has budget and an
    assigned finish number
  • Priority assigned to eligible servers based on
    finish number Server with smallest finish time
    has highest priority
  • Consumption
  • Consume only when running
  • Initialization
  • I1 Idle system, set FN0, Ub0, t-1 0 ei,fni
    0 for all i.
  • I2 first job arrives to an Idle system for some
    server FQk set t-1 t, Ub uk, budget ek e
    and fnk e/uk
  • Updating current finish number and replenishment
  • R1 job arrives at an idle server FQi, then 1
    increment system FN FN (t-t-1)/Ub 2 set t-1
    t and increment Ub ui 3 update FQi ei
    e fni FN e/ui and place in ready queue
  • R2 FQi completes a job, remove it from the
    queue if still backlogged ei e fni
    e/ui else (idle) FN (t - t-1)/Ub, set t-1
    t decrement Ub - ui
Write a Comment
User Comments (0)
About PowerShow.com