46
Sporadic Server Scheduling in Linux Theory vs. Practice Mark Stanovich Theodore Baker Andy Wang

Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Sporadic Server Scheduling in Linux Theory vs. Practice

Mark Stanovich Theodore Baker

Andy Wang

Page 2: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Real-Time Scheduling Theory

Analysis techniques to design a system to meet timing constraints

Schedulability analysis

– Workload models

– Processor models

– Scheduling algorithms

Page 3: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Real-Time Scheduling Theory

Analysis techniques to design a system to meet timing constraints

Schedulability analysis

– Workload models

– Processor models

– Scheduling algorithms

Page 4: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

time Period = T Computation time

WCET = C

Deadline = D

Task

jobs (j1, j2, j3, …)

Release time 4

Task = {T, C, D}

Periodic Task

Page 5: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Periodic Task

sched_setscheduler(SCHED_FIFO)

clock_nanosleep()

Page 6: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Periodic Task

Assumptions

WCET is reliable

Arrivals are periodic

Not realistic for most tasks

Page 7: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Polling Server

time

time

Job arrivals

Initial budget

Replenishment period

Page 8: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Polling Server

Type of aperiodic server

CPU time no worse than an equivalent periodic task

Can be modeled as a periodic task

WCET = Initial Budget

Period = Replenishment Period

Budget consumed as CPU time is used

CPU time forfeited if not used

Replenish budget every period

Page 9: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Polling Server

Good

Bounds CPU time

Analyzable workload

Simplicity

Can be better

Faster response time if budget is not forfeited

Page 10: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Sporadic Server

time

time

Job arrivals

Initial budget

Replenishment period

replenishments

Page 11: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Sporadic Server

Originally proposed by Sprunt et. al.

Parameters

– Initial budget

– Replenishment period

Bounds CPU interference for other tasks

Fits into the periodic task workload model

Better avg. response time than polling server

Page 12: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Sporadic Server

Scheduling algorithm for fixed-task-priority systems

Can be used in UNIX priority model

SCHED_SPORADIC is a version of SS defined in POSIX definition

Page 13: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Implementation

Linux 2.6.38

Softirq threading patch ported from earlier RT patch

Sporadic server implementation

Uniprocessor

Page 14: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Sporadic Server Performance

Metrics

Interference for lower priority tasks

Average response time

Page 15: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

An experiment

Sends UDP packet with current timestamp

Receives UDP packets Calculate response time based on arrival at UDP layer Measure CPU time for 10 second burst

A B

Page 16: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Measuring CPU Time

Regher's “hourglass” technique

Constantly read time stamp counter

– Detect preemptions by larger gaps

– Sum execution chunks

Hourglass thread lower than SS thread

– Measures interference from SS thread

Page 17: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Measuring CPU Time

Network receive thread

Sporadic and polling server

Budget = 1 msec

Period = 10 msec

SCHED_FIFO

Hourglass thread

SCHED_FIFO

Lower priority than network receive thread

Page 18: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

CPU Utilization

Page 19: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Response Time

Page 20: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Interference

SS budget limited to CPU demand

Additional overheads lower priority tasks

– Context switch time

– Cache eviction and reloading

Not in theoretical workload model

Guarantees of theory require interference to be included in the analysis

Page 21: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Polling Server

21

time

= aperiodic job CPU time

= aperiodic job arrival

timebudget CS+SS 2

Page 22: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Sporadic Server

22

time

= aperiodic job CPU time

= aperiodic job arrival

= replenishment period

max_repl2 timebudget CS+SS

Page 23: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Over Provisioning

All context switch time may not be used

– e.g., one replenishment per period

Account for CS time on-line

– Charge SS for each preemption

Page 24: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

CPU Utilization

Page 25: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Response Time

Page 26: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Response Time

Page 27: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Analysis

Light load

– Sporadic Server

• Low response time

– Polling Server

• High response time

Heavy load

– Sporadic Server

• High response time

• Dropped packets

– Polling Server

• Low response time

• No dropped packets

27

Page 28: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Can we get the best of both?

28

Sporadic Server

Light loads

Polling Server

Heavy loads

Page 29: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Hybrid Server

How to switch

– Ensure bounded interference

– SS with 1 replenishment is same as polling server

– Coalesce replenishments

• Push replenishments further into the future

Switching point

– Server has work but no budget

Page 30: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Sporadic Server

time

Page 31: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Sporadic Server

31

time

Page 32: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Response Time

Page 33: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

CPU Utilization

Page 34: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Switching

Immediate coalescing may be too extreme

CPU time could be used for better response time

Gradual approach

Coalesce a few replenishments

Page 35: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Sporadic Server

35

time

Page 36: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Sporadic Server

36

time

Page 37: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Sporadic Server

37

time

Page 38: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Response Time

Page 39: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

CPU Utilization

Page 40: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Conclusion

Theoretical analysis provides solid guarantees

Implementation must match abstract models

Additional interference terms need to be considered

SS can fit into the theoretical analysis

Page 41: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Deferrable Server

Page 42: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Deferrable Server

Bandwidth Preserving

Allow server to retain budget

Periodically replenish budget

WCET != Budget

Page 43: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Response Time

Page 44: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

44

Replenishment Policy

replenishment period

replenishment

initial budget

time

arrival time (work available for server)

Page 45: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

45

Bandwidth Preservation

replenishment

initial budget

time

arrival time (work available for server)

replenishment period

Page 46: Sporadic Server Scheduling in Linux Theory vs. …ww2.cs.fsu.edu/~stanovic/papers/rtlws2011/rtlws_2011.pdfPolling Server Type of aperiodic server CPU time no worse than an equivalent

Sporadic Server

46

time