techtalk: connext dds 5.2

48
RTI Connext 5.2.0 The Real-time Connectivity Platform for the Industrial Internet of Things Jan Van Bruaene - VP of Engineering Vien Chan – Senior Product Manager

Upload: real-time-innovations-rti

Post on 14-Aug-2015

113 views

Category:

Software


8 download

TRANSCRIPT

Page 1: TechTalk: Connext DDS 5.2

RTI Connext 5.2.0The Real-time Connectivity Platform for the Industrial Internet of ThingsJan Van Bruaene - VP of EngineeringVien Chan – Senior Product Manager

Page 2: TechTalk: Connext DDS 5.2

Codename “Eddy”

Page 3: TechTalk: Connext DDS 5.2

What we’ll cover

• What’s in the box• Customer feedback• Supporting new use cases• The big boulders of this release• Interoperability• Transitioning to 5.2.0

Page 4: TechTalk: Connext DDS 5.2
Page 5: TechTalk: Connext DDS 5.2

New RTI Connext bundling

• Host bundle: all non-compiler specific files, such as documentation, header files, tools, services executables (e.g., Routing Service or Persistence Service).

• Target bundle: libraries. Target bundles are shipped in a new RTI packaging format.

Page 6: TechTalk: Connext DDS 5.2

New RTI Connext bundling – Cont.

• Package types: Core, Basic, Pro, Eval, and add-ons– Core package includes basic libs,

does not include RTI applications/services products.

– Basic, Pro and Eval all havethe same functionality. The bundles differ in which components are license managed.

– Installers are now available for all host package types.

– Targets are installed through the new RTI package mgr.

Page 7: TechTalk: Connext DDS 5.2

New RTI Package Manager

The RTI package file (.rtipkg) is a compressed file containing: – package.properties (file) describing the package– MANIFEST.xml (file) containing a list of files to be installed. – Compressed files and directory structure to be installed

The package manager handles backups and patch installations.

Use the RTI Package Manager (bin/rtipkginstall, orfrom the Launcher GUI) to install target bundles,

patches, ports and feature accelerations.

Page 8: TechTalk: Connext DDS 5.2

New Directory Structure

“SDK”

RunTime resources: Resources used by the RTI provided tools, applications and services.

Startup Scripts

Creation of a User Workspace

When you start any RTI application

Page 9: TechTalk: Connext DDS 5.2

New documentation look and format

HTML

Search

Available at Community.rti.com

Page 10: TechTalk: Connext DDS 5.2

More platforms are now supported

• RHEL 6.5 on x86 and x64 • RHEL 7 on x86 and x64 • Ubuntu 14.04• Windows 8, 8.1 (VS2013) • Windows 8 and server 2012

R2 (VS2013) on x64• OS X 10.10 (Yosemite) on

x64 … including tools on MacOS.

• Android 2.3 – 4.4 on ARMv7a• VxWorks 6.9.4 on PPC (e500v2)

• VxWorks 7.0 on x86• Integrity 11.0.4 on p4080,

x86 • AIX 7.1 on POWER7 x86• RT NI Linux/ ARM7

Check out the platform notesfor details, including which compilation flags we

used, what are required system libs

Page 11: TechTalk: Connext DDS 5.2

More complete product support

• .NET API Support – for Custom Content Filter– for Optional Members

• Ada language binding available today– Ada compiler upgraded to GNAT 7.3.2

• Database Adapter for Microsoft SQL Server• RTI DDS LabVIEW Toolkit support for real-time

NI Linux/ARMv7

Page 12: TechTalk: Connext DDS 5.2

Addressing customer use casesBetter support for large data or variable sized samples• Enable the number of elements in a Sequence to be unbounded. • Enable the number bytes in a String to be unbounded • Support unbounded Sequences and Strings for key fields• Support use of Content Filter with unbounded sequence and strings• Support in the following languages: C, C++/CLI, .NET, Dynamic Data and Built-

in-types• Limitations:

• Does not support Java (yet) (for generated Java Code. It is supported in Dyn Data.)• Persistence Service does not support unbounded sequence/strings out-of-the-box.• Recorder supports only serialized recording of variable sized samples. • Excel currently already disallows work with unbounded types.• Does not support Database Integration Service

Page 13: TechTalk: Connext DDS 5.2

Addressing customer use casesAbility to serialize sample into buffer and deserialize sample from buffer

• Two new TypeSupport operations to serialize a sample into a buffer and deserialize a sample from a buffer.

• The sample serialization/deserialization uses CDR representation.

• Supported in the following languages: – Generated Code: C, C++, Java and .NET– Dynamic Data: C, C++ (traditional and modern)

Page 14: TechTalk: Connext DDS 5.2

Addressing customer use cases• TCP transport support for load balancers, tested with F5 hardware LB.• New option to release the resources associated to a disposed instance. We now also

support the standard service_cleanup delay in PS. • Several TCP and TLS enhancements: more scalable and robust• Ability to supervise the end-point discovery provides additional level of control of who can

be discovered.• Ability to Add Metadata Flags to Samples• Allow out-of-order type definitions in XML configuration files• Enable user to attach response to an application acknowledgement message and notify

the writer. • Enable users to provide user-managed threads to the middleware. … and tons more.

Please check the Release Notes for more details.

Page 15: TechTalk: Connext DDS 5.2

Stable connectivity platform for IIoTAddressing product issues

• Better TCP transport! More robust and more scalable. • Resolved communication issue for two participants on the same node when one has

SHMEM transport disabled. • Resolved memory growth issues in more dynamic environments• Dynamic Data API fixes• DW/DR Liveliness QoS Policy fixes• Resolved interoperability issue when using UDPv6 transport• Large data sample repair fix• Domain Participant creation fixes related when no shared memory segment is

available, or when no unique IP address is available (MacOS)• Resolved issues related to DDS entity destruction.

Please check the Release Notes for a description of all bug fixes. We’ve spent a lot of effort addressing product issues to make this a very stable release.

Page 16: TechTalk: Connext DDS 5.2

Big boulders

• Rtiddsgen2.0 • C++ PSM• Queuing Service• Data Visualization• New Launcher

Page 17: TechTalk: Connext DDS 5.2

Code generation

Page 18: TechTalk: Connext DDS 5.2

Why a new code generator?

up to 10x faster Code generation

Customizable templates

Page 19: TechTalk: Connext DDS 5.2

Rtiddsgen2.0 - Continued

• Obfuscate option to share IDL with others• New generation options (-create, -update) to avoid erroneously

overwriting previously generated example, type or make files

Rtiddsgen2.0 Limitations• XSD-based code generation to be supported after 5.2 release• No support for bitfields• -corba, -metp use the rtiddsgen1.0-based code generator. This

capability is provided through corresponding add-on products.

Page 20: TechTalk: Connext DDS 5.2

New C++ language binding

Page 21: TechTalk: Connext DDS 5.2

C++ PSM (Platform Specific Model) • A New C++ API for C++03 and C++11

– A modern C++ API which works well with the standard library

– An API that is efficient, expressive, easy-to-use, and easy-to-learn.

– Generic programming, automatic resource management, use of exceptions, C++11 features such as move operations.

• Same feature support as the other RTI supported language APIs, including RTI extensions and XML application creation.

Note: Traditional C++ PSM is still supported

Page 22: TechTalk: Connext DDS 5.2

A P2P distributed application in under 35 lines of C++11 Code(see blog post)

ShorterEasier to maintainMore robust

Page 23: TechTalk: Connext DDS 5.2

Queuing ServiceAdd-on product offeringavailable on select platforms

Page 24: TechTalk: Connext DDS 5.2

Supporting 3 key communication patterns

2004

2015

2013

Publish-Subscribe

Request / Reply

Queuing- At least once- At most once

Page 25: TechTalk: Connext DDS 5.2

Use Case: High Speed Processing in Cloud

• Eze Software delivers financial trading software to more than 1,500 buy-side and sell-side institutions in 30 countries

• RTI will be the core middleware for the Eze financial trading platform.

Analytics

Connext TCP (WAN)

ClientClient

ClientClient

Logging

Redundant, Load-BalancedReliable Multicast

Data Center Cloud

GatewayProcessor

GatewayProcessor

GatewayProcessor

GatewayProcessor

Load Balancer

(F5)

Con

next

Inpu

t Bus

Connext Processing Bus

Monitor

QueueQueueQueueingService

Page 26: TechTalk: Connext DDS 5.2

Shared Reader Queues

Load balance and Redelivery among DRs• Round Robin (RR)• RR with explicit

Queue Consumer availability

Queuing Service

SharedSubscriber

SharedReaderQueue

SharedReaderQueue

DW

DW

DR

DR

DR

1 2

1 2

1

2

1 2

Tools(e.g., rtiddsspy)

Non-QueueConsumers (e.g., tools) canstill subscribe

Page 27: TechTalk: Connext DDS 5.2

Support for Request/Reply pattern

• Implemented with two SharedReaderQueues: One for the request and one for the reply

Requester Application

Queuing Service

SharedSubscriber

Request SharedReaderQueueDW

Response SharedReaderQueueDR

Req 1

Res 1

Replier Application

DR

DWRes 1

Req 1

Page 28: TechTalk: Connext DDS 5.2

Producer/Consumer Wrapper API

Queuing Service

SharedReaderQueue

.NET only

Page 29: TechTalk: Connext DDS 5.2

Requester/Replier Wrapper API

Queuing Service

Request SRQ

Reply SRQ .NET only

Page 30: TechTalk: Connext DDS 5.2

Various replication schemes are supported

Page 31: TechTalk: Connext DDS 5.2

Data Visualization

Page 32: TechTalk: Connext DDS 5.2

Features

• Visualize live data flowing in the system– Subscribe to topics and visualize them through:

• A table with one row per instance (Instance Table)• A log of data from one or more topics (Sample Log)• A chart of value(s) versus time (Time Chart)• A view which shows all fields and meta-data (Sample Inspector)

– Export data to CSV & text files– Drag & Drop for quick and simple configuration– Remembers and restores your views and subscriptions

Page 33: TechTalk: Connext DDS 5.2

Subscription Dialog

Page 34: TechTalk: Connext DDS 5.2

Subscription Dialog Advanced Options

Narrow down what is displayed

• QoS Profiles• Content Filters• DataWriter Filters

Page 35: TechTalk: Connext DDS 5.2

Topic Data (Instance Table)

Live values of all instances

Page 36: TechTalk: Connext DDS 5.2

Sample Inspector

Live values of all fields and meta-data of the selected instance in the Sample Inspector

Page 37: TechTalk: Connext DDS 5.2

Sample Log

Page 38: TechTalk: Connext DDS 5.2

Time Chart with Live Mode & History Mode

Page 39: TechTalk: Connext DDS 5.2

New Launcher

Page 40: TechTalk: Connext DDS 5.2

Launcher 2.0 - New Implementation

Using Java and SWT –

Native Look on all OS

Page 41: TechTalk: Connext DDS 5.2

Launcher 2.0 – Cont.Extensible at Run Time

New Third Party Tab

New License Dialog

New Command History Dialog

Automatic downloadable components

New Installed Products Table

New Documentation and Help Links Panel

Page 42: TechTalk: Connext DDS 5.2

Interoperability

• UDPv6 class ID is now RTPS spec compliant– Admin console will help you identify the compatibility issue– Connext 5.1 backward compatibility mode

(dds.transport.use_510_compatible_locator_kinds property)

• Issue when using built-in topics to monitor Routing Service, Queuing Service or Data Integration Service while mixing 5.1 / 5.2 versions

• Monitoring types are not backwards compatible• Solaris Sparc Shared memory compatibility issue

Page 43: TechTalk: Connext DDS 5.2

New QoS values for

• New defaults for– DDS_DynamicDataProperty_t.buffer_max_size– DiscoveryConfig Built-In Writer

autopurge_unregistered_instances_delay– DataReader Resource Limits:

dynamically_allocate_fragmented_samples and max_fragments_per_sample

• HighThroughput and AutoTuning built-in QoS profiles changed to resolve an issue where communication may fail when writing small samples

Page 44: TechTalk: Connext DDS 5.2

Transitioning from 5.1 to 5.2

• Regenerate and recompile• Automation scripts will need to be updated

due the new directory structure– Change scripts which launch applications like rtiddsgen,

routing_service, etc.– Change the build path to point to the new SDK directory– Change library path to point to the new directory

Page 45: TechTalk: Connext DDS 5.2

Community.rti.com

• RTI Connext examplesare updated for 5.2.0.

Page 46: TechTalk: Connext DDS 5.2

Stay tuned for blog posts (http://blogs.rti.com) with lots of details on the various 5.2.0 features

These slides will be available at http://www.slideshare.net/RealTimeInnovations

[email protected] [email protected]

Page 47: TechTalk: Connext DDS 5.2
Page 48: TechTalk: Connext DDS 5.2

For More Information

• RTI site: www.rti.com• Examples, forum, papers: community.rti.com• Free RTI Connext DDS Pro:

www.rti.com/downloads• Youtube: RealTimeInnovations • Follow: @realtimeinnov