SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction

Adaptive Scheduling Parameters Manager for SCHED DEADLINE

Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions

Alessio Balsini [email protected] Universit` a di Pisa, Scuola Superiore Sant’Anna

Performance Hands On

References Repositories References

Workshop on Real-Time Scheduling in the Linux Kernel 27 June 2014

Introduction SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

Context: soft real-time periodic tasks scheduling Subcontext: multimedia audio/video reproduction Problem: tradeoff between overprovisioning and QoS Solution: a set of tools that manage SCHED DEADLINE parameters adaptively

Scheduling Soft Real-Time Periodic Tasks - What Happens SCHED DL: Adaptive Scheduling Parameters Manager

Computational request at each activation may heavily differ.

A.Balsini Introduction Problem Optimistic vs Pessimistic

Figure : Ideal

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

Figure : Real

Scheduling Soft Real-Time Periodic Tasks - Examples SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

Figure : Back to the Future (MKV)

Scheduling Soft Real-Time Periodic Tasks - Examples SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

Figure : Blade Runner (AVI)

Scheduling Soft Real-Time Periodic Tasks - Examples SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

Figure : Superman Returns (MP4)

Scheduling Soft Real-Time Periodic Tasks - Relevant Parameters? SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

In SCHED DEADLINE it is possible to configure (task based) Period Relative Deadline Bandwidth However, in the considered application context, a single parameter can be enough

Conclusions Performance Hands On

References Repositories References

Response Time

Scheduling Soft Real-Time Periodic Tasks - Relevant Parameters? SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

In SCHED DEADLINE it is possible to configure (task based) Period Relative Deadline Bandwidth However, in the considered application context, a single parameter can be enough

Conclusions Performance Hands On

References Repositories References

Response Time

Problem Response Time to SCHED DEADLINE: R → R3 SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

How to generate SCHED DEADLINE parameters starting from the Response Time? 1

Equal to the Response Time

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

Period

2

Relative Deadline Equal to the Period

3

Bandwidth ?

Problem Response Time to SCHED DEADLINE: R → R3 SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

How to generate SCHED DEADLINE parameters starting from the Response Time? 1

Equal to the Response Time

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

Period

2

Relative Deadline Equal to the Period

3

Bandwidth ?

Problem Response Time to SCHED DEADLINE: R → R3 SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

How to generate SCHED DEADLINE parameters starting from the Response Time? 1

Equal to the Response Time

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

Period

2

Relative Deadline Equal to the Period

3

Bandwidth ?

Problem Response Time to SCHED DEADLINE: R → R3 SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

How to generate SCHED DEADLINE parameters starting from the Response Time? 1

Equal to the Response Time

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

Period

2

Relative Deadline Equal to the Period

3

Bandwidth ?

Problem Response Time to SCHED DEADLINE: R → R3 SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

How to generate SCHED DEADLINE parameters starting from the Response Time? 1

Equal to the Response Time

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

Period

2

Relative Deadline Equal to the Period

3

Bandwidth ?

Problem Response Time to SCHED DEADLINE: R → R3 SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

How to generate SCHED DEADLINE parameters starting from the Response Time? 1

Equal to the Response Time

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

Period

2

Relative Deadline Equal to the Period

3

Bandwidth ?

Problem Response Time to SCHED DEADLINE: R → R3 SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

How to generate SCHED DEADLINE parameters starting from the Response Time? 1

Equal to the Response Time

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

Period

2

Relative Deadline Equal to the Period

3

Bandwidth ?

Computational Requirements - Is the glass half empty or half full? SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini

Warning: Choosing the bandwidth may cause headaches Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

Optimistic 1 Low QoS 2 Resources-driven?

,

Pessimistic 1 Best QoS 2 Waste of resources

Computational Requirements - Is the glass half empty or half full? SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini

Warning: Choosing the bandwidth may cause headaches Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

Optimistic 1 Low QoS 2 Resources-driven?

,

Pessimistic 1 Best QoS 2 Waste of resources

Computational Requirements - Is the glass half empty or half full? SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini

Warning: Choosing the bandwidth may cause headaches Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

Optimistic 1 Low QoS 2 Resources-driven?

,

Pessimistic 1 Best QoS 2 Waste of resources

Computational Requirements - Is the glass half empty or half full? SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini

Warning: Choosing the bandwidth may cause headaches Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

Optimistic 1 Low QoS 2 Resources-driven?

,

Pessimistic 1 Best QoS 2 Waste of resources

Computational Requirements - Is the glass half empty or half full? SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini

Warning: Choosing the bandwidth may cause headaches Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

Optimistic 1 Low QoS 2 Resources-driven?

,

Pessimistic 1 Best QoS 2 Waste of resources

Computational Requirements - Is the glass half empty or half full? SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini

Warning: Choosing the bandwidth may cause headaches Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

Optimistic 1 Low QoS 2 Resources-driven?

,

Pessimistic 1 Best QoS 2 Waste of resources

Computational Requirements - Is the glass half empty or half full? SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini

Warning: Choosing the bandwidth may cause headaches Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

Optimistic 1 Low QoS 2 Resources-driven?

,

Pessimistic 1 Best QoS 2 Waste of resources

Another possible approach? Dynamic! - Let’s see how much you drank SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

The bandwidth is dynamically (periodically) chosen for each SCHED DEADLINE task, depending on the history of the required computational times. It is a feedback loop controller.

But if this controller modifies the bandwidth, isn’t it just like removing the CBS from SCHED DEADLINE?

Conclusions Performance Hands On

References Repositories References

1 2

Yes and no. Adaptation delay: for the transitory Global controller: for the fairness

Another possible approach? Dynamic! - Let’s see how much you drank SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

The bandwidth is dynamically (periodically) chosen for each SCHED DEADLINE task, depending on the history of the required computational times. It is a feedback loop controller.

But if this controller modifies the bandwidth, isn’t it just like removing the CBS from SCHED DEADLINE?

Conclusions Performance Hands On

References Repositories References

1 2

Yes and no. Adaptation delay: for the transitory Global controller: for the fairness

Another possible approach? Dynamic! - Let’s see how much you drank SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

The bandwidth is dynamically (periodically) chosen for each SCHED DEADLINE task, depending on the history of the required computational times. It is a feedback loop controller.

But if this controller modifies the bandwidth, isn’t it just like removing the CBS from SCHED DEADLINE?

Conclusions Performance Hands On

References Repositories References

1 2

Yes and no. Adaptation delay: for the transitory Global controller: for the fairness

Another possible approach? Dynamic! - Let’s see how much you drank SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

The bandwidth is dynamically (periodically) chosen for each SCHED DEADLINE task, depending on the history of the required computational times. It is a feedback loop controller.

But if this controller modifies the bandwidth, isn’t it just like removing the CBS from SCHED DEADLINE?

Conclusions Performance Hands On

References Repositories References

1 2

Yes and no. Adaptation delay: for the transitory Global controller: for the fairness

Another possible approach? Dynamic! - Let’s see how much you drank SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

The bandwidth is dynamically (periodically) chosen for each SCHED DEADLINE task, depending on the history of the required computational times. It is a feedback loop controller.

But if this controller modifies the bandwidth, isn’t it just like removing the CBS from SCHED DEADLINE?

Conclusions Performance Hands On

References Repositories References

1 2

Yes and no. Adaptation delay: for the transitory Global controller: for the fairness

Tools SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

Tools SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

Kernel Module: SCHED DEADLINE Spy Daemon: SCHED DEADLINE Dynamic Manager Configuration GUI: SchedConfigTool

Hi-level Point of View - Overall Block Scheme SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

Kernel Module: SCHED DEADLINE Spy - Userspace SCHED DL: Adaptive Scheduling Parameters Manager

This module creates a file for each SCHED DEADLINE task

/proc/sched deadline/[PID]

A.Balsini

Containing four columns: Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

1401468028 1401468028 1401468028 1401468028 ...

22757242 22757242 62757243 94757243

10149132 N 86353 N 37679835 Y 26311134 N

Conclusions Performance Hands On

References Repositories References

first two columns are the kernel time (seconds and nanoseconds) of the measurement third column is the job execution time (nanoseconds) last column says if execution exceeds the bandwidth (Yes/No)

Kernel Module: SCHED DEADLINE Spy - Implementation Hints SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

Kernel probes: Kprobes Probes are placed around the kernel and the instrumentation codes are executed when the processor encounters those probe point. With Jprobes it is also possible to access function arguments. This module attaches probes to

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

enqueue task dl and update dl entity Jprobes are used to create tasks’ statistics. Other callbacks are provided, managing all the statistics sequential files.

Daemon: SCHED DEADLINE Dynamic Manager - Interface SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

This tool provides the following DBus interface

core.sched.dl.ProcessManager with the following methods: xml: requires a string input, corresponding to the path of the XML file containing the task information fixed add: adds a new fixed task to the control list, with the defined SCHED DEADLINE parameters fixed launch: creates a new fixed task and adds it to the control list, with the defined SCHED DEADLINE parameters control: adds a new dynamic task to the control list, with the defined response time parameter launch: creates a new dynamic task and adds it to the control list, with the defined response time parameter

Daemon: SCHED DEADLINE Dynamic Manager - Interface, Sample Configuration SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

/ u s r / b i n / e x e c u t a b l e −p p a r a m e t e r 28000000 33333333

33333333 XML configuration for SCHED DEADLINE Dynamic Manager

Daemon: SCHED DEADLINE Dynamic Manager - Implementation, Controller Local SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

One controller local for each dynamically scheduled task It performs the following operations cyclically obtain task statistics run the Control Algorithm to calculate the best utilization factor send the computed utilization factor to the global controller

Conclusions Performance Hands On

References Repositories References

Note: The current control algorithm implements the worst case within a window of samples

Daemon: SCHED DEADLINE Dynamic Manager - Implementation, Controller Global SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions

It performs the following operations cyclically check the schedulability of all the SCHED DEADLINE utilization factors n X BD,i i=1

TD,i

Repositories References

i=1

TF ,i

≤ BSD

D: Dynamic, F : Fixed if not verified, use the Spring With no Length Constraints algorithm to compress the dynamic tasks’ requirements

Performance Hands On

References

+

m X BF ,i

0 ∀i, UD,i =

BD,i TD,i − (UD − Bresidual ) · Pn TD,i i=1 TD,i

update SCHED DEADLINE parameters

Configuration Generator: SchedConfigTool SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

Configuration Generator: SchedConfigTool SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

Performance SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

Response Times - MPlayer Without SCHED DEADLINE SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

Figure : Eve Online Rubicon (MP4) without SCHED DEADLINE

Response Times - MPlayer With Dynamic Manager, Alone SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

Figure : Eve Online Rubicon (MP4) Dynamic Manager, Alone

Controller Global period: 1s, Controller Local window size: 50

Response Times - MPlayer With Dynamic Manager, With Fixed SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

Figure : Eve Online Rubicon (MP4) Dynamic Manager, Running Together With Several Fixed Parameters SCHED DEADLINE Tasks

Controller Global period: 1s, Controller Local window size: 50

Response Times - MPlayer With Dynamic Manager, With Other SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

Figure : Eve Online Rubicon (MP4) Dynamic Manager, Running Together With Several Other Linux Tasks

Controller Global period: 1s, Controller Local window size: 50

Practical Session SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

Repositories SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

SCHED DEADLINE Spy github.com/balsini/sched-deadline-spy

SCHED DEADLINE Dynamic Manager github.com/balsini/sched-deadline-dynamic-manager

SchedConfigTool github.com/balsini/SchedConfigTool

References SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

L. Palopoli, T. Cucinotta, L. Marzario, G. Lipari, AQoSA Adaptive Quality of Service Architecture. Wiley InterScience, 2008. G. C. Buttazzo, Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications 3rd. Springer Publishing Company, 2011.

Thank You SCHED DL: Adaptive Scheduling Parameters Manager A.Balsini Introduction Problem Optimistic vs Pessimistic

Tools Overview Kernel Module Daemon Configuration Generator GUI

Conclusions Performance Hands On

References Repositories References

Alessio Balsini ) [email protected]

Adaptive Scheduling Parameters Manager for ... - GitHub

Jun 27, 2014 - Solution: a set of tools that manage SCHED DEADLINE parameters adaptively ..... Adaptive Quality of Service Architecture. Wiley. InterScience ...

1MB Sizes 7 Downloads 66 Views

Recommend Documents

Adaptive Scheduling for Multicasting Hard Deadline ...
tructure support, scalable compression techniques are used to allow the .... that the transmitter is an oracle which knows the channel ..... global optimal solution.

trouble ticket manager - GitHub
Department of Computer Science and Information Technology ... Different software tools have been developed and are in use in order to handle and ..... Since this application filters trouble tickets and automate based on the contents .... or e-busines

Open Resilient Cluster Manager (ORCM) - GitHub
Hierarchical Arch. 5. SMC. Row. Row. Rack. CN CN. CN CN. Rack. CN CN. CN CN ... Each daemon computes map, stores all data (map, endpoints, network.

environmental parameters for extreme response
Results are found to compare well with full. FORM analysis. Introduction ..... from this program, as well as from the O ce of Naval Research through Contract No.

Scheduling for Human- Multirobot Supervisory Control
April 30, 2007. In partial fulfilment of Masters degree requirements ..... each NT period over time is a good gauge of whether a human supervisor is ... the Human Computer Interaction International Human Systems. Integration ... on information Techno

Haskell for LATEX2e - GitHub
School of Computer Science and Engineering. University of New South Wales, Australia [email protected] .... Research report, Yale University, April 1997. 4.

hacking for sustainability - GitHub
web, is the collection of interconnected hypertext3 documents. 3 Hypertext is a .... the online photo service Flickr hosts now more than 200 ... It is one of the top ten most visited websites ..... best possible delivery route between different store