Course Highlights
  • Methods to analyze dynamic prioirty real-time service feasibility
  • Methods to control unbounded priority inversion problems
  • Avoiding and recovering from deadlock
  • Avoiding and recovering from unbounded priority inversion
Curriculum

25 Topics
Course Assumed Real-Time Knowledge and Overview
Code Walkthrough: Syslog for Tracing and Autograded Assignments
Rate Monotonic Fixed Priority Policy and Optimality (Review)
Rate Monotonic Scheduling within the Least Upper Bound
Challenges with and Alternatives to Fixed Priority RM Policy
Deadline Monotonic Extensions to Rate Monotonic Policy
Deadline Driven Scheduling: using Dynamic Priority Alternatives
RM LUB Derivation - Introduction
Two Cases that Drive the RM Least Upper Bound
RM Least Upper Bound Intersection Point
RM Least Upper Bound Derivation - Conclusion
Necessary and Sufficient Feasibility by Worst-Case Analysis (Exact Test)
Exact Feasibility for Rate Monotonic Policy with Scheduling Point
Exact Feasibility for Rate Monotonic using Completion Test
EXTRA HELP: Home Lab Set Up
Read Review and Understand Derivations in Original RMA Paper (Liu & Layland)
Optional: Rate Monotonic Exact Analysis
Module 1 | Key steps in the RM least upper bound derivation
Assignment 1:Timing Diagram Emulation - Non-Harmonic Below LUB Feasible Margin (Safe)
Assignment 2 :Timing Diagram Emulation - Non-Harmonic Above LUB Feasible Margin (safe)
Assignment 3 :Timing Diagram Emulation - RM Succeeds Fair Fails
Assignment 1:Timing Diagram Emulation - Non-Harmonic Below LUB Feasible Margin (Safe)
Assignment 2 :Timing Diagram Emulation - Non-Harmonic Above LUB Feasible Margin (safe)
Assignment 3 :Timing Diagram Emulation - RM Succeeds Fair Fails
Introduce Yourself

24 Topics
Comparison of RM Policy to Round Robin
Recall Method for RM Fixed Priority Scheduling Timing Diagram Creation
More Complex RM Timing Diagrams
Timing Diagram with a Harmonic Case
Timing Diagram with a Full Utility Harmonic Case
Timing Diagram Example Comparing RM and EDF
POSIX RT Extension Support
General Design Pattern Part-1: AMP RT Functions Services and Systems
General Design Pattern Part-2: Mulit-Core Multi-Service AMP Systems
Implementation Pattern: Periodic Services with POSIX RT Threads Interval Timers and Signals
Message Queues for Synchronization and Data Sharing
Code Walkthrough: POSIX RT Feature Demonstration
Methods to Determine Worst Case Execution Time (WCET)
Methods for WCET Speed-up to Meet Deadlines
Service Request Period Jitter and Drift
RT Extensions to POSIX - 1003.1 in Linux QNX Solaris FreeBSD etc.
Optional Resources for POSIX 1003.1 RT Extensions
Module 2 | Service implementation and admission to real-time using RMA scheduling point completion test
Assignment 4:Timing Diagram Emulation - Non-Harmonic Above LUB Not-Feasible
Assignment 5:Timing Diagram Emulation - Harmonic Above LUB Feasible Zero-Margin (Unsafe)
Assignment 6 :Timing Diagram Emulation - Non-Harmonic RM Failure DM Success
Assignment 4:Timing Diagram Emulation - Non-Harmonic Above LUB Not-Feasible
Assignment 5: Timing Diagram Emulation - Harmonic Above LUB Feasible Zero-Margin (Unsafe)
Assignment 6:Timing Diagram Emulation - Non-Harmonic RM Failure DM Success

9 Topics
Advantages of Dynamic Priorities and When to use EDF
Disadvantages of Dynamic Priorities and When EDF should not be used
Advantages of Dynamic Adaptive Scheduling: When to use LLF
Disadvantages of Dynamic Adaptive Scheduling: When LLF should not be used
Final Comparison of EDF and LLF Failure Modes and Recovery
Cheddar Tool Introduction and Overview
Rate Monotonic vs. EDF - Judgement Day Paper
Module 3 | Earliest Deadline First Least Laxity First
Assignment 7 :Timing Diagram Emulation - Non-Harmonic RM Failure EDF and LLF Success

16 Topics
Note on Linux Methods of Synchronization Compared to RTOS
Bounded blocking for service release
Bounded blocking and Execution Efficiency impact on RT systems
Definition of unbounded blocking and examples of root causes
Code Walkthrough: Circular Wait - Deadlock Demonstration
Code Walkthrough: Can you think of a simple way to break deadlock after a timeout?
Review of semaphore use and necessity of Critical Section (C.S.)
Code Walk-through: Unbounded Priority Inversion Demonstration
Priority Inheritance Priority Ceiling and Priority Ceiling Emulation
Mars Pathfinder Problem - Rolling Reset 3 Days prior to closest approach to Mars
Mars Pathfinder Root Cause Analysis
Mars Pathfinder - Bug Localization and the Fix
Priority Inversion (Unbounded) and Priority Inheritance Protocol
Module 4 | Thread synchronization
Linux has no Priority Inheritance or Ceiling Protocol - Why? What can be done?
What Really Happened to Mars Pathfinder? Why are there multiple stories?

  Write a Review

Real-Time Embedded Systems Theory and Analysis

Go to Free Course