Connext DDS 5.1: Scale Intelligent Systems to the Internet of Things

2,995 views
2,861 views

Published on

Be the first to learn about the latest from RTI. We will be announcing the newest update in our data distribution infrastructure product line: Connext™ DDS v5.1. This new release speeds the development and integration of large-scale intelligent systems for the Internet of Things.

Whether you are in defense, medical, energy, avionics, unmanned systems, air-traffic control, automotive or financial trading, this webinar will provide applicable information on the major new innovations in Connext DDS v5.1. It will illustrate how you can leverage these features to build smarter and larger real-time, intelligent and cyber-physical systems.

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,995
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
37
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Connext DDS 5.1: Scale Intelligent Systems to the Internet of Things

  1. 1. Your systems. Working as one. Connext DDS 5.1: Scale Intelligent Systems to the Internet of Things February 27, 2014
  2. 2. 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
  3. 3. Intelligent Systems February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 3
  4. 4. Connext DDS: Communications Platform for Intelligent Systems Real-Time Analytics & Control Operator HMI IT / Cloud / SoS Integration Network / Bus / IPC Sensors February 27, 2014 Actuators © 2014 REAL-TIME INNOVATIONS, INC. 4
  5. 5. Connext DDS Product Family Connext DDS Professional General Purpose Real-Time Apps Remote Apps Disparate Apps Small Footprint Apps High Assurance Apps (DO-178C) Connext DDS Micro Connext DDS Cert Adapter DDS & JMS Libraries Routing Service Database Integration DDS-RTPS Wire Interoperability Protocol Administration Recording Persistence Monitoring Replay Logging Microsoft Excel Wireshark Prototyper February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 5
  6. 6. Broad Interoperability for Heterogeneous Systems • Programming languages and environments • Processor families – x86, ARM, PowerPC… – 32- and 64-bit – C, C++, C#/.NET, Java, Ada – LabVIEW, MATLAB, Simulink, UML • Transport types • Operating systems – Shared memory – Windows, Linux, Unix, Mac OS – LAN (incl. multicast) – Embedded, real time, partitioned – WAN – Mobile – Wireless – Low bandwidth February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 6
  7. 7. Trend: Internet of Things (IoT) • Connecting more devices, applications and systems • To each other, data center, cloud February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 7
  8. 8. IoT Benefits Sharing more data across devices and applications for better: • Situational awareness, decision making • Automation, responsiveness, efficiency • Asset utilization • Patient safety, clinician efficiency • Energy efficiency, reliability February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 8
  9. 9. IoT in Practice Analytics, control Centralized analytics HMI Analytics, control HMI Analytics, control HMI Analytics, control HMI Sensors Actuators Sensors Actuators Sensors Actuators Decentralized devices, analytics, control February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 9
  10. 10. IoT Challenges Analytics, control HMI Analytics, control HMI Analytics, control HMI Analytics, control HMI Sensors Actuators Sensors Actuators Sensors Actuators • Scalability – aggregate data volumes • Extensibility – incremental evolution February 27, 2014 • Adaptability – can’t characterize performance at dev time • Debugability © 2014 REAL-TIME INNOVATIONS, INC. 10
  11. 11. Introducing Connext DDS Professional 5.1 February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 11
  12. 12. Routing Service Content Filter Propagation Routing Service Routing Service Apps Routing Service Devices Apps Routing Service Devices Apps Devices • Reduce bandwidth and CPU utilization in a hierarchical system where DataReaders subscribe to a subset of data • DataWriter and Routing Service only publish data that is subscribed February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 12
  13. 13. Routing Service – Content Filter Propagation Communication direction Prior to 5.1 DataReader 1 DataWriter 1 2 RS1 2 3 4 RS2 1 RSN X=1 DataReader X>5 DataWriter 3 4 DataReader X=7 Connext DDS 5.1 Communication direction DataWriter 1 DataReader 1 2 Sample filtering RS1 RS1 1 RSN DataReader X>5 DataWriter 3 X =1 or X > 5 or X = 7 4 Filter propagation direction Sample filtering February 27, 2014 X=1 DataReader X=7 © 2014 REAL-TIME INNOVATIONS, INC. 13
  14. 14. Enhanced TCP Transport Scalability using I/O Completion Ports (IOCP) Supports far more TCP connections in Windows-based deployments Synchronous I/O operation using Select () API Asynchronous I/O operation using IOCP API Connext DDS 5.0 Connext DDS 5.1 Windows server Windows server ~ 600 clients clients clients clients clients clients clientsclients clients >1500 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 • To enable IOCP simply set the property socket_monitoring_kind in TCP plugin to WINDOWS_IOCP February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 14
  15. 15. Extensible Types (DDS-XTypes) • Enables dynamic upgrades • Types can evolve while maintaining backward interoperability • Essential for large and mission-critical systems FINAL • Can’t be modified or derived • All primitive fields are final EXTENSIBLE <default> • Type can be extended, but not modified • Extensions can only appear at the end of the type definition MUTABLE • Type can be reordered and/or modified February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 15
  16. 16. Extensible Types Connext DDS 5.0 @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 }; @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 }; February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 16
  17. 17. Mutable Types 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 y; //@ID 3 long z; //@ID 4 }; @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. February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 17
  18. 18. XTypes: Optional Members Supports scenarios in which data type member value is not known or does not exist @Extensibility(MUTABLE_E XTENSIBILITY) struct TrackData { long id; long x; long y; long z; //@Optional }; C/C++ 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 Bandwidth overhead per member FINAL/EXTENSIBLE SET 4/12-byte HEADER + VALUE 4/12-byte HEADER + VALUE NOT SET February 27, 2014 MUTABLE 4/12-byte HEADER 0-byte © 2014 REAL-TIME INNOVATIONS, INC. 18
  19. 19. Builtin QoS Profile • Facilitate configuration for common scenarios and use cases • Reduce configuration effort vs. setting 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 identified February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 19
  20. 20. Builtin QoS Profiles Baseline Generic Basic Pattern Large Data BASELINE_ ROOT GENERIC_ COMMON STRICT_RELIABLE BASELINE GENERIC_ MONITORING KEEP_LAST_ RELIABLE STRICT_RELIABLE_ LARGE_DATA BASELINE_ 5_0_0 GENERIC__ CONNEXT_MICRO _COMPATIBILITY BEST_EFFORT PARTICIPANT_LARGE_ DATA_MONITORING GENERIC_ CONNEXT_OTHER DDS_VENDOR_ COMPATIBILITY STRICT_RELIIABLE_LOW _LATENCY BASELINE_ 5_1_0 STRICT_RELIABLE_ HIGH_THROUGHPUT Durability PARTICIPANT_ LARGE_DATA KEEP_LAST_RELIABLE _ LARGE_DATA Large Data with Flow Control STRICT_RELIABLE_LARGE_ DATA_FAST_FLOW STREAMING STRICT_RELIABLE_LARGE_ DATA_MEDIUM_FLOW RELIABLE_ STREAMING STRICT_RELIABLE_LARGE_ DATA_SLOW_FLOW ALARM_EVENT KEEP_LAST_RELIABLE_ LARGE_DATA_FAST_FLO W EVENT Performance KEEP_LAST_RELIABLE_LAR GE_DATA_MEDIUM_ FLOW AUTO_TUNING KEEP_LAST_RELIABLE_ LARGE_DATA_SLOW_ FLOW KEEP_LAST_RELIABLE_ TRANSIENT_LOCAL PERIODIC_DATA ALARM_STATUS STATUS LAST_VALUE_ CACHE KEEP_LAST_RELIABLE_ TRANSIENT KEEP_LAST_RELIABLE_ PERSISTENT February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. Experimental 20
  21. 21. Improved Default Transport Settings • Improves out-of-box performance • Minimizes need for tuning • Default QoS profile available to enable backward compatible with 5.0.0 February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 21
  22. 22. Turbo Mode (Experimental) • As sending rate changes, automatically adjusts QoS to maintain optimal performance • Improves performance in burst traffic scenario – High throughput at high sending rate – Low latency at slow sending rate • Supported by new perftest • http://community.rti.com/downloads/rti-connext-ddsperformance-test February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 22
  23. 23. Auto Throttle (Experimental) • Improves latency and jitter in high throughput conditions • Automatically adjusts DataWriter send rate and send window size in reliable communications 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 (active wait) – Slightly reduces throughput for small data sizes (<10%) February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 23
  24. 24. Auto Throttle Performance Auto Throttle disabled Average Minimum Auto Throttle enabled 99% Average 99% 25000 Latency in Microseconds 30000 25000 Latency in Microseconds 30000 Minimum 20000 15000 10000 20000 15000 10000 5000 5000 0 0 0 20000 40000 60000 0 Message Size (bytes) February 27, 2014 20000 40000 60000 Message Size (bytes) © 2014 REAL-TIME INNOVATIONS, INC. 24
  25. 25. Recording Service: Flexible Field Selection Pre 5.1… 25 columns of metadata What the user really cares about What we store by default, apart from user-data February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 25
  26. 26. Recording Service: Flexible Field Selection Now (5.1.0) … 2 columns of metadata What the user really cares about What we also store in the DB by default February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 26
  27. 27. Recording Service: Flexible Field Selection Users can now select what SampleInfo fields to store with their recorded data February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 27
  28. 28. Admin Console Enhancements System Control (5.0) System Awareness (5.1) Debugging (5.1) Admin Console Infrastructure Eclipse RCP February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. DDS 28
  29. 29. Admin Console Features 5.0 • • • • • • • • • • Physical View System Editor Processes View Host View Process Editor Routing Service Editor Persistence Editor Recording Service Editor Replay Service Editor XML Editor February 27, 2014 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 Routing Service © 2014 REAL-TIME INNOVATIONS, INC. 29
  30. 30. Auto Join 6 8 February 27, 2014 Domains Joined: 0, 6, 8 © 2014 REAL-TIME INNOVATIONS, INC. 30
  31. 31. DDS Logical View This view presents a hierarchical view of the system from a DDS perspective. It shows a list of DDS domains and the topics within them. Each entity has a badge to represent its health. February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 31
  32. 32. Health & System Health The Health View makes it simple to tell if a system entity is known to have existing problems. 9 conditions are evaluated to determine health. February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 32
  33. 33. Real-time Match Analyses February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 33
  34. 34. QoS February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 34
  35. 35. Topic February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 35
  36. 36. Topic February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 36
  37. 37. Topic February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 37
  38. 38. DDS Data Type View Hierarchical view of a data type used by a DDS DataWriter or DataReader The equivalent IDL is also available. February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 38
  39. 39. System Log Combined log from all applications using Distributed Logger. February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 39
  40. 40. Routing Service: Resources Chart Similar view for Host February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 40
  41. 41. Extended Process Information February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 41
  42. 42. Prototyper with LUA (Experimental) XML Settings Prototyper (“Container”) Lua Engine 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() Lua Component DDS February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 42
  43. 43. CodeGen 2.0 (Experimental) • Reduce code generation time especially when dealing with large IDL files and large number of IDL files • Ease customizations and extensions to code generation • 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
  44. 44. Migrating to 5.1 • No API changes required – Exception: Removed “_exp” suffix from XML Application Creation APIs • Must regenerate code • Builtin QoS profile provided for 5.0 interoperability • Monitoring and administration topics are not compatible with 5.0 – Now leveraging XTypes for future forward compatibility February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 44
  45. 45. 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 platforms February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 45
  46. 46. Next Steps • Connext DDS Professional 5.1 downloads – Evaluation: http://www.rti.com/downloads/connext.html – Customer portal: http://support.rti.com – Live CD: http://community.rti.com/content/page/downloads • Blog posts with more details at http://blogs.rti.com • Many resources at http://community.rti.com – – – – Examples Case+Code Forums Knowledgebase • New and improved performance test – http://community.rti.com/downloads/rti-connext-ddsperformance-test February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 46
  47. 47. Thank You! February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. 47
  48. 48. Internet of Things (IoT) • • • • • • IT Systems: BI, ERP, Web Services Intelligent Systems: Real-Time Monitoring and Control February 27, 2014 © 2014 REAL-TIME INNOVATIONS, INC. Human speed, seconds+ Centralized Data center or cloud Relatively static, administered Fast, reliable networks Big Data at rest • • • • • • • Physics speed Microsecondsseconds Decentralized, disperse Dynamic, autonomous Disadvantaged networks Big Data in motion Can never go down 48

×