DDS on SPARTA...DDS Vendors Real-Time innovations, Inc. ((p y)Commercial, Open Community Source)...

21
DDS on SPARTA DDS on SPARTA Stefano Zampieri [email protected]

Transcript of DDS on SPARTA...DDS Vendors Real-Time innovations, Inc. ((p y)Commercial, Open Community Source)...

Page 1: DDS on SPARTA...DDS Vendors Real-Time innovations, Inc. ((p y)Commercial, Open Community Source) PrismTech (Commercial & Open Source) Object Computing, Inc. (OpenDDS, Open Source)

DDS on SPARTADDS on SPARTA

Stefano [email protected]

Page 2: DDS on SPARTA...DDS Vendors Real-Time innovations, Inc. ((p y)Commercial, Open Community Source) PrismTech (Commercial & Open Source) Object Computing, Inc. (OpenDDS, Open Source)

Agenda

DDS Overview DDS Overview

DDS SPARTA DDS on SPARTA

Network considerations

Conclusions

Real Time Control Workshop, 4-5 Dec 2012

Page 3: DDS on SPARTA...DDS Vendors Real-Time innovations, Inc. ((p y)Commercial, Open Community Source) PrismTech (Commercial & Open Source) Object Computing, Inc. (OpenDDS, Open Source)

DDS in a nutshell

DDS is a Real-Time Data-Centric Networking MiddlewareS s a ea e ata Ce t c et o g dd e a e DDS focuses on

Performance• High-performance data-access APIs (zero copy access)

Configurability• Quality of Service• Quality of Service

Scalability• UDP, multicast, reliable multicast

DDS does not require the presence of intermediate brokers• Applications can communicate directly peer-to-peer

DDS supports advanced features DDS supports advanced features• E.g. source filtering (via Content-based and Time-based filters)

IntegrationE ith D t b M t S t

Real Time Control Workshop, 4-5 Dec 2012

• E.g. with Database Management Systems

Page 4: DDS on SPARTA...DDS Vendors Real-Time innovations, Inc. ((p y)Commercial, Open Community Source) PrismTech (Commercial & Open Source) Object Computing, Inc. (OpenDDS, Open Source)

DDS Standards Data Distribution Service for Real-Time Systems (DDS)

API specification for Data-Centric Publish-Subscribe communication for API specification for Data Centric Publish Subscribe communication for distributed real-time systems.

Current version 1.2 DDS I t bilit i P t l (DDSI/RTPS) DDS Interoperability wire Protocol (DDSI/RTPS)

Ensure that applications based on different vendors’ implementations of DDS can interoperate.

Current version 2.1 Related Standards

UML Profile for DDS adopted June 2008 UML Profile for DDS adopted June 2008 DDS for light weight CCM adopted 2008 Extensible and Dynamic Topic Types for DDS adopted 2010

Standards under Development Native Language C++ API for DDS DDS-Java

Real Time Control Workshop, 4-5 Dec 2012

DDS Java

Page 5: DDS on SPARTA...DDS Vendors Real-Time innovations, Inc. ((p y)Commercial, Open Community Source) PrismTech (Commercial & Open Source) Object Computing, Inc. (OpenDDS, Open Source)

DDS Vendors

Real-Time innovations, Inc. (Commercial, Open Community Source)( p y ) PrismTech (Commercial & Open Source) Object Computing, Inc. (OpenDDS, Open Source) Twin Oaks Computing, Inc. (CoreDX, Commercial) Etc.

Real Time Control Workshop, 4-5 Dec 2012

Page 6: DDS on SPARTA...DDS Vendors Real-Time innovations, Inc. ((p y)Commercial, Open Community Source) PrismTech (Commercial & Open Source) Object Computing, Inc. (OpenDDS, Open Source)

DDS Model

Topic Topicp p

Listeners Listeners

OfferedQ S

DataReader

DataWriter Requested

Q SQoSSubscriberPublisher

Domain Participant

DomainParticipant

QoS

p

Global Data Space

Real Time Control Workshop, 4-5 Dec 2012

Page 7: DDS on SPARTA...DDS Vendors Real-Time innovations, Inc. ((p y)Commercial, Open Community Source) PrismTech (Commercial & Open Source) Object Computing, Inc. (OpenDDS, Open Source)

QoS: Quality of Service

Q S P li Q S P liQoS Policy QoS PolicyDURABILITY USER DATA

HISTORY TOPIC DATA

User Q

oHISTORY TOPIC DATA

READER DATA LIFECYCLE GROUP DATA

WRITER DATA LIFECYCLE PARTITION

Vola

tility

oSPres

LIFESPAN PRESENTATION

ENTITY FACTORY DESTINATION ORDER

sentationR

ruct

ure

RESOURCE LIMITS OWNERSHIP

RELIABILITY OWNERSHIP STRENGTH

Redundancy

Infr

astr

TIME BASED FILTER LIVELINESS

DEADLINE LATENCY BUDGET

CONTENT FILTERS TRANSPORT PRIORITY

Del

iver

y Transport

Real Time Control Workshop, 4-5 Dec 2012

CONTENT FILTERS TRANSPORT PRIORITY

Page 8: DDS on SPARTA...DDS Vendors Real-Time innovations, Inc. ((p y)Commercial, Open Community Source) PrismTech (Commercial & Open Source) Object Computing, Inc. (OpenDDS, Open Source)

Example QoS

<durability>y<kind>DDS_TRANSIENT_LOCAL_DURABILITY_QOS</kind>

</durability>

<time based filter><time_based_filter><minimum_separation>

<sec>1</sec><nanosec>0</nanosec>

</minimum separation>

<history><kind>DDS KEEP ALL HISTORY QOS</kind>

</minimum_separation></time_based_filter>

<kind>DDS_KEEP_ALL_HISTORY_QOS</kind></history>

<reliability><kind>DDS RELIABLE RELIABILITY QOS</kind><kind>DDS_RELIABLE_RELIABILITY_QOS</kind>

<max_blocking_time><sec>0</sec><nanosec>0</nanosec>

</max blocking time>

Real Time Control Workshop, 4-5 Dec 2012

</max_blocking_time></reliability>

Page 9: DDS on SPARTA...DDS Vendors Real-Time innovations, Inc. ((p y)Commercial, Open Community Source) PrismTech (Commercial & Open Source) Object Computing, Inc. (OpenDDS, Open Source)

Agenda

DDS Overview DDS Overview

DDS SPARTA DDS on SPARTA

Network considerations

Conclusions

Real Time Control Workshop, 4-5 Dec 2012

Page 10: DDS on SPARTA...DDS Vendors Real-Time innovations, Inc. ((p y)Commercial, Open Community Source) PrismTech (Commercial & Open Source) Object Computing, Inc. (OpenDDS, Open Source)

SPARTA Real Time Data Flows

RecorderDisplay CalibrationDisplay

Aux. TaskCalibration

Display

Recorder

DDSVisPixelFrame

DDSVisLoopFrame

DDSDisturbancep

Frame

VisLoopConcentrVisPixelConcentr Uploader

ClusterCluster

WPU WPU CTRWFS pixels DM commands

Real Time BoxReal Time BoxLow latencyLow latency

RECN

Real Time Control Workshop, 4-5 Dec 2012

Page 11: DDS on SPARTA...DDS Vendors Real-Time innovations, Inc. ((p y)Commercial, Open Community Source) PrismTech (Commercial & Open Source) Object Computing, Inc. (OpenDDS, Open Source)

Additional Data Flows

DB Events (n:m)e ts ( )• Database updates sent to DBGateway and to Main• Including Alarms• ~300 events/s (measured on SPHERE)

CDMS E t (1 )CDMS Events (1:n)• Upon object updates in the SPARTA Cfg. DB• Trigger chain of events• Trigger chain of events

Log Events (n:1)Log Events (n:1)• Log messages sent to LogGateway

Real Time Control Workshop, 4-5 Dec 2012

Page 12: DDS on SPARTA...DDS Vendors Real-Time innovations, Inc. ((p y)Commercial, Open Community Source) PrismTech (Commercial & Open Source) Object Computing, Inc. (OpenDDS, Open Source)

Throughput requirements

SAXO SAXOVisLoop: 20KB @ 1.2KHzVisPixel: 112KB @ 10HzVisPixel: 112KB @ 10HzTot: ~25MB/s

AOF AOFLGSLoop: 67KB @ 1KHzLGSPi l 450KB @ 10 HLGSPixel: 450KB @ 10 HzTot: ~72MB/s

Multicast !

Real Time Control Workshop, 4-5 Dec 2012

Page 13: DDS on SPARTA...DDS Vendors Real-Time innovations, Inc. ((p y)Commercial, Open Community Source) PrismTech (Commercial & Open Source) Object Computing, Inc. (OpenDDS, Open Source)

SPARTA DDS Model

SPARTA DDS Wrapper (spadds) SPARTA DDS Wrapper (spadds)Simplified API (DDS-like)Publisher (write)Publisher (write)Subscriber + DataListener (onDataAvailable)Topic: template parameter + stringTopic: template parameter + stringQoS defined in XML configuration fileQoS Profiles referenced by name when creatingQoS Profiles, referenced by name when creating

Publishers and Subscribers• HighThroughputReliableProfile (reliable, large send queue)HighThroughputReliableProfile (reliable, large send queue)• LargePacketsReliableProfile (>64KB, asynchronous publisher)• ReliableEventProfile (durability)

Real Time Control Workshop, 4-5 Dec 2012

• PixelDisplayProfile (time based filter)

Page 14: DDS on SPARTA...DDS Vendors Real-Time innovations, Inc. ((p y)Commercial, Open Community Source) PrismTech (Commercial & Open Source) Object Computing, Inc. (OpenDDS, Open Source)

SPARTA Data Task

Simplifies development of S p es de e op e t odata tasks

Simple model: receive N psamples then process them in a separate thread

Developer must implement virtual methods received_, process andprocess_, and deadlineMissed_

Examples: Garbage Collector Examples: Garbage Collector, Loop Optimiser, Atmospheric Monitor, etc

Real Time Control Workshop, 4-5 Dec 2012

Page 15: DDS on SPARTA...DDS Vendors Real-Time innovations, Inc. ((p y)Commercial, Open Community Source) PrismTech (Commercial & Open Source) Object Computing, Inc. (OpenDDS, Open Source)

Agenda

DDS Overview DDS Overview

DDS SPARTA DDS on SPARTA

Network considerations

Conclusions

Real Time Control Workshop, 4-5 Dec 2012

Page 16: DDS on SPARTA...DDS Vendors Real-Time innovations, Inc. ((p y)Commercial, Open Community Source) PrismTech (Commercial & Open Source) Object Computing, Inc. (OpenDDS, Open Source)

Multicast & IGMP

Multicast vs Broadcast

IP Multicast IP Multicast Take advantage of multicast efficiency in network IP address range: 224.0.0.0 to 239.255.255.255.

IGMP snooping switches No IGMP snooping

• Multicast traffic broadcasted to each portp IGM Snooping

• Switch forwards multicast packets to correct ports– Monitors IGMP join messages

• Multicast addresses configured by subscriber

Real Time Control Workshop, 4-5 Dec 2012

• Multicast addresses configured by subscriber

Page 17: DDS on SPARTA...DDS Vendors Real-Time innovations, Inc. ((p y)Commercial, Open Community Source) PrismTech (Commercial & Open Source) Object Computing, Inc. (OpenDDS, Open Source)

Wireshark & RTPS2

Real Time Control Workshop, 4-5 Dec 2012

Page 18: DDS on SPARTA...DDS Vendors Real-Time innovations, Inc. ((p y)Commercial, Open Community Source) PrismTech (Commercial & Open Source) Object Computing, Inc. (OpenDDS, Open Source)

Scaling up

Initial tests on 10 GigE using rtiperftest (no tuning)

One way L t ( )

Packets/s Mb/s Packet lossLatency (us)

Best effortSmall packets

105 130000 104 Very low

ReliableSmall packets

510? 35000 28 0

Best effort 357 11160 5620 About 1%Best effortLarge packets

357 11160 5620 About 1%

ReliableL k t

372 10400 5000 0Large packets

Jumbo frames ?

Real Time Control Workshop, 4-5 Dec 2012

Jumbo frames ?

Page 19: DDS on SPARTA...DDS Vendors Real-Time innovations, Inc. ((p y)Commercial, Open Community Source) PrismTech (Commercial & Open Source) Object Computing, Inc. (OpenDDS, Open Source)

Agenda

DDS Overview DDS Overview

DDS SPARTA DDS on SPARTA

Network stuff

Conclusions

Real Time Control Workshop, 4-5 Dec 2012

Page 20: DDS on SPARTA...DDS Vendors Real-Time innovations, Inc. ((p y)Commercial, Open Community Source) PrismTech (Commercial & Open Source) Object Computing, Inc. (OpenDDS, Open Source)

Conclusions

DDS works (and saves development) DDS works (and saves development)Only 1 serious issue up to now, solved by upgradingReliable (no intermediate brokers) efficientReliable (no intermediate brokers), efficientSimple programming model, also thank to wrapper APIHighly configurable through external QoSHighly configurable, through external QoS

Future perspectivesDDS/RTPS on Real-Time Box ?

Real Time Control Workshop, 4-5 Dec 2012

Page 21: DDS on SPARTA...DDS Vendors Real-Time innovations, Inc. ((p y)Commercial, Open Community Source) PrismTech (Commercial & Open Source) Object Computing, Inc. (OpenDDS, Open Source)

Questions

Thank You !

R fReferenceshttp://portals.omg.org/dds/sites/default/files/DDS_Tutorial_RT_Worskshop_2010.pdf

Real Time Control Workshop, 4-5 Dec 2012