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