ist 37652 hard real-time corba hrtc 1 wp2: hard real-time protocols thomas losert, miguel segarra,...

58
1 IST 37652 Hard Real-time CORBA HRTC WP2: Hard Real-Time Protocols Thomas Losert, Miguel Segarra, Karl-Erik Årzén

Post on 19-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

1

IST 37652 Hard Real-time CORBA

HRTC

WP2: Hard Real-Time ProtocolsWP2: Hard Real-Time Protocols

Thomas Losert, Miguel Segarra, Karl-Erik Årzén

HRTC 2

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

ContentContent

Introduction – Thomas LosertIntroduction – Thomas Losert CORBA & OCI – Miguel SegarraCORBA & OCI – Miguel Segarra Protocol Issues – Thomas LosertProtocol Issues – Thomas Losert

TTPIOP – Thomas LosertTTPIOP – Thomas Losert RTEIOP – Karl-Erik ÅrzénRTEIOP – Karl-Erik Årzén

HRTC 3

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

IntroductionIntroduction

Decision on Testbeds is based on D2.1 Decision on Testbeds is based on D2.1 „Analysis of Protocols for Real-Time „Analysis of Protocols for Real-Time Control“Control“

Chosen TTP/C and RT-Ethernet as Chosen TTP/C and RT-Ethernet as Protocols for the TestbedsProtocols for the Testbeds

100% reliability usually is not necessary in 100% reliability usually is not necessary in Control Systems (thus no retransmissions)Control Systems (thus no retransmissions)

HRTC 4

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

Main Activities and AchievementsMain Activities and Achievements

D2.2 HRT Protocol SpecificationD2.2 HRT Protocol SpecificationD2.3 HRT ProtocolD2.3 HRT ProtocolExtra Documents:Extra Documents:

TTP Transport DefinitionTTP Transport DefinitionRTE Transport DefinitionRTE Transport Definition

2 Prototype Implementations based on 2 Prototype Implementations based on OCI exploring different variants (e.g., OCI exploring different variants (e.g., connection-less and connection-oriented)connection-less and connection-oriented)

HRTC 5

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

Recommendations from Previous Recommendations from Previous Review regarding D2.2Review regarding D2.2

We have implemented the following:We have implemented the following:The selected pluggable framework (OCI) The selected pluggable framework (OCI)

has been moved to the annexhas been moved to the annexA clarification for synchronization has A clarification for synchronization has

been addedbeen addedWe have issued a revised version of the We have issued a revised version of the

document (e.g., added timestamps, document (e.g., added timestamps, (a)periodic/sporadic tasks, next (a)periodic/sporadic tasks, next transmission time)transmission time)

6

IST 37652 Hard Real-time CORBA

HRTC

RT-CORBA & OCIRT-CORBA & OCIMiguel Segarra

HRTC 7

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

ContentsContents

How does CORBA work?How does CORBA work? Specifications vs RealitySpecifications vs Reality Sources of nondeterminismSources of nondeterminism Real-Time CORBA Transport SelectionReal-Time CORBA Transport Selection Transport Plugin FrameworkTransport Plugin Framework

8

IST 37652 Hard Real-time CORBA

HRTC

How does CORBA work?

How does CORBA work?

HRTC 9

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

How does CORBA work?How does CORBA work?

•Server Side•Client Side

Object Request BrokerIDL

IDL

POA

CLIENT

SERVANT

IDL

HRTC 10

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

How does CORBA work?How does CORBA work?

Object Request BrokerIDL

IDL

POA

CLIENT

SERVANT

Client.GetValue(); Servant.GetValue();

HRTC 11

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

How does CORBA work?How does CORBA work?

Object Request BrokerIDL

IDL

POA

CLIENT

SERVANT

Object Request BrokerIDL

IDL

POA

CLIENT

SERVANT

GIOP

Servant.GetValue();

Client.GetValue();

12

IST 37652 Hard Real-time CORBA

HRTC

Specification vs RealitySpecification vs Reality

HRTC 13

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

Specification vs RealitySpecification vs Reality

Real-Time CORBA

Messaging

CORBA

MinimumCORBA

TimeService

But close to the process resources are very limited!

HRTC 14

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

Specification vs RealitySpecification vs Reality

CORBA

MinimumCORBA

Real-Time CORBA

Messaging

TimeService

Dynamic part of CORBA

In embedded/real-time systems a lot of decisions are made at design time!

15

IST 37652 Hard Real-time CORBA

HRTC

Sources of non-determinism

Sources of non-determinism

HRTC 16

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

Sources of non-determinismSources of non-determinism

Stub

Client threadpriority

Provide predictability by controlling ORB behavior

ORB

connection

ORBInvoke priority

protocol

Skeleton

POA

threadpriority

concurrency

Servant

HRTC 17

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

Sources of non-determinismSources of non-determinism

Stub

Client

Impact on ORB architecture of predictability issues

ORB

buffering

ORBdelay

Skeleton

POA

threaddispatching

Servant

buffering

request dispatchingmarhalling

marhalling

Memory mgmt

Memory mgmt

18

IST 37652 Hard Real-time CORBA

HRTC

Real-Time CORBA Transport SelectionReal-Time CORBA Transport Selection

HRTC 19

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

Real-Time CORBA Transport Real-Time CORBA Transport SelectionSelection

ESIOPIIOP

(GIOP/TCP)

ORB

ESIOP

RT_CORBA::ORB

???Others

CORBA::Current

Servant

RT_CORBA::Threadpool

SchedulingService

Client

RT_CORBA::Current

Server

RT_CORBA::Priority

RT_CORBA::PriorityMapping

POA RT POA

•A real-time CORBA broker

HRTC 20

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

Real-Time CORBA Transport Real-Time CORBA Transport SelectionSelection

RTOS A

Client

ORB A ORB B

Skeleton

RTOS B

Servant

Stub

TCP/IPTTP OtherTTPTCP/IP

Object Reference

Invocation

21

IST 37652 Hard Real-time CORBA

HRTC

Transport Plugin Framework

Transport Plugin Framework

HRTC 22

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

Transport Plugin FrameworkTransport Plugin Framework

Pluggable transportprotocol

Pluggable messagesupport

Pluggable protocol framework

Acceptor

Connector

POA

threads

ORB

Service handler

23

IST 37652 Hard Real-time CORBA

HRTC

OCI:Open Communications

Interface

OCI:Open Communications

Interface

HRTC 24

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

Open Communications InterfaceOpen Communications Interface

It is an interface (abstract) for a transport plugin It is an interface (abstract) for a transport plugin frameworkframework It supports connection-oriented, reliable “byte-stream” It supports connection-oriented, reliable “byte-stream”

transports. That is,transports. That is, transports which allow the transports which allow the transmission of a continuous stream of bytestransmission of a continuous stream of bytes (octets) (octets) fromfrom the sender to the receiver.the sender to the receiver.

Non-reliable or non-connection-oriented protocols can Non-reliable or non-connection-oriented protocols can also be used if the transportalso be used if the transport plug-in itself takes care of plug-in itself takes care of reliability and connection management.reliability and connection management.

HRTC 25

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

Open Communications InterfaceOpen Communications Interface

ORB

Conn. Fact. Reg. Acc. Fact. Reg.

CLIENT SIDE SERVER SIDE

Conn. Fact. Acc. Fact.AcceptorConnector Transport

TCP/IPConn. Fact.

TCP/IP Acc. Fact.

TCP/IP Acceptor

TCP/IP Connector

TCP/IP Transport

1 1n n

creates

ABSTRACT

IMPLEMENTATION

HRTC 26

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

Open Communications InterfaceOpen Communications Interface

OCI

OCI_TCPIP OCI+_RTEOCI+_TTP

GIOP GIOP GIOP

IIOP TTPIOP RTEIOP

HRTC 27

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

Open Communications InterfaceOpen Communications Interface

Hardware and software usedHardware and software used Sun UltraSparcSun UltraSparc Power PC for TTP nodesPower PC for TTP nodes Power PC for VME boardsPower PC for VME boards Axis developer boardAxis developer board

Operating systemsOperating systems Sun Solaris 8.0Sun Solaris 8.0 RTAI LinuxRTAI Linux

HRTC 28

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

Open Communications InterfaceOpen Communications Interface

We did not foresee to make a lot of We did not foresee to make a lot of modifications to the ORB core but at the modifications to the ORB core but at the end we needed to make modifications in end we needed to make modifications in order to have pure oneway requests and order to have pure oneway requests and to provide special transport handles for to provide special transport handles for RTEthernetRTEthernet

29

IST 37652 Hard Real-time CORBA

HRTC

Protocol IssuesProtocol IssuesThomas Losert

HRTC 30

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

General IssuesGeneral Issues

A Distributed Control System must be A Distributed Control System must be aware of the Progression of Timeaware of the Progression of Time

The ORB must be aware of the The ORB must be aware of the Progression of TimeProgression of Time

HRTC 31

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

Adding Time AwarenessAdding Time Awareness

Proposed Extension of the Transport: Proposed Extension of the Transport: protocol_timeprotocol_time, , next_transmission_timenext_transmission_time, , delivery_timedelivery_time, and , and precisionprecision

Additional Interfaces in Additional Interfaces in RTCORBARTCORBA-module allow -module allow the Application to Read these Values via the the Application to Read these Values via the RTObject which is an additional interface we RTObject which is an additional interface we have implementedhave implemented

Time-Format should be Simple: Chosen Time Time-Format should be Simple: Chosen Time Format from Smart Transducers Interface Format from Smart Transducers Interface Specification (formal/2003-01-01)Specification (formal/2003-01-01)

HRTC 32

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

DeadlinesDeadlines

In RTCORBA just Timeouts are supportedIn RTCORBA just Timeouts are supported(when set at client side)(when set at client side)

Defined policies in the ORB but not Defined policies in the ORB but not implemented in the testbedsimplemented in the testbeds

HRTC 33

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

Changes/ExtensionsChanges/Extensions

An RTORB contains a policy that decides An RTORB contains a policy that decides between 100 ns and 60 nsbetween 100 ns and 60 ns

Timestamping (not implemented)Timestamping (not implemented)Proposed extension of IDL allows Proposed extension of IDL allows

classification of tasks: periodic (RT), classification of tasks: periodic (RT), sporadic (RT), and aperiodic (no RT)sporadic (RT), and aperiodic (no RT)

HRTC 34

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

State vs. Event ValuesState vs. Event Values

Characteristic State Observation

Event Observation

Value Full Value Value Difference

Frequency Periodic Sporadic

Loss of Observ. Period lost Loss of synch.

Semantics At-least-once Exactly-once

Error Detection At receiver At sender only

IST 37652 Hard Real-time CORBA

HRTC

TTPIOPTTPIOP

HRTC 36

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

ComposabilityComposabilityWe call an architecture We call an architecture composablecomposable with respect to a with respect to a

specified property, if the system integration will not specified property, if the system integration will not invalidate this property provided it has been established at invalidate this property provided it has been established at the subsystem level, e.g.:the subsystem level, e.g.: TimelinessTimeliness TestabilityTestability

System properties should follow from subsystem System properties should follow from subsystem properties.properties.Otherwise the system integrator is left with the challenging Otherwise the system integrator is left with the challenging task to find out why the system does not work, although task to find out why the system does not work, although all subsystems work according to their specifications.all subsystems work according to their specifications.

HRTC 37

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

TDMA Media AccessTDMA Media Access

assigned tonode 0

assigned tonode 1

assigned tonode 2

assigned tonode 3

12:00 3:00 5:00 9:00 12:00

assigned tonode 3

assigned tonode 0

slot 0 slot 1 slot 2 slot 3 slot 0slot 3

TDMA round nTDMA round (n-1) TDMA round (n+1)

Real Time

TT communication systemTT communication systemPeriodic transmission of state messagesPeriodic transmission of state messagesTwo redundant channels with TDMATwo redundant channels with TDMA

Sending slotsSending slots TDMA roundsTDMA rounds

HRTC 38

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

Flow of State and Event Flow of State and Event Information in TTPIOPInformation in TTPIOP

OCI

ORB

TTP

GIOP

GIOP

Servant

RT Data

OCI

ORB

TTP

GIOP

GIOP

Client

RT Data

Node n-1 Node n Node n+1

CORBA RT Data

Event Information

State Information

IST 37652 Hard Real-time CORBA

HRTC

RTEIOPRTEIOP

Real-Time Communication over Switched Ethernet ThrottleNet: The link layer in the RT Ethernet approach

HRTC 40

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

• Isolated collision domains • Full duplex communication• Inexpensive hardware (COTS) and high performance• Traffic control (throttling) guarantees end-to-end latency• Buffer delay causes jitter

Switched EthernetSwitched Ethernet

Switch

HRTC 41

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

Periodic Real-Time ChannelPeriodic Real-Time Channel

One-way communication channelOne-way communication channel between sender and receiver between sender and receiver

Parameters:Parameters: Frequency (maximum send rate)Frequency (maximum send rate) Maximum transmit time (maximum message Maximum transmit time (maximum message

size)size) Maximum allowed latencyMaximum allowed latency

Schedulability analysis decides if latency Schedulability analysis decides if latency constraint holds constraint holds

HRTC 42

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

Non Real-Time TrafficNon Real-Time Traffic

Bandwidth is allocated to non-real time Bandwidth is allocated to non-real time traffic traffic

TCP, UDP, ….TCP, UDP, ….

HRTC 43

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

ThrottlingThrottling

Traffic control through bufferingTraffic control through buffering Ensure that sending nodes do not Ensure that sending nodes do not

violate their periodicity violate their periodicity Bandwidth limitationBandwidth limitation Applies to real-time traffic and non real-Applies to real-time traffic and non real-

time traffic time traffic

HRTC 44

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

Schedulability AnalysisSchedulability Analysis Worst-case basedWorst-case based Calculate the latencies for the worst-caseCalculate the latencies for the worst-case

buffering scenario buffering scenario Take the buffer overflow into account Take the buffer overflow into account May result in considerable jitterMay result in considerable jitter Implemented by a special node Implemented by a special node

(the “GlobeThrottle”) (the “GlobeThrottle”) Dynamic admission of new channelsDynamic admission of new channels

HRTC 45

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

GlobeThrottleGlobeThrottleGlobeThrottle:• contains the global traffic information• schedules the RT traffic requests• updates the nodes when the schedule is changed• router for non-RT traffic• gateway to Internet• converts incoming broadcasts

to scheduled unicasts

GlobeThrottle

HRTC 46

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

RT-LayerRT-Layer

RT layer:RT layer: Traffic control for worst-Traffic control for worst-

case scheduling case scheduling Distinguish RT and non-Distinguish RT and non-

RT traffic (RT header) RT traffic (RT header) FragmentationFragmentation

Non RT trafficNon RT traffic RT traffic (may improve RT traffic (may improve

schedulability)schedulability)

HRTC 47

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

Related WorkRelated Work

K.G Shin et al (U of Michigan)K.G Shin et al (U of Michigan) Throttled shared EthernetThrottled shared Ethernet Statistical latency boundsStatistical latency bounds

RTnetRTnet Time-triggered Real-Time EthernetTime-triggered Real-Time Ethernet RTAIRTAI Univ of HannoverUniv of Hannover

48

IST 37652 Hard Real-time CORBA

HRTC

RTEIOP: ThrottleNet CORBARTEIOP: ThrottleNet CORBA

HRTC 49

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

ThrottleNet and CORBAThrottleNet and CORBA ThrottleNet as the data link layerThrottleNet as the data link layer Real-time CORBA requests on the same Real-time CORBA requests on the same

network as ordinary CORBA requests network as ordinary CORBA requests

HRTC 50

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

Ordinary CORBA trafficOrdinary CORBA traffic

IIOP messages tunneled over ThrottleNetIIOP messages tunneled over ThrottleNet Fragmented and buffered to not disturb Fragmented and buffered to not disturb

the real-time traffic the real-time traffic ThrottleNet transparent to IIOPThrottleNet transparent to IIOP Buffering the only effect on IIOPBuffering the only effect on IIOP

HRTC 51

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

Real-Time TrafficReal-Time Traffic

GIOP requests from client to server GIOP requests from client to server mapped to mapped to ThrottleNet real-time channels ThrottleNet real-time channels

True one-way requestsTrue one-way requests Support for this added to the ICa ORBSupport for this added to the ICa ORB

GIOP messages tunneled over GIOP messages tunneled over ThrottleNet ThrottleNet

HRTC 52

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

Real-Time TrafficReal-Time Traffic Explicit connection bindings Explicit connection bindings

-- -- validate_connectionvalidate_connection avoid binding related overheadavoid binding related overhead the communication between the client and the communication between the client and

server in connection with the binding is from a server in connection with the binding is from a scheduling point of view be considered as scheduling point of view be considered as being part of the real-time channel being part of the real-time channel communicationcommunication

HRTC 53

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

ThrottleNet CORBAThrottleNet CORBA

OCI with two parallel OCI with two parallel transport plug-ins transport plug-ins

The application The application decides which decides which transport to use transport to use

EthernetInterface

IP

TCP

IIOP

RT-ORB

RTE

OCI+

CORBA client &server application code

ThrottleNet

RT

HRTC 54

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

ThrottleNet R-T ClientThrottleNet R-T Client

1.1. Register the communication channel with Register the communication channel with the GlobeThrottle server.the GlobeThrottle server.

2.2. If schedulability test in GlobeThrottle If schedulability test in GlobeThrottle returns OKreturns OK

Setup explicit connectionSetup explicit connection Communicate over the connectionCommunicate over the connection

HRTC 55

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

GlobeThrottleGlobeThrottle

Could be implemented in different waysCould be implemented in different ways1.1. As an ordinary CORBA object residing in As an ordinary CORBA object residing in

one the nodes.one the nodes.• Communication using IIOPCommunication using IIOP

2.2. As a new CORBA “real-time scheduling” As a new CORBA “real-time scheduling” serviceservice

HRTC 56

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

Main CharacteristicsMain Characteristics

Close in spirit to ordinary CORBAClose in spirit to ordinary CORBA UnicastUnicast Invocation-oriented event-triggered communicationInvocation-oriented event-triggered communication

RT traffic and CORBA IIOP traffic coexist RT traffic and CORBA IIOP traffic coexist on the network on the network

One-way communicationOne-way communication Hard upper bounds on latency, but considerableHard upper bounds on latency, but considerable

jitter jitter Open Issues:Open Issues:

Is the GIOP message format efficient enough?Is the GIOP message format efficient enough?

HRTC 57

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

Possible Future ExtensionPossible Future Extension

Global ClockGlobal Clock Improves schedulability and reduces jitterImproves schedulability and reduces jitter Compare RTnetCompare RTnet

Schedulability analysis for two-waySchedulability analysis for two-way invocations invocations

HRTC 58

Cop

yrig

ht ©

20

02 T

he

HR

TC

Co

nso

rtiu

m. w

ww

.har

dre

altim

eco

rba

.org

. A

ll ri

gh

ts r

ese

rve

d.

IST 37652 / Hard Real-time CORBA

OutlookOutlook

Moving ORB from Usermode to Moving ORB from Usermode to Kernelmode is outside the scope of this Kernelmode is outside the scope of this projectproject

Tool for offline-scheduling of IDL (for Tool for offline-scheduling of IDL (for TTPIOP)TTPIOP)

Clock Synchronisation (for RTEIOP)Clock Synchronisation (for RTEIOP)Running the ORB in RTAI context or Running the ORB in RTAI context or

running the ORB in user context (e.g., with running the ORB in user context (e.g., with lxrt)lxrt)