The Design and Performance of a RealTime CORBA Scheduling Service - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

The Design and Performance of a RealTime CORBA Scheduling Service

Description:

Event: Sheep. Priority:4. Sensor2. Sensor1. Fire Station. Farmer. Event:Fire. Event: Sheep. Event Channel. Scheduling Service. Dispatching Module. Overview of TAO ... – PowerPoint PPT presentation

Number of Views:63
Avg rating:3.0/5.0
Slides: 29
Provided by: csVir
Category:

less

Transcript and Presenter's Notes

Title: The Design and Performance of a RealTime CORBA Scheduling Service


1
The Design and Performance of a Real-Time CORBA
Scheduling Service
  • Presented by Ying Lin
  • Date 09/30/2002

2
Outline
  • Motivation
  • Overview of TAO
  • Overview of Scheduling Strategies
  • Taos Strategized Scheduling Service
  • Performance
  • Comments

3
Motivation
  • Increasing demand for QoS requirement
  • e.g. avionics control systems, video-on-demand
    and teleconferencing
  • Limitations with CORBA for Real-time Applications
  • Lack of QoS specification interfaces
  • Lack of QoS enforcement
  • Lack of real-time programming features
  • Lack of performance optimizations

4
An example Smart Farm Application
Event Channel
5
Overview of TAO
  • Optimized IDL Stubs and Skeletons
  • Real-time Object Adapter
  • Scheduling Service
  • Real-time ORB Core
  • Real-time I/O subsystem
  • High-speed network interface
  • TAO internals ACE

6
Overview of Scheduling Strategies
  • Priority-based scheduling
  • Static Scheduling RMS
  • Purely Dynamic Scheduling EDF, MLF
  • Hybrid Scheduling MUF

7
Static Scheduling
  • RMS (Rate Monotonic Scheduling)
  • Assign the priority of each task according to
    its period, so that the shorter the period the
    higher the priority .
  • Advantages
  • Simple, low run-time overhead
  • Disvantages
  • low system utilization
  • lack of adaptation to changing situations

8
An Example
t1 period 50s, exec_ time25s t2
period70s, exec_ time30s RMS
EDF
9
Purely Dynamic Scheduling
  • EDF ( Earliest Deadline First) e.g.
  • MLF ( Minimum Laxity First)
  • Advantages e.g.
  • overcome the limitations of RMS, produce
    schedules that are optimal in terms of CPU
    utilization
  • Disvantages
  • High run-time cost
  • No assurance of scheduablity

10
Hybrid Scheduling
  • MUF ( Maximum Urgency First)

11
An Example
12
Taos Strategized Scheduling Service
  • Synopsis of Scheduling Terminology
  • Overview of Architecture
  • Flexibility in TAOS Scheduling Framework

13
Synopsis of Scheduling Terminology
14
Overview of Architecture
3. Assign URGENCY
4. Assign static portions of DISPATCHING PRIORITY
and DISPATCHING SUBPRIORITY
5. Analyze schedule feasibility
6. Assign DISPATCHING QUEUE CONFIGURATION
15
TAOs Scheduling Service Input Interface
  • interface Scheduler
  • // . . .
  • // Create a new RT_Info descriptor for
    entry_point
  • handle_t create ( in string entry_point )
  • raises ( DUPLICATE_NAME )
  • // Add dependency to handle's RT_Info descriptor
  • void add_dependency ( in handle_t handle,in
    handle_t dependency )
  • raises ( UNKNOWN_TASK )
  • // Set values of operation characteristics
  • // in handle's RT_Info descriptor
  • void set ( in handle_t handle,
  • in Criticality criticality,
  • in Time worstcase_exec_time,
  • in Period_period,
  • in Importance importance )
  • raises ( UNKNOWN_TASK )

16
An Example
RT_Info Repository
1 2 5 0
17
TAOs Scheduling Service Output Interface
  • interface Scheduler
  • // . . .
  • // Get configuration information for the queue
    that will dispatch all
  • // RT_Operations that are assigned dispatching
    priority d_priority
  • void dispatch_configuration ( in
    Dispatching_Priority d_priority,

  • out OS_Priority os_priority,

  • out Dispatching_Type d_type )
  • raises ( UNKNOWN_DISPATCH_PRIORITY,NOT_SCHEDULED
    )
  • // Get dispatching subpriority and dispatching
  • // priority assigned to the handle's RT_Operation
  • void priority ( in handle_t handle,
  • out Dispatching_Subpriority d_subpriority,
  • out Dispatching_Priority d_priority)
  • raises ( UNKNOWN_TASK,NOT_SCHEDULED )
  • // . . .

18
TAOs Scheduling Services Variable Mappings
Struct RT_Info wc_exec_time_
period_ criticality_ importance_
dependencies_
19
Input Mappings ----- Platform Independent
  • MUF Input Mapping
  • RMS Input Mapping

20
Output Mappings ----- Platform Dependent
  • Output Mapping
  • Preemptive-by-priority-band Dispatching Model

21
Output Mappings ----- Platform Dependent
(cont.)
  • Preemptive-by-urgency Dispatching Model
  • smaller preemption granularity, support
    preemption between urgency level
  • great complexity
  • Non-preemptive Dispatching Model
  • Simple
  • Priority inversion

22
Dispatching Module
  • Flexible dispatching module configurations
  • integrated in one or more layers in the TAO ORB
    endsystem architecture(e.g. I/O subsystem, Event
    Service)
  • Dispatch Queue Configuration
  • Queue Type
  • 1) Static Dispatching
  • 2) Deadline Dispatching
  • 3) Laxity Dispatching
  • Principles
  • Preemption between different priority queues.
  • No preemption within a given priority queue.
  • Deadline- and laxity-based queues update
    operation dispatching subpriorities whenever an
    operation is enqueued or dequeued

Dispatching Priority
Thread Priority
Queue Type
23
An ExampleEvent Channel Dispatching
4.enque (fire, fire station)
24
Performance
  • Measuring Dynamic Scheduling Overhead in TAOs
    Real-Time Event Service
  • condition a single high-priority
    supplier/consumer pair , a varied number of
    low-priority event supplier/consumer pairs
  • Minimum End-to-End Overhead Time for run-time
    scheduler Time for enqueue operations

Conclusion End-to-end QoS requirements can be
enforced within acceptable levels of overhead,
assuming other sources of system overhead are
minimized.
25
Performance (cont.)
  • Measuring Dynamic Scheduling Overhead in TAOs
    Dispatching Modules
  • Static and Dynamic Dequeue Overhead

Why the dequeue overhead is not constant?
26
Performance (cont.)
  • Static and Dynamic Enqueue Overhead
  • Conclusion
  • The overhead of dynamic scheduling is acceptable
    for moderately-
  • loaded systems.
  • For heavily-loaded systems, heap-based queues
    may be preferable

27
Comments
  • Good point
  • Develop a scheduling service framework that can
  • specify QoS information of operations
  • support different scheduling strategies
  • minimize run-time overhead by doing part of work
    offline.
  • Limitation All the operations must be known to
    the scheduler before run-time. Cannot change
    scheduling strategy at run-time.

28
  • Thank You !
Write a Comment
User Comments (0)
About PowerShow.com