View
301
Download
0
Category
Preview:
Citation preview
Your systems. Working as one.
Connext DDS 5.1: Scale Intelligent Systems to the Internet of Things
February 27, 2014
Topics
• Intelligent Systems • Role of Connext DDS • Driver: Internet of Things • New in Connext DDS 5.1 • Next Steps
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC. 2
Intelligent Systems
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC. 3
Connext DDS: CommunicaTons PlaVorm for Intelligent Systems
Real-‐Time AnalyTcs & Control
Operator HMI
Sensors Actuators
IT / Cloud / SoS IntegraTon
Network / Bus / IPC
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC. 4
Connext DDS Professional
Connext DDS Product Family
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC.
DDS-‐RTPS Wire Interoperability Protocol
DDS & JMS Libraries
RouTng Service
Database IntegraTon
Connext DDS Micro
Connext DDS Cert
AdministraTon
Monitoring
Microso] Excel
Recording
Replay
Wireshark
Persistence
Logging
Prototyper
General Purpose Real-‐Time Apps
Remote Apps
Disparate Apps
Adapter
Small Footprint Apps
High Assurance Apps (DO-‐178C)
5
Broad Interoperability for Heterogeneous Systems
• Programming languages and environments – C, C++, C#/.NET, Java, Ada – LabVIEW, MATLAB, Simulink, UML
• OperaTng systems – Windows, Linux, Unix, Mac OS – Embedded, real Tme, parTToned – Mobile
• Processor families – x86, ARM, PowerPC… – 32-‐ and 64-‐bit
• Transport types – Shared memory – LAN (incl. mulTcast) – WAN – Wireless – Low bandwidth
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC. 6
Trend: Internet of Things (IoT)
• ConnecTng more devices, applicaTons and systems
• To each other, data center, cloud
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC. 7
IoT Benefits
Sharing more data across devices and applicaTons for beher: • SituaTonal awareness, decision making • AutomaTon, responsiveness, efficiency • Asset uTlizaTon
• PaTent safety, clinician efficiency • Energy efficiency, reliability
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC. 8
IoT in PracTce
Actuators Sensors
AnalyTcs, control HMI
Actuators Sensors
AnalyTcs, control HMI
Actuators Sensors
AnalyTcs, control HMI
AnalyTcs, control HMI
Centralized analyTcs
Decentralized devices, analyTcs, control
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC. 9
IoT Challenges
• Scalability – aggregate data volumes
• Extensibility – incremental evoluTon
• Adaptability – can’t characterize performance at dev Tme
• Debugability
Actuators Sensors
AnalyTcs, control HMI
Actuators Sensors
AnalyTcs, control HMI
Actuators Sensors
AnalyTcs, control HMI
AnalyTcs, control HMI
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC. 10
Introducing Connext DDS Professional 5.1
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC. 11
RouTng Service Content Filter PropagaTon
• Reduce bandwidth and CPU uTlizaTon in a hierarchical system where DataReaders subscribe to a subset of data
• DataWriter and RouTng Service only publish data that is subscribed
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC.
RouTng Service
Apps Devices
RouTng Service
Apps Devices
RouTng Service
Apps Devices
RouTng Service
12
RouTng Service – Content Filter PropagaTon Co
nnext D
DS 5.1
Prior to 5.1
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC.
DataReader
DataWriter
RS1
X = 1
DataReader
X > 5
DataReader
X = 7
DataWriter
CommunicaTon direcTon
1 2
3 4
11 2 3 4
RSN RS2
DataReader
DataWriter
RS1
X = 1
DataReader
X > 5
DataReader
X = 7
DataWriter
CommunicaTon direcTon
1 2
3 4
1
RSN
1
X =1 or X > 5 or X = 7
Filter propagaTon direcTon Sample filtering
Sample filtering
RS1
13
Enhanced TCP Transport Scalability using I/O CompleTon Ports (IOCP)
Connext DDS 5.0 Connext DDS 5.1
Asynchronous I/O operaTon using IOCP API
Windows server
Windows server
clients clients
clients
clients
clients clients
clients
clients clients clients
clients
clients
clients clients
clients
clients clients
clients
clients
clients
clients clients
clients
clients
clients clients
clients
clients
clients clients
clients
clients
Synchronous I/O operaTon using Select () API
>1500 clients ~ 600 clients
• To enable IOCP simply set the property socket_monitoring_kind in TCP plugin to WINDOWS_IOCP
Supports far more TCP connecTons in Windows-‐based deployments
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC. 14
Extensible Types (DDS-‐XTypes)
• Enables dynamic upgrades • Types can evolve while maintaining backward interoperability
• EssenTal for large and mission-‐criTcal systems
FINAL • Can’t be modified or derived • All primiTve fields are final
EXTENSIBLE <default> • Type can be extended, but not modified • Extensions can only appear at the end of the
type definiTon
MUTABLE • Type can be reordered and/or modified
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC. 15
Extensible Types
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC.
@Extensibility(Extenisble_EXTENSIBILITY) struct TrackData { long id; //@ID 1 long x; //@ID 2 long y; //@ID 3 };
@Extensibility(Extensible_EXTENSIBILITY) struct TrackData { long id; //@ID 1 long x; //@ID 2 long z; //@ID 4 long y; //@ID 3 };
@Extensibility(Extensible_EXTENSIBILITY) struct TrackData { long id; //@ID 1 long x; //@ID 2 long y; //@ID 3 };
@Extensibility(Extensible_EXTENSIBILITY) struct TrackData { long id; //@ID 1 long x; //@ID 2 long y; //@ID 3 long z; //@ID 4 };
Connext DDS 5.0
16
@Extensibility(Mutable_EXTENSIBILITY) struct TrackData { long id; //@ID 1 long x; //@ID 2 long y; //@ID 3 };
@Extensibility(Mutable_EXTENSIBILITY) struct TrackData { long id; //@ID 1 long x; //@ID 2 long y; //@ID 3 long z; //@ID 4 };
Connext DDS 5.1
@Extensibility(Mutable_EXTENSIBILITY) struct TrackData { long id; //@ID 1 long x; //@ID 2 long y; //@ID 3 };
@Extensibility(Mutable_EXTENSIBILITY) struct TrackData { long id; //@ID 1 long x; //@ID 2 long z; //@ID 4 long y; //@ID 3 };
Note: 4-‐byte or 12-‐byte per member extra overhead on the wire.
Mutable Types
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC. 17
XTypes: OpTonal Members
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC.
@Extensibility(MUTABLE_EXTENSIBILITY) struct TrackData { long id; long x; long y; long z; //@OpTonal };
typedef struct TrackData { DDS_Long id; DDS_Long x; DDS_Long y; DDS_Long * z; };
NULL value means there is no value because logically the value is not there
C/C++
Bandwidth overhead per member FINAL/EXTENSIBLE MUTABLE
SET 4/12-‐byte HEADER + VALUE 4/12-‐byte HEADER + VALUE
NOT SET 4/12-‐byte HEADER 0-‐byte
Supports scenarios in which data type member value is not known or does not exist
18
BuilTn QoS Profile
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC.
• Facilitate configuraTon for common scenarios and use cases • Reduce configuraTon effort vs. sexng individual QoS
parameters
• Total of 34 QoS Profiles as part of the core library • Can be extended and expanded as new features developed
and new use cases idenTfied
19
BuilTn QoS Profiles
BASELINE_ ROOT
BASELINE_ 5_0_0
BASELINE
BASELINE_ 5_1_0
GENERIC_ COMMON
GENERIC_ MONITORING
GENERIC__ CONNEXT_MICRO_COMPATIBILITY
GENERIC_ CONNEXT_OTHER DDS_VENDOR_ COMPATIBILITY
Baseline Generic
PERIODIC_DATA
RELIABLE_ STREAMING
STREAMING
EVENT
STATUS
ALARM_EVENT
ALARM_STATUS
LAST_VALUE_ CACHE
PaRern
Experimental
KEEP_LAST_RELIABLE_ TRANSIENT_LOCAL
KEEP_LAST_RELIABLE_ TRANSIENT
KEEP_LAST_RELIABLE_ PERSISTENT
STRICT_RELIABLE_LARGE_ DATA_FAST_FLOW
STRICT_RELIABLE_LARGE_ DATA_MEDIUM_FLOW
STRICT_RELIABLE_LARGE_ DATA_SLOW_FLOW
KEEP_LAST_RELIABLE_ LARGE_DATA_FAST_FLO
W
KEEP_LAST_RELIABLE_LARGE_DATA_MEDIUM_
FLOW
KEEP_LAST_RELIABLE_ LARGE_DATA_SLOW_
FLOW
STRICT_RELIABLE
BEST_EFFORT
KEEP_LAST_ RELIABLE
STRICT_RELIABLE_ HIGH_THROUGHPUT
STRICT_RELIIABLE_LOW_LATENCY
Basic
Durability
PARTICIPANT_ LARGE_DATA
PARTICIPANT_LARGE_ DATA_MONITORING
STRICT_RELIABLE_ LARGE_DATA
KEEP_LAST_RELIABLE_ LARGE_DATA
AUTO_TUNING
Large Data
Performance
Large Data with Flow Control
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC. 20
Improved Default Transport Sexngs
• Improves out-‐of-‐box performance • Minimizes need for tuning
• Default QoS profile available to enable backward compaTble with 5.0.0
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC. 21
Turbo Mode (Experimental)
• As sending rate changes, automaTcally adjusts QoS to maintain opTmal performance
• Improves performance in burst traffic scenario – High throughput at high sending rate – Low latency at slow sending rate
• Supported by new per]est • hhp://community.rT.com/downloads/rT-‐connext-‐dds-‐
performance-‐test
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC. 22
Auto Throhle (Experimental)
• Improves latency and jiher in high throughput condiTons
• AutomaTcally adjusts DataWriter send rate and send window size in reliable communicaTons using protocol feedback: – Send window occupancy to control the send rate – NACK messages to control the send window size
• Tradeoff – May increase CPU usage in sending machine (acTve wait) – Slightly reduces throughput for small data sizes (<10%)
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC. 23
Auto Throhle Performance
0
5000
10000
15000
20000
25000
30000
0 10000 20000 30000 40000 50000 60000
Latency in M
icrosecond
s
Message Size (bytes)
Auto ThroRle disabled
Average Minimum 99%
0
5000
10000
15000
20000
25000
30000
0 10000 20000 30000 40000 50000 60000
Latency in M
icrosecond
s
Message Size (bytes)
Auto ThroRle enabled
Average Minimum 99%
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC. 24
Recording Service: Flexible Field SelecTon
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC.
Pre 5.1…
What the user really cares about What we store by default, apart from user-‐data
25 columns of metadata
25
Recording Service: Flexible Field SelecTon
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC.
2 columns
of metadata
Now (5.1.0) …
What the user really cares about What we also store in the DB by default
26
Recording Service: Flexible Field SelecTon
Users can now select what SampleInfo fields to store with their recorded data
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC. 27
Admin Console Enhancements
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC.
Eclipse RCP DDS
Admin Console Infrastructure
System Control (5.0)
System Awareness
(5.1)
Debugging
(5.1)
28
Admin Console Features
5.0 • Physical View • System Editor • Processes View • Host View • Process Editor • RouTng Service Editor • Persistence Editor • Recording Service Editor • Replay Service Editor • XML Editor
5.1 • Auto Join • DDS Logical View • Health and Match Analyses • DDS QoS View • Domain Topic • DDS Data Type View • System Log • Resource Charts for Host
and RouTng Service
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC. 29
Auto Join
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC.
Domains Joined:
6
8
, 6 , 8 0
30
DDS Logical View This view presents a hierarchical view of the system from a DDS perspecTve. It shows a list of DDS domains and the topics within them.
Each enTty has a badge to represent its health.
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC. 31
Health & System Health The Health View makes it simple to tell if a system enTty is known to have exisTng problems.
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC.
9 condiTons are evaluated to determine health.
32
Real-‐Tme Match Analyses
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC.
33
QoS
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC. 34
Topic
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC. 35
Topic
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC. 36
Topic
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC. 37
DDS Data Type View
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC.
Hierarchical view of a data type used by a DDS DataWriter or DataReader
The equivalent IDL is also available. 38
System Log
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC.
Combined log from all applicaTons using Distributed Logger.
39
RouTng Service: Resources Chart
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC.
Similar view for Host 40
Extended Process InformaTon
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC. 41
Prototyper with LUA (Experimental)
XML Sexngs
Prototyper (“Container”)
Lua Engine
DDS
Lua Component
1. ##$Interface:$parameters,$inputs,$outputs$2. local$A,$B,$C$=$30,$30,$10$##$Change$the$'C'$parameter$to$to$see$various$flower$shapes$$3. local$ShapeWriter$=$CONTAINER.WRITER[3]$##$Triangles$4. $5. ##$Global$counter$(preserved$across$invocations)$$$6. if$not$count$then$count$=$0$else$count$=$count$+$1$$end$$$7. $8. local$shape$=$ShapeWriter.instance;$9. local$angle$=$count$%$360;$10. $11. shape['x']$$$$$$$$$=$120$+$(A+B)$*$math.cos(angle)$+$B$*$math.cos((A/B#C)*angle)$$$12. shape['y']$$$$$$$$$=$120$+$(A+B)$*$math.sin(angle)$+$B$*$math.sin((A/B#C)*angle)$13. $14. shape['shapesize']$=$5$15. shape['color']$=$"RED"$16. $17. ShapeWriter:write()$
$
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC. 42
CodeGen 2.0 (Experimental) • Reduce code generaTon Tme especially when dealing with
large IDL files and large number of IDL files • Ease customizaTons and extensions to code generaTon
• Usability – Apache Velocity (VLT) templates are used in place of XSL
• Performance – With small IDL files, performance is 6x faster (server mode)
– With a large IDL file (2,000 structs) CodeGen 2.0 is >10x faster
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC. 43
MigraTng to 5.1
• No API changes required – ExcepTon: Removed “_exp” suffix from XML ApplicaTon CreaTon APIs
• Must regenerate code • BuilTn QoS profile provided for 5.0 interoperability
• Monitoring and administraTon topics are not compaTble with 5.0 – Now leveraging XTypes for future forward compaTbility
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC. 44
Connext DDS 5.1 Summary
• 60+ new features and enhancements to improve – Scalability – Extensibility – Adaptability and performance – Usability and debuggability
• New experimental features • 20+ new plaVorms
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC. 45
Next Steps
• Connext DDS Professional 5.1 downloads – EvaluaTon: hhp://www.rT.com/downloads/connext.html – Customer portal: hhp://support.rT.com – Live CD: hhp://community.rT.com/content/page/downloads
• Blog posts with more details at hhp://blogs.rT.com • Many resources at hhp://community.rT.com
– Examples – Case+Code – Forums – Knowledgebase
• New and improved performance test – hhp://community.rT.com/downloads/rT-‐connext-‐dds-‐performance-‐test
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC. 46
Thank You!
February 27, 2014 © 2014 REAL-‐TIME INNOVATIONS, INC. 47
Recommended