Real-Time CORBA Chenyang Lu CSE 520S CORBA Common Object Request - - PowerPoint PPT Presentation

real time corba
SMART_READER_LITE
LIVE PREVIEW

Real-Time CORBA Chenyang Lu CSE 520S CORBA Common Object Request - - PowerPoint PPT Presentation

Real-Time CORBA Chenyang Lu CSE 520S CORBA Common Object Request Broker Architecture CORBA specifications q OMG is the standards body q Over 800 companies q CORBA defines interfaces , not implementations Object Request Brokers (ORB) allow


slide-1
SLIDE 1

Real-Time CORBA

Chenyang Lu

CSE 520S

slide-2
SLIDE 2

CORBA

Common Object Request Broker Architecture

Ø CORBA specifications

q OMG is the standards body q Over 800 companies q CORBA defines interfaces, not implementations

Ø Object Request Brokers (ORB) allow clients to invoke

  • perations on distributed objects transparently of

q object location q programming language q operating system q communication protocols and interconnect q hardware

2

slide-3
SLIDE 3

CORBA Architecture

Ø CORBA: Common Object Request Broker Architecture Ø Remote Procedure Call (RPC): Client invokes operations on objects. Ø An Object =

q An interface specified by an Interface Definition Language (IDL) q Servant(s) that implements the IDL interface

3

slide-4
SLIDE 4

The ACE ORB (TAO)

4

Source: D.C. Schmidt, http://www.dre.vanderbilt.edu/~schmidt/TAO.html

  • Open-source

Real-Time CORBA

  • >> 1M SLOC
  • 100+ person

years of effort

  • Pioneered

R&D on DRE middleware design &

  • ptimization
slide-5
SLIDE 5

Application Example: Avionics

5

  • Deterministic & statistical deadlines
  • ~20 Hz
  • Low latency & jitter
  • ~250 us
  • Periodic & aperiodic processing
  • Complex dependencies
  • Continuous platform upgrades
  • T

est flown at China Lake NAWS by Boeing OSAT II '98

  • www.cs.wustl.edu/~schmidt/TAO-boeing.html
  • Also used on SOFIA project by Raytheon
  • sofia.arc.nasa.gov
  • First use of Real-time CORBA in avionics
  • Drove Real-time CORBA standardization
  • Apply COTS & open systems to mission-critical

real-time avionics

slide-6
SLIDE 6

Application Example: Hot Rolling Mills

6

  • Goals: Control the processing of molten

steel moving through a hot rolling mill in real-time

  • System Characteristics
  • Hard real-time process automation

requirements

  • i.e., 250 ms real-time cycles
  • System acquires values representing

plant’s current state, tracks material flow, calculates new settings for the rolls & devices, & submits new settings back to plant

  • Key Software Solution Characteristics
  • Affordable, flexible, & COTS
  • Product-line architecture
  • Design guided by patterns & frameworks
  • Windows NT/2000
  • Real-time CORBA
  • www.siroll.de
slide-7
SLIDE 7

Application Example: Image Processing

7

  • Goals: Examine glass

bottles for defects in real-time

  • System Characteristics
  • Process 20 bottles/sec
  • ~50 ms per bottle
  • Networked configuration
  • ~10 cameras
  • Key Software Solution Characteristics
  • Affordable, flexible, & COTS
  • Embedded Linux
  • Compact PCI bus + Celeron processors
  • Remote booted by DHCP/TFTP
  • Real-time CORBA
  • www.krones.com
slide-8
SLIDE 8

RPC in CORBA

Ø CORBA: Common Object Request Broker Architecture Ø Remote Procedure Call (RPC): Client invokes operations on objects. Ø An Object =

q An interface specified by an Interface Definition Language (IDL) q Servant(s) that implements the IDL interface

8

slide-9
SLIDE 9

Limitations of CORBA

Ø Lacks QoS specification interfaces to applications

q Applications cannot specify rate, deadline or importance

Ø Lacks QoS enforcement

q Does not map task QoS specification to priorities of threads q Contains significant priority inversion

Ø Lacks performance optimization

q Poor worst-case and average latency

9

slide-10
SLIDE 10

Latencies and Priority Inversions

10

slide-11
SLIDE 11

The ACE ORB (TAO)

11

  • Open-source

Real-Time CORBA

  • >> 1M SLOC
  • 100+ person

years of effort

  • Pioneered

R&D on DRE middleware design &

  • ptimization
slide-12
SLIDE 12

TAO Overview

12

  • Based on ACE wrapper

facades & frameworks

  • Available on Unix, Win32,

MVS, QNX, VxWorks, LynxOS, VMS...

  • Thousands of users around

the world Commercially supported

http://www.dre.vanderbilt.edu/~schmidt/commer cial-support.html

Container Client

OBJ REF in args

  • peration()
  • ut args +

return

DII IDL STUBS ORB INTERFACE IDL SKEL Object Adapter ORB CORE GIOP/IIOP/ESIOPS Component (Servant)

Services

Objective: Simplify the development

  • f distributed real-time & embedded

(DRE) systems Approach: Use standard techology, patterns, & frameworks

slide-13
SLIDE 13

I/O Subsystem: Priority Inversions

Ø Messages are processed in FIFO order regardless of priorities Ø Kernel has lower priority than real-time priorities

q Processing of a high priority message in the kernel can be blocked by a

lower priority task at the application level

13

slide-14
SLIDE 14

I/O Subsystem: Solutions

Ø Early demultiplexing Ø Prioritized kernel processing Ø Map task priority to kernel thread Ø Note: This needs kernel support

14

slide-15
SLIDE 15

ORB Core: Priority Inversions

Ø Communication of different tasks shares a same socket connection. Ø Incoming requests are demultiplexed to threads in FIFO order.

15

slide-16
SLIDE 16

ORB Core

Priority-based Concurrency Architecture Ø Server sets model: Each priority is processed by a separate thread. Ø A separate connection is maintained for each priority in the server ORB.

q Use buffered connections to reduce run-time overhead.

Ø Suitable for fixed priority scheduling.

16

slide-17
SLIDE 17

Object Adapter: Problems

Ø Layered demultiplexing is inefficient in term of

q average latency q worst-case latency

17

slide-18
SLIDE 18

Object Adapter: Solutions

Ø Perfect hashing

q Generate a hash function offline q Computational complexity O(1)

Ø De-layered active demultiplexing

q Clients obtain index to (servant, operation) ahead of time

18

slide-19
SLIDE 19

Reduce Priority Inversion

Conventional ORB TAO

19

slide-20
SLIDE 20

Real-Time Event Service

  • 20
slide-21
SLIDE 21

Limitations of RPC

Ø Tight coupling between clients and server Ø Lacks asynchronous message delivery Ø Lacks support for group communication

21

slide-22
SLIDE 22

Motivating Applications

Boeing Bold Stroke Middleware Infrastructure Platform

  • Operations well defined
  • Event-mediated middleware solution

Domain Company

Avionics mission computing Boeing, Raytheon Mass storage devices SUTMYN, StorTek Medical Information Systems Siemens, GE Satellite Control LMCO COMSAT Telecommunications Motorola, Lucent, Nortel, Cisco, Siemens Missile & Radar Systems LMCO Sanders, Raytheon Steel Manufacturing Siemens ATD Beverage Bottling Automation Krones AG

slide-23
SLIDE 23

CORBA Event Service

Ø Asynchronous event delivery Ø Decouples suppliers and consumers Ø Support group communication

23

  • ne to many

many to one

  • ne to one

many to many

slide-24
SLIDE 24

Event Delivery Models

24

Suppliers push to Event Channel, Event Channel pushes to Consumers Event Channel pulls from Suppliers, Consumers pull from Event Channel Suppliers push to Event Channel, Consumers pull from Event Channel Event Channel pulls from Suppliers, Event Channel pushes to Consumers

slide-25
SLIDE 25

CORBA Event Service Limitations

Ø Broadcasts any supplied event to all consumers Ø No filtering or correlation Ø No real-time event dispatching/scheduling Ø No periodic event

25

X

X X

slide-26
SLIDE 26

TAO Real-Time Event Service

Ø Suppliers specify types of events generated. Ø Consumers subscribe to interested event types, to events from specific suppliers, or both.

26

event A:S1 event B:S2 event C:S3 event B:S4

slide-27
SLIDE 27

Event Channel Architecture

Ø Push-push model for real-time delivery Ø Modularity: features are implemented in pluggable modules

27

slide-28
SLIDE 28

Suspend and Resume

Ø Light-weight operations to suspend/resume event delivery Ø Useful for frequent changes in consumer sets

q Mode change

28

slide-29
SLIDE 29

Periodic Events

Ø Consumers can register for timeout events provided by Event Service Ø Timeout events dispatched according to priority of consumer

29

slide-30
SLIDE 30

Event Correlation

Ø Provides event correlation

q Conjunctive (“AND”) q Disjunctive (“OR”)

30

Conjunctive correlation

slide-31
SLIDE 31

Scheduling Service

Ø Separates dispatching mechanism from scheduling policy Ø Dispatcher consults run-time scheduler for priorities Ø Flexibility for different scheduling policies (e.g., RMS, EDF, MUF)

31

slide-32
SLIDE 32

Real-Time Event Dispatching

32

Kokyu Dispatching Queue

Dispatching Thread

Kokyu Dispatching Queue Kokyu Dispatching Queue

Dispatching Thread Dispatching Thread High Priority Low Priority

slide-33
SLIDE 33

Critiques

Ø Full compatibility with CORBA

q T

  • o complex and heavy-weight for embedded systems?

Ø Centralized event channel

q Scalability for distributed systems à federated event channel q Single point of failure à fault tolerant event channel

Ø Overhead of redirection Ø Support for multicore and multiprocessor platforms.

33

slide-34
SLIDE 34

Federated Event Channel

Ø Gateway forwards events to remote processors.

Application Processor 1 Application Processor 2 Application Processor 3 T12 T13 T11 EC EC EC

Gateway Gateway

slide-35
SLIDE 35

Source

Ø Slides partially based on Douglas Schmidt’s TAO tutorial and Joe Hoffert’s class presentation.

35