RealTime Systems Scheduling Tool Developed by Daniel Ghiringhelli
Real-Time Systems Scheduling Tool Developed by Daniel Ghiringhelli Advisor: Professor Jiacun Wang December 19, 2005
Overview Motivation n Features n Platform and Tools n Software Engineering Approach n Algorithm Overview (bonus included!) n Tool Design (30, 000 ft. view) n Tool Overview and Demonstration n Summary n
Motivation n Real-time systems: time critical systems n Schedule: assignment of jobs to available processors Feasible schedule: every job completes by its deadline Scheduling algorithms: n n Need a tool to illustrate how these algorithms work n n Clock driven / Round-robin /Priority-driven Particularly in RTS classes and find feasible schedules n Helpful for research
Features n Common Priority-Driven Algorithm Support n n n n Earliest Deadline First Deadline Monotonic Least Slack First Hyperperiod calculation Extendable interface Simulations based on task specifications Graphical user interface n n Task management Visualization of a dynamic scheduler
Platform and Tools n n Written in Java Eclipse 3. 0 IDE SWT GUI library Deployed as an executable JAR Integrated JUnit Testing
Software Engineering Principles n n n Informal process Frequent Releases GUI Mock-up Test Driven Regression Test Policy Initial Mock-up
Software Engineering Approach n Lightweight V-Model approach Essentially a waterfall but with User Involvement n No system testing (i. e. , “Lightweight”) n n Test Driven UAT written during Requirements n Unit Tests written during detailed design and construction n n Customer Checkpoints
Lightweight V-Model
Algorithms Overview: DM n Deadline Monotonic (DM) n n n Advantages n n n Static fixed priority scheduler Immediately pre-empts any running task with a higher priority task Easy to implement (most widely used) Low system overhead Disadvantages n n Not optimal Requires static prioritization before run-time
Algorithm Overview: EDF n Earliest Deadline First (EDF) n n n Advantages n n n Dynamic priority scheduler Highest priority is assigned to the task with the nearest deadline EDF theoretically superior to DM Guaranteed scheduleability if CPU utilization 100% or less Disadvantages n n n More difficult to implement Higher system overhead Overloaded system is unpredictable (non-critical tasks may be scheduled before critical tasks)
Algorithm Overview: LSTF (bonus!) n Least Slack Time First (LSTF) Dynamic priority scheduler n Highest priority given to the task with the least slack time (time. To. Deadline – execution. Time. Left) n n Advantages Same as EDF n Intuitively logical n n Disadvantages n Same as EDF
EDF and DM Example T 1=(0, 5, 3, 5), T 2=(0, 3, 1, 3) (a) EDF T 1 T 2 3 (b) RM T 1 T 2 6 9 12
RTS Scheduling Tool Design n n MVC Architecture Controlling thread polls simulation thread for model updates
RTS Scheduling Tool: Package View
Thread Interaction
Simulator Internals
Tool Overview & Demo
Concluding Remarks n RTS Scheduling Tool features: Friendly UI n Effective teaching tool n Scheduleability analysis n n Work to be done Additional algorithms can be easily added! n GUI features and options n
Acknowledgments MU Software Engineering Faculty n Professor Wang n Professor Mc. Donald n
- Slides: 19