Presentation is loading. Please wait.

Presentation is loading. Please wait.

Real-Time Systems Scheduling Tool Developed by Daniel Ghiringhelli Advisor: Professor Jiacun Wang December 19, 2005.

Similar presentations


Presentation on theme: "Real-Time Systems Scheduling Tool Developed by Daniel Ghiringhelli Advisor: Professor Jiacun Wang December 19, 2005."— Presentation transcript:

1 Real-Time Systems Scheduling Tool Developed by Daniel Ghiringhelli Advisor: Professor Jiacun Wang December 19, 2005

2 Overview Motivation Motivation Features Features Platform and Tools Platform and Tools Software Engineering Approach Software Engineering Approach Algorithm Overview (bonus included!) Algorithm Overview (bonus included!) Tool Design (30,000 ft. view) Tool Design (30,000 ft. view) Tool Overview and Demonstration Tool Overview and Demonstration Summary Summary

3 Motivation Real-time systems: time critical systems Real-time systems: time critical systems Schedule: assignment of jobs to available processors Schedule: assignment of jobs to available processors Feasible schedule: every job completes by its deadline Feasible schedule: every job completes by its deadline Scheduling algorithms: Scheduling algorithms: Clock driven / Round-robin /Priority-driven Clock driven / Round-robin /Priority-driven Need a tool to illustrate how these algorithms work Need a tool to illustrate how these algorithms work Particularly in RTS classes Particularly in RTS classes and find feasible schedules and find feasible schedules Helpful for research Helpful for research

4 Features Common Priority-Driven Algorithm Support Common Priority-Driven Algorithm Support Earliest Deadline First Earliest Deadline First Deadline Monotonic Deadline Monotonic Least Slack First Least Slack First Hyperperiod calculation Hyperperiod calculation Extendable interface Extendable interface Simulations based on task specifications Simulations based on task specifications Graphical user interface Graphical user interface Task management Task management Visualization of a dynamic scheduler Visualization of a dynamic scheduler

5 Platform and Tools Written in Java Written in Java Eclipse 3.0 IDE Eclipse 3.0 IDE SWT GUI library SWT GUI library Deployed as an executable JAR Deployed as an executable JAR Integrated JUnit Testing

6 Software Engineering Principles Informal process Informal process Frequent Releases Frequent Releases GUI Mock-up GUI Mock-up Test Driven Test Driven Regression Test Policy Regression Test Policy Initial Mock-up

7 Software Engineering Approach Lightweight V-Model approach Lightweight V-Model approach Essentially a waterfall but with User Involvement Essentially a waterfall but with User Involvement No system testing (i.e., “Lightweight”) No system testing (i.e., “Lightweight”) Test Driven Test Driven UAT written during Requirements UAT written during Requirements Unit Tests written during detailed design and construction Unit Tests written during detailed design and construction Customer Checkpoints Customer Checkpoints

8 Lightweight V-Model

9 Algorithms Overview: DM Deadline Monotonic (DM) Deadline Monotonic (DM) Static fixed priority scheduler Static fixed priority scheduler Immediately pre-empts any running task with a higher priority task Immediately pre-empts any running task with a higher priority task Advantages Advantages Easy to implement (most widely used) Easy to implement (most widely used) Low system overhead Low system overhead Disadvantages Disadvantages Not optimal Not optimal Requires static prioritization before run-time Requires static prioritization before run-time

10 Algorithm Overview: EDF Earliest Deadline First (EDF) Earliest Deadline First (EDF) Dynamic priority scheduler Dynamic priority scheduler Highest priority is assigned to the task with the nearest deadline Highest priority is assigned to the task with the nearest deadline Advantages Advantages EDF theoretically superior to DM EDF theoretically superior to DM Guaranteed scheduleability if CPU utilization 100% or less Guaranteed scheduleability if CPU utilization 100% or less Disadvantages Disadvantages More difficult to implement More difficult to implement Higher system overhead Higher system overhead Overloaded system is unpredictable (non-critical tasks may be scheduled before critical tasks) Overloaded system is unpredictable (non-critical tasks may be scheduled before critical tasks)

11 Algorithm Overview: LSTF (bonus!) Least Slack Time First (LSTF) Least Slack Time First (LSTF) Dynamic priority scheduler Dynamic priority scheduler Highest priority given to the task with the least slack time (timeToDeadline – executionTimeLeft) Highest priority given to the task with the least slack time (timeToDeadline – executionTimeLeft) Advantages Advantages Same as EDF Same as EDF Intuitively logical Intuitively logical Disadvantages Disadvantages Same as EDF Same as EDF

12 EDF and DM Example T1=(0, 5, 3, 5), T2=(0, 3, 1, 3)

13 RTS Scheduling Tool Design MVC Architecture MVC Architecture Controlling thread polls simulation thread for model updates Controlling thread polls simulation thread for model updates

14 RTS Scheduling Tool: Package View

15 Thread Interaction

16 Simulator Internals

17 Tool Overview & Demo

18 Concluding Remarks RTS Scheduling Tool features: RTS Scheduling Tool features: Friendly UI Friendly UI Effective teaching tool Effective teaching tool Scheduleability analysis Scheduleability analysis Work to be done Work to be done Additional algorithms can be easily added! Additional algorithms can be easily added! GUI features and options GUI features and options

19 Acknowledgments MU Software Engineering Faculty MU Software Engineering Faculty Professor Wang Professor Wang Professor McDonald Professor McDonald


Download ppt "Real-Time Systems Scheduling Tool Developed by Daniel Ghiringhelli Advisor: Professor Jiacun Wang December 19, 2005."

Similar presentations


Ads by Google