Wikipendium

Share on Twitter Create compendium Add Language
Edit History
Tools
  • Edit
  • History
  • Share on Twitter

  • Add language

  • Create new compendium
Log in
Table of Contents
  1. Scheduling
    1. Task taxonomy
      1. Rate monotonic - Guaranty function
      2. Deadline monotonic
    2. Algorithms
      1. Earliest deadline first (EDF)
    3. Mutual exclusion
      1. Stack Resourse Policy (SRP)
    4. Jitter
‹

CS-321: Real-time systems

Tags:
+

"Is it possible to pass an exam by starting to study three days before the exam? Lets find out" - Every student ever

This compendium is made for the course CS-321 Real-time systems at École Polyteqnique Fédérale de Lausanne (EPFL) and is a summary of the lectures and lecture notes. Is is not the complete curriculum, but rather a list of reading material.

Scheduling

Task taxonomy

  • $C_i$: Max computation time
  • $D_i$: Relative deadline
  • $T_i$: Period / Minimum interarrival time

Rate monotonic - Guaranty function

  • Necessary condition: $$\sum_{i=1}^{n} \Big( \frac{C_i}{T_i} \Big) \leq 1$$
  • Sufficient condition: $$\sum_{i=1}^{n} \Big( \frac{C_i}{T_i} \Big) \leq n \Big( 2^{1/n} - 1 \Big)$$

Jacksone rule:

[Jac55] J.Jackson, "Scheduling a Production Line to Minimize Maximum Tardiness", Research report 43, Management Science Research Project, University of California, Los Angeles, 1955

Any sequence is optimal that puts the jobs in order of non decreasing due dates.

Deadline monotonic

TODO

Algorithms

Earliest deadline first (EDF)

Assumptions:

  • Task deadlines $D_i$ are arbitrary
  • Tasks are preemptive and independent
  • Task cannot block or suspend themselves
  • The worst execution time $C_i$ of a task $i$ is known

Algorithm: At each instant, execute a ready task with the closest deadline.

Mutual exclusion

Stack Resourse Policy (SRP)

To aovid deadlocks, a task should not be allowed to start unless the resources available at this instant are sufficion to staisgu all its needs.

Jitter

Variation in execution period for periodic tasks.

Possible solutions:

  • Give highest priority to the task that has jitter constraints
  • Use periods that are in harmonic relationship and all other taks with lower priorities
  • Separate task IO from processing and five higher priority to IO

Written by

Martin Hallén
Last updated: Sat, 16 Jan 2016 13:46:42 +0100 .
  • Contact
  • Twitter
  • Statistics
  • Report a bug
  • Wikipendium cc-by-sa
Wikipendium is ad-free and costs nothing to use. Please help keep Wikipendium alive by donating today!