- Level Expert
- المدة 60 ساعات hours
- الطبع بواسطة University of Colorado Boulder
-
Offered by
عن
This course can also be taken for academic credit as ECEA 5316, part of CU Boulder’s Master of Science in Electrical Engineering degree. This course provides an in-depth and full mathematical derivation and review of models for scheduling policies and feasibility determination by hand and with rate monotonic tools along with comparison to actual performance for real-time scheduled threads running on a native Linux system. By the end of this course the learner will be able to full derive the fixed priority rate monotonic least upper bound for feasibility as well as justifying the rate monotonic policy and will be able to compare to dynamic priority scheduling including earliest deadline first and least laxity policies. At the end of this course learners will be able to fully derive and explain the math model for the rate monotonic least upper bound as well as performing timing diagram analysis for fixed and dynamic priority software services. Tools to provide analysis will be learned (Cheddar) to automate timing analysis and to compare to actual performance. Specific objectives include: ● Rate monotonic theory (complete math models) ● Differences between fixed priority rate monotonic policy and dynamic priority earliest deadline first and least laxity policies ● Scheduling theory and practice writing code for multi-frequency executives, priority preemptive RTOS services, and real-time threaded services on traditional operating systems (Linux) ● Building a simple Linux multi-service system using POSIX real-time extensions on Raspberry Pi 3b using sequencing and methods to log and verify agreement between theory and practice ● Timing diagram generation and analysis using Cheddarالوحدات
Introduction
1
Discussions
- Introduce Yourself
1
Videos
- Course Assumed Real-Time Knowledge and Overview
1
Readings
- EXTRA HELP: Home Lab Set Up
Real-Time Scheduling Policies Overview - Fixed and Dynamic
6
Videos
- 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
Real-Time Fixed Priority Scheduling Feasibility Least Upper Bound
4
Videos
- 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
1
Readings
- Read, Review and Understand Derivations in Original RMA Paper (Liu & Layland)
RM Exact Fixed Priority Feasibility Analysis with Worst Case Analysis
- 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
3
Peer Review
- 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
3
Videos
- 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
1
Readings
- Optional: Rate Monotonic Exact Analysis
Module 1 Quiz
1
Quiz
- Module 1 | Key steps in the RM least upper bound derivation
Fixed Priority Timing Diagram Methods, Practice and Theory
- 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
3
Peer Review
- 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
6
Videos
- 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
RT Service Design and Implementation Patterns
6
Videos
- 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
2
Readings
- RT Extensions to POSIX - 1003.1 in Linux, QNX, Solaris, FreeBSD, etc.
- Optional Resources for POSIX 1003.1 RT Extensions
Linux service WCET concepts and tracing to evaluate jitter and drift
3
Videos
- Methods to Determine Worst Case Execution Time (WCET)
- Methods for WCET Speed-up to Meet Deadlines
- Service Request Period Jitter and Drift
Module 2 Quiz
1
Quiz
- Module 2 | Service implementation and admission to real-time using RMA, scheduling point, completion test
Using EDF for real-time systems
- Assignment 7 :Timing Diagram Emulation - Non-Harmonic, RM Failure, EDF and LLF Success
1
Peer Review
- Assignment 7 :Timing Diagram Emulation - Non-Harmonic, RM Failure, EDF and LLF Success
2
Videos
- Advantages of Dynamic Priorities and When to use EDF
- Disadvantages of Dynamic Priorities and When EDF should not be used
1
Readings
- Rate Monotonic vs. EDF - Judgement Day Paper
Using LLF for real-time systems
3
Videos
- 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
Using Cheddar to Analyze Fixed and Dynamic Priority Schedules
1
Videos
- Cheddar Tool Introduction and Overview
Module 3 Quiz
1
Quiz
- Module 3 | Earliest Deadline First , Least Laxity First
Bounded and Unbounded Blocking Challenges
6
Videos
- 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?
Unbounded Priority Inversion due to Blocking
2
Videos
- Review of semaphore use and necessity of Critical Section (C.S.)
- Code Walk-through: Unbounded Priority Inversion Demonstration
1
Readings
- Priority Inversion (Unbounded) and Priority Inheritance Protocol
Solutions to Unbounded Priority Inversion
1
Peer Review
- Linux has no Priority Inheritance or Ceiling Protocol - Why? What can be done?
1
Videos
- Priority Inheritance, Priority Ceiling, and Priority Ceiling Emulation
Mars Pathfinder Case Study
1
Peer Review
- What Really Happened to Mars Pathfinder? Why are there multiple stories?
3
Videos
- 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
Module 4 Quiz
1
Quiz
- Module 4 | Thread synchronization
Auto Summary
Explore the complexities of real-time embedded systems with CU Boulder's "Real-Time Embedded Systems Theory and Analysis," a part of the Master's in Electrical Engineering. Led by expert instructors, this course delves into mathematical models for scheduling policies, fixed and dynamic priority scheduling, and practical coding for multi-frequency executives on Linux systems. Learners will master tools like Cheddar for timing analysis and build multi-service systems on Raspberry Pi. Available via Coursera with Starter and Professional subscriptions, this expert-level course spans approximately 3600 minutes, ideal for advanced learners.

Sam Siewert