Phase Differences Between Operations. Different Computation Times for an Operation. Variable Load: Operations Not Called in Certain Cases

Size: px
Start display at page:

Download "Phase Differences Between Operations. Different Computation Times for an Operation. Variable Load: Operations Not Called in Certain Cases"

Transcription

1 Scheduling for Dynamic Mission Computing Avionics L. Levine, Christopher D. Gill, and Douglas C. Schmidt David University, St. Louis Washington 03 November 1998 Supported by The Boeing Company and DARPA.

2 Avionics domain requirements Static scheduling limitations Dynamic scheduling tradeos TAO's scheduling service: design and performance Concluding remarks For further information Dynamic Scheduling Contents 1è19

3 Support both periodic aperiodic processing and Implement eciently and cleanly Readily support platform upgrades èhardwareèosè Reuse designs and implementations Dynamic Scheduling Avionics Domain Requirements Research Challenges Harrison, Levine, and Schmidt, OOPSLA '97 2è19

4 Phase dierences occur rates are not harmonic when Variable computation times produced by operations are Variable loading is due to in system load or variation Dynamic Scheduling DISPATCHES OF OPERATION A of Static Schedule Variability Sources Phase Differences Between Operations DISPATCHES OF OPERATION B DISPATCHES OF OPERATION B DISPATCHES OF OPERATION A Different Computation Times for an Operation Variable Load: Operations Not Called in Certain Cases themselves DISPATCHES OF OPERATION C to cross-rate dependencies EXECUTION TIMES UNUSED TIMES TIME AXIS 3è19

5 Non-periodic processing is ineciently. handled Time cannot be reassigned if operation is not called, or an Hypothesis: with dynamic techniques we can scheduling Dynamic Scheduling DISPATCHES OF OPERATION A Reduced Utilization Limitations of Static Scheduling DISPATCHES OF OPERATION B DISPATCHES OF OPERATION A DISPATCHES OF OPERATION B Cannot Recycle Unused Time not use its worst case does time. computation Goal: higher utilization. EXECUTION TIMES UNUSED TIMES TIME AXIS this goal without achieve overhead or instability undue of the schedule under load. 4è19

6 Schedule more of the time unused Preserve stability of the under load schedule Isolate missed deadlines operations that are not to Dynamic Scheduling CRITICAL HIGH UTILIZATION Requirements for Dynamic Scheduling NON- CRITICAL vs Achieve higher utilization ISOLATE MISSED DEADLINES NOT SCHEDULED vs DEADLINE TIME AXIS ADAPTATION TO APPLICATION CHARACTERISTICS A B A B critical to the application C D E FIRST APPLICATION C D E SECOND APPLICATION 5è19

7 Laxity: time from operation to deadline completion Latency: time from operation èarrival of dispatch invocation SchedulerèORB CPU utilization: overhead Dynamic Scheduling Metrics to Test the Dynamic Scheduling Proposed Hypothesis Laxity DEADLINE Latency èlaxity é 0 if deadline missedè Jitter TIME AXIS requestè to operation completion Total Utilization Jitter: latency variation Total CPU utilization: eciency Scheduler/ORB Utilization 6è19

8 Criticality is an application-specied operation signicance. Dynamic Scheduling Enter Dynamic Scheduling Schedulability indicates whether there are sucient resources to all registered operations. perform Operations are dispatched in order of urgency. Scheduling Algorithm Criticality Levels Schedulability Basis Urgency Basis Urgency First at least two: high and low critical set ëreal" priority = Maximum + dynamic priority criticality Laxity First single all tasks dynamic priority Minimum Deadline First single all tasks deadline Earliest Monotonic unique criticality all tasks rate Rate rate per 7è19

9 Static priority assigned by criticality Static subpriority assigned importance by Dynamic Scheduling Maximum Urgency First CRITICALITY DEPENDENCIES IMPORTANCE EXECUTION TIME PERIOD Dynamic priority assigned by laxity STATIC PRIORITY DYNAMIC SUBPRIORITY STATIC SUBPRIORITY Stewart and Khosla '92 Gill, Levine, and Schmidt '98, submission to IJTCCS MUF Priority Mapping 8è19

10 Specifyingèenforcing QoS requirements Focus on Operations upon Objects Not on threads or communication channels Static scheduling Non-distributed Servants publish resource, e.g., CPU, and èperiodicè deadlines requirements Dynamic Scheduling Research Challenges Meeting Request Deadlines Initial assumptions Solution Approach Most clients are also servants 9è19

11 Criticality is an application signicance of the dened Period is the time interval arrivals of dispatch between Execution time is the longest used by one execution of time Importance is a weaker indication of the secondary Dynamic Scheduling Operation Characteristics struct RT_Info { Time worstcase_exec_time_; Period period_; Criticality criticality_; Importance importance_; Dependency_Info dependencies_; }; operation missing its deadline requests for the operation the operation DEPENDS UPON = DISPATCHED AFTER operation's signicance 10è19

12 Criticality is an application-specied operation signicance Dynamic Scheduling Dynamic Scheduling Summary Schedulability indicates whether there are sucient resources to all registered operations perform Operations are dispatched in order of urgency Arbitrary mappings from operation characteristics to urgency may be and evaluated for eectiveness as scheduling techniques dened 11è19

13 Research Challenges Specify QoS requirements CPU communication channels, Reduce presentation layer overhead Meet deadlines èscheduleè static and dynamic, single-cpu dynamic, distributed Related work Zinky, Bakken, and Schantz, '95 Lee, Yoshida, Mercer, and '96 Rajkumar Dynamic Scheduling Real-Time CORBA QoS Support etc memory, Reduce demultiplexing latency 12è19

14 an RT Info, wraps holds the set of and Dynamic Scheduling struct RT_Info { wc_exec_time_; period_; criticality_; importance_; dependencies_; }; 1: CONSTRUCT CALL CHAINS OF RT_OPERATIONS DEPENDS UPON = DISPATCHED AFTER 2: POPULATE RT_INFO REPOSITORY OFF-LINE SCHEDULER TAO's CPU Scheduling Service RT_INFO REPOSITORY 3: ASSESS SCHEDULABILITY 4: ASSIGN STATIC PRIORITY, STATIC SUBPRIORITY COMPONENTS An RT Info describes of characteristics one operation An RT Operation RT Operation RT Operation RT Operation OBJECT ADAPTER ORB CORE 7: SUPPLY PREEMPTION PRIORITY AND PREEMPTION SUBPRIORITY TO ORB RUN-TIME SCHEDULER ENTRY PER DISPATCH OF RT_OPERATION dispatches of all operation that I/O SUBSYSTEM 5: ASSIGN DYNAMIC SUBPRIORITY COMPONENT 6: MAP URGENCY INTO PREEMPTION PRIORITY AND PREEMPTION SUBPRIORITY A Dispatch Entry one describes of an dispatch operation 13è19

15 Dynamic Scheduling Real-time Scheduling Service Use-case 14è19

16 RMS MUF Solaris 2.5.1èUltra 30 Server and client on same Real-Time Scheduling class Dynamic Scheduling The Cost of Dynamic Scheduling Latency, usec Number of Consumers TAO Event Channel Request Latency CPU One high priority è20 Hzè varying number of client, low priority è10 Hzè clients Small èé 10 percentè for dynamic overhead vs. static èrmsè èmufè scheduling 15è19

17 1600 Low Priority Clients High Priority Client 1400 LynxOS 3.0.0èMCP Server and client on same Number of Low priority Clients Dynamic Scheduling TAO Performance on a Commercial RT Platform TAO Two-way Request Latencies CPU One high priority è20 Hzè varying number of client, low priority è10 Hzè clients TAO preserves high priority response latency and client with increasing number jitter low priority clients of 16è19 Latency per two-way request, microseconds

18 1600 Low Priority Clients High Priority Client Number of Low priority Clients Dynamic Scheduling Distribution with TAO on Commercial RT Platform TAO Two-way Request Latencies LynxOS 3.0.0èMCP750èCompactPCI Server and client on dierent and communicate via CPUs, TCPèIP over Fast Ethernet High priority client response by distribution unaected Low priority client response due to parallelism improves Distribution has small on jitter impact 17è19 Latency per two-way request, microseconds

19 Dynamic scheduling supports higher utilization and distribution. Dynamic scheduling overhead appears suciently small. Future scheduling work: Future performance evaluation work: Dynamic Scheduling Concluding Remarks Support for distributed scheduling Support for adaptive scheduling Investigate performance on other real-time operation systems Investigate performance on general purpose operation systems with support, including Solaris 2.6, NT 4.0, and Linux 2.0.x real-time wèkurt. Investigate performance tradeos of dynamic scheduling. 18è19

20 TAO: Dynamic Scheduling For Further Information TAO Scheduling: TAO RT Performance Results: ADAPTIVE Communication Environment èaceè: These slides: 19è19