Notes - MIECT
Sistemas Operativos E De Tempo-real
Notes - MIECT
Sistemas Operativos E De Tempo-real
  • Sistemas Operativos e de Tempo-real
  • Basic Concepts About Real-Time Systems
    • Preliminaries
    • Definitions
    • Objective of the Study of RTS
    • Requirements of Real-Time Systems
  • Real Time Model
    • Real Time Model
    • Temporal Control
    • Task states and execution
    • Kernel/RTOS Architecture
      • Time Management Functions
    • Examples of RTOS
  • Practical Class 01
    • Real-Time Services in Linux
    • Using the Linux real-time services
  • Scheduling Basics
    • Basic concepts
    • Scheduling Algorithms
      • Basic algorithms
    • Static Cyclic Scheduling
    • Exercise
  • Fixed Priority Scheduling
    • Online scheduling with fixed priorities
    • Schedulability tests based on utilization
      • Deadline Monotonic Scheduling DM
    • Response-time analysis
  • Practical Class 2
    • Xenomai brief introduction
    • API
    • Developing an application
  • Dynamic Priority Scheduling
    • On-line scheduling with dynamic priorities
    • Analysis: CPU utilization bound
    • Analysis: CPU Load Analysis
    • Other deadline assignment criteria
  • Exclusive Access to Shared Resources
    • The priority inversion problem
    • Techniques for allowing exclusive access
    • Priority Inheritance Protocol
    • Priority Ceiling Protocol
    • Stack Resource Policy
    • Notes
  • Aperiodic Servers
    • Joint scheduling of periodic and aperiodic tasks
    • Aperiodic Servers
    • Fixed Priority Servers
    • Dynamic Priority Servers
  • Limited preemption, release jitter and overheads
    • Non-preemptive scheduling
    • Impact of Release Jitter
    • Accounting for overheads
    • Considerations about the WCET
  • Profiling and Code Optimization
    • Code optimization techniques
      • CPU independent optimization techniques
      • Cache impact
      • Optimization techniques dependent on memory architecture
      • Architecture-dependent optimization techniques
    • Profiling
  • Multiprocessor Scheduling, V1.2
    • Introduction
    • Definitions, Assumptions and Scheduling Model
    • Scheduling for Multicore Platforms
    • Task allocation
Powered by GitBook
On this page
  • Total Bandwidth Server (TBS)
  • Constant Bandwidth Server (CBS)
  1. Aperiodic Servers

Dynamic Priority Servers

PreviousFixed Priority ServersNextNon-preemptive scheduling

Last updated 2 years ago

Total Bandwidth Server (TBS)

The Total Bandwidth Server is a dynamic priority server which has the objective of executing the aperiodic requests as soon as possible while preserving the bandwidth assigned to it, to not disturb the periodic tasks. It was developed for EDF systems.

When an aperiodic request arrives (rk ), it receives a deadline dk.

TBS - deadline computation

  • TBS is simple to implement and has low overhead, since it only requires a simple computation (deadline for each arrival). Then the aperiodic request is inserted in the ready queue and handled as any other task.

  • The average response time to aperiodic requests is smaller than the one obtained with dynamic- priority versions of fixed-priority servers.

  • The impact on the schedulability of the periodic task set is equal to the one of a periodic task with utilization equal to the one granted to the server. Using EDF+TBS:

    • Simple test: UP + US ≤ 1

  • Requires a priori knowledge of Ck and is vulnerable to overruns.

    • After starting executing, a task may execute more time than the one declared.

Constant Bandwidth Server (CBS)

The Constant Bandwidth Server (CBS) is a dynamic priority server that was created to solve the robustness problem of TBS , enforcing bandwidth isolation.

This goal is achieved by managing the execution time based on a budget/capacity (QS ,TS) scheme.

  • When an aperiodic request rk arrives, it is computed a server deadline ds , as follows:

  • When the instantaneous capacity (cs ) gets exhausted, the capacity is replenished and the deadline postponed:

The CBS assigns deadlines in such a way that prevents the bandwidth given to the server from being higher than the one assigned to it.

If a task executes for longer than expected, its deadline is automatically postponed, lowering the priority of the task. This can also be seen as if the task period was artificially increased, in such a way the the utilization is maintained.

  • The implementation complexity of CBS is somehow higher than the one of TBS, due to the need to dynamically manage the capacity. Other than that, aperiodic tasks are put in the ready queue and handled as any regular periodic task.

  • The average response time to aperiodic requests is similar to TBS.

  • The impact on the schedulability of the periodic task set is equal to the one of a periodic task with an utilization equal to the one given to the server. Using EDF+CBS:

    • UP + US ≤ 1

  • The big advantage of CBS is that it provides bandwidth isolation.

  • If a task is served by a CBS with bandwidth Us , in any time interval ∆t that task will never require more than ∆t · Us CPU time.

  • Any task Ï„i (Ci , Ti ) schedulable with EDF is also schedulable by a CBS server with Qs = Ci and Ts = Ti.

  • A CBS may be used to:

    • Protect the system from possible overruns in any task.

    • Guarantee a minimum service to soft real-time tasks.

    • Reserve bandwidth to any activity.