SlideShare a Scribd company logo
1 of 52
Download to read offline
CEO / CTO
ZettaScale
Angelo Corsaro, PhD
The Origins
Head of Technology
ZettaScale
Erik Boasson
Cyclone DDS Unleashed
Let’s do a Quiz
The Invention
The Splice
DDS was invented in Signaal
by Maarten Boasson in 1984
— the second on the left in
the picture
E.W. Dijkstra Afternoon Meetings
The Splice
Signaal’s Splice was its
fi
rst
implementation
Patent
The concepts
underpinning DDS where
patented in 1990
The Standardisation
From JCP to
OMG
DDS was initially considered
for standardisation within
the JCP (Java Community
Process)
Due to a partial overlap
with Jini — any of you recall
that? — standardisation
ended up at the OMG
DDS Standard
Family
DDS is now a family of 14
standards
Not all of them have the
same relevance as we’ll
see…
Working @ OMG
Co-chaired the OMG DDS SIG
from 2003 to 2016
Worked hard to help making
good standards — it wasn’t
always easy/possible
Worked hard to ensure
portability / interoperability
— unfortunately this is not so
important to some vendors
Guardians
Over the years we have tried
to watch over the integrity
of DDS
We’ve not always
succeeded, and as a result
you need guidance when
considering the use of
available speci
fi
cations
The Key
Standards
These are the most important
standards
If vendors properly implement
the C++/Java standard you’ll
have portability
DDSI provides interoperability
for a few cases
Useful
Additions
X-Types is useful to
enhance DDS with
evolvable types
DDS Security is useful in
small scale systems
Avoid These
RPC over DDS should be
avoided because it worsens
DDS’ discovery tra
ffi
c
Web-Enabled DDS leverages
obsolete technology
DDS-XRCE is complex and
ine
ffi
cient — far better
alternatives exists
We’ve been there all along…
New C++ API
We where the force behind the new
DDS C++ API
It took a pharaonic e
ff
ort to get it
standardised
We managed thanks to end-users
asking other vendors to support
SimD — the Open Source reference
implementation we had built!
Take Home Lesson — Don’t
underestimate the power of
Innovation and Open Source
Forefront of
DDS
Our team has always been innovating
and the forefront of DDS
We were the
fi
rst to show how to
route DDS tra
ffi
c across the internet
Take Home Lesson — To scale DDS
you need to break its end-to-end
semantics. Why not use on the WAN
a protocol than can scale w/o
contortionism
What’s Next?
DDS and
Beyond
Before spinning-o
ff
our team was
operating as ADLINK’s Advanced
Technology O
ffi
ce (ATO)
There we had the luxury to start from
scratch and leverage our experience to:
- Build the best DDS yet
- Invent a new protocol that address
the cloud-to-microcontroller
continuum and easily expand DDS
systems to the wide-area and toward
the microcosm
Built to be the best and most
developer friendly DDS
implementation
A Pub/Sub/Query protocol unifying
data in motion, data at rest and
computations, that can span from
the data-centre to the micro-
controller
Working
Together as One
Zenoh routers can be used to
transparently route Cyclone DDS tra
ffi
c
Zenoh applications can transparently
interoperate with Cyclone DDS
applications anywhere on the network
Cyclone DDS applications transparently
leverage all Zenoh’s plugins for
storage, web, messaging protocols,
etc.
Router
Router Router
Router
Router
Client
Client
Zenoh
Peer
Peer
Peer
Peer
Peer
Router
Client Client Client
Client
Router
Router
DDS
Client
Peer Peer Peer Peer
Peer Peer Peer Peer
Cyclone DDS
Most performing DDS
implementation on the market
Fastest growing DDS implementation
for ROS2 based Robots
Strong signals of adoptions in
proprietary Robotic Stacks from
several Unicorns
Growing momentum in Automotive
Di
ff
erentiation
OMG DDS standard compliance
limits several dimensions of
feature di
ff
erentiation. Thus our
approach is:
Welcoming and extremely
supporting community
Best developer experience, it
simply works!
Zero adoption barrier
Best integration with Zenoh
Open Source
For Real
Eclipse IoT Project
Open and transparent
governance
High standard release
project, which includes IP &
Patent checks
Back to the Basics
DDS introduction
Eventually consistent shared
data space
Structured using typed topics
with QoS, publishers and
subscribers
Targets low-latency and high-
throughput for maximally
decoupled processes
DDS’ Global Data Space
DDS Global Data Space
...
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
Eventual consistency
Data replication as a natural consequence
Primitives chosen for fail-stop tolerance and restarting
Expressive despite weak primitives
(e.g. Orzan, S.-M. (2001). Distributing requirements speci
fi
cations on
basic splice. Software Engineering [SEN]. CWI)
Data model
Careful modelling of application
data into topics
Mostly-independent development
of components
Relatively easy integration of these
components
Reuse of components in successive
iterations of system
DDS’ Global Data Space
DDS Global Data Space
...
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
Topic
T
y
p
e
Name
Q
o
S
Con
fi
gurability
Variety of QoS settings
- reliability, longevity of data
- controlling storage of data
- noti
fi
cations on loss of liveliness, not meeting data rates
- (odds and ends)
Can reduce to “ordinary” publish-subscribe messaging system
- e.g. ROS 2 chooses to use it this way
How to Get it
$ git clone 
https://github.com/eclipse-
cyclonedds/cyclonedds.git
optionally:
$ git clone 
https://github.com/eclipse-
cyclonedds/cyclonedds-cxx.git
Getting Started
with Python
$ pip install cyclonedds
Key Features
Available Now
- DDS API in C, C++ and Python
- All QoS, but Transient and Persistent Durability, Presentation
- Support for X-Types
- Support for DDS Security
- Performance Benchmarking Tool
- CLI and GUI-based Monitoring Tool
Coming Up
- Transient and Persistent Durability
- ISO 26262 ASIL-D Certi
fi
cation
Performance
Benchmarking Settings
DDS: Latest version of Cyclone DDS
Host: AMD Ryzen 5800X @ 4.0GHz, 32 GB of RAM
OS: Ubuntu 20.04.3 LTS with Kernel 5.4.0-96-generic
Network: 100Gb Ethernet (Mellanox ConnectX-6 Dx)
Latency
Throughput
Please,
Measure
The numbers you should trust are
those that you get in your
environment
The numbers that really matters are
those that you get with your
application, not those out of a
synthetic benchmark
If you use a vendor tool, make sure
you have access and carefully read
the sources
Cyclone’s
ddsperf
Let’s see how to easily
measure cyclone
performances on your
environment
Portability
Don’t Trust.
Try it yourself
One of the advantages of using DDS
should be portability and
interoperability
Have you ever tried to port some
code?
You’ll learn a lot on vendors
commitment when trying to run the
same application across multiple
vendors
Cyclone is the reference, if you
fi
nd
a deviation
fi
le a PR ;-)
Interoperability…
Interoperability
Works if you constrain your use of DDS
to a subset:
- No Transient or Persistent data
- No module Names, no “auto-
dispose”
- No vendor extensions (some
vendors make it hard to distinguish)
- (Except for some vendors where you
need some extensions to make it
work)
Portability +
Interoperability
experiment
- Eclipse Cyclone DDS C/C++
- ZettaScale OpenSplice DDS C++
(GitHub version)
- OCI OpenDDS (classic) C++
- eProsima Fast-DDS (non-standard) C++
$ git clone 
https://github.com/eboasson/i11eperf
Final Thoughts
Working with
Dedication
We are working hard and
openly to make Cyclone
“The DDS implementation”
The goal is simple, our
dedication is wholehearted
It is our dream, followed by
action and held together by
dedication
Patience, persistence and perspiration
make an unbeatable combination for
success.
Thank You

More Related Content

Similar to Cyclone DDS Unleashed: The Origins

RTI/Cisco response to the Software Defined Networks (SDN) OMG RFI
RTI/Cisco response to the Software Defined Networks (SDN) OMG RFIRTI/Cisco response to the Software Defined Networks (SDN) OMG RFI
RTI/Cisco response to the Software Defined Networks (SDN) OMG RFIGerardo Pardo-Castellote
 
Standardizing the Data Distribution Service (DDS) API for Modern C++
Standardizing the Data Distribution Service (DDS) API for Modern C++Standardizing the Data Distribution Service (DDS) API for Modern C++
Standardizing the Data Distribution Service (DDS) API for Modern C++Sumant Tambe
 
Winnipeg Technology Innovation Day
Winnipeg Technology Innovation Day Winnipeg Technology Innovation Day
Winnipeg Technology Innovation Day Acrodex
 
Communication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeCommunication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeSumant Tambe
 
Communication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeCommunication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeReal-Time Innovations (RTI)
 
Serhiy Kalinets "Embracing architectural challenges in the modern .NET world"
Serhiy Kalinets "Embracing architectural challenges in the modern .NET world"Serhiy Kalinets "Embracing architectural challenges in the modern .NET world"
Serhiy Kalinets "Embracing architectural challenges in the modern .NET world"Fwdays
 
The Path to SDN - How to Ensure a Successful SDN Evolution
The Path to SDN - How to Ensure a Successful SDN EvolutionThe Path to SDN - How to Ensure a Successful SDN Evolution
The Path to SDN - How to Ensure a Successful SDN EvolutionJuniper Networks
 
DME for ZYNQ FPGA - A new way to design your SOC
DME for ZYNQ FPGA - A new way to design your SOCDME for ZYNQ FPGA - A new way to design your SOC
DME for ZYNQ FPGA - A new way to design your SOCBengt Edlund
 
OpenSolaris Introduction
OpenSolaris IntroductionOpenSolaris Introduction
OpenSolaris Introductionsatyajit_t
 
Introduction to OMG DDS (1 hour, 45 slides)
Introduction to OMG DDS (1 hour, 45 slides)Introduction to OMG DDS (1 hour, 45 slides)
Introduction to OMG DDS (1 hour, 45 slides)Gerardo Pardo-Castellote
 
Cambridge Breakfast Seminar
Cambridge Breakfast SeminarCambridge Breakfast Seminar
Cambridge Breakfast SeminarNuoDB
 
How the Journey to Modern Data Management is Paved with an Inclusive Edge-to-...
How the Journey to Modern Data Management is Paved with an Inclusive Edge-to-...How the Journey to Modern Data Management is Paved with an Inclusive Edge-to-...
How the Journey to Modern Data Management is Paved with an Inclusive Edge-to-...Dana Gardner
 
SDN Basics – What You Need to Know about Software-Defined Networking
SDN Basics – What You Need to Know about Software-Defined NetworkingSDN Basics – What You Need to Know about Software-Defined Networking
SDN Basics – What You Need to Know about Software-Defined NetworkingSDxCentral
 
QA in Cloud world & DevOps
QA in Cloud world & DevOpsQA in Cloud world & DevOps
QA in Cloud world & DevOpsDudi Vaanunu
 
Best practices for application migration to public clouds interop presentation
Best practices for application migration to public clouds interop presentationBest practices for application migration to public clouds interop presentation
Best practices for application migration to public clouds interop presentationesebeus
 
Denodo Partner Connect: Business Value Demo with Denodo Demo Lite
Denodo Partner Connect: Business Value Demo with Denodo Demo LiteDenodo Partner Connect: Business Value Demo with Denodo Demo Lite
Denodo Partner Connect: Business Value Demo with Denodo Demo LiteDenodo
 
Understanding IaaS Requirements & Design Cloud
Understanding IaaS Requirements & Design CloudUnderstanding IaaS Requirements & Design Cloud
Understanding IaaS Requirements & Design CloudJohn Treadway
 
STPCon fall 2012: The Testing Renaissance Has Arrived
STPCon fall 2012: The Testing Renaissance Has ArrivedSTPCon fall 2012: The Testing Renaissance Has Arrived
STPCon fall 2012: The Testing Renaissance Has ArrivedSOASTA
 

Similar to Cyclone DDS Unleashed: The Origins (20)

Why is Core DX the Best DDS?
Why is Core DX the Best DDS?Why is Core DX the Best DDS?
Why is Core DX the Best DDS?
 
RTI/Cisco response to the Software Defined Networks (SDN) OMG RFI
RTI/Cisco response to the Software Defined Networks (SDN) OMG RFIRTI/Cisco response to the Software Defined Networks (SDN) OMG RFI
RTI/Cisco response to the Software Defined Networks (SDN) OMG RFI
 
Standardizing the Data Distribution Service (DDS) API for Modern C++
Standardizing the Data Distribution Service (DDS) API for Modern C++Standardizing the Data Distribution Service (DDS) API for Modern C++
Standardizing the Data Distribution Service (DDS) API for Modern C++
 
Winnipeg Technology Innovation Day
Winnipeg Technology Innovation Day Winnipeg Technology Innovation Day
Winnipeg Technology Innovation Day
 
Communication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeCommunication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/Subscribe
 
Communication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeCommunication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/Subscribe
 
Serhiy Kalinets "Embracing architectural challenges in the modern .NET world"
Serhiy Kalinets "Embracing architectural challenges in the modern .NET world"Serhiy Kalinets "Embracing architectural challenges in the modern .NET world"
Serhiy Kalinets "Embracing architectural challenges in the modern .NET world"
 
The Path to SDN - How to Ensure a Successful SDN Evolution
The Path to SDN - How to Ensure a Successful SDN EvolutionThe Path to SDN - How to Ensure a Successful SDN Evolution
The Path to SDN - How to Ensure a Successful SDN Evolution
 
DME for ZYNQ FPGA - A new way to design your SOC
DME for ZYNQ FPGA - A new way to design your SOCDME for ZYNQ FPGA - A new way to design your SOC
DME for ZYNQ FPGA - A new way to design your SOC
 
OpenSolaris Introduction
OpenSolaris IntroductionOpenSolaris Introduction
OpenSolaris Introduction
 
Introduction to OMG DDS (1 hour, 45 slides)
Introduction to OMG DDS (1 hour, 45 slides)Introduction to OMG DDS (1 hour, 45 slides)
Introduction to OMG DDS (1 hour, 45 slides)
 
Cambridge Breakfast Seminar
Cambridge Breakfast SeminarCambridge Breakfast Seminar
Cambridge Breakfast Seminar
 
DDS Made Simple
DDS Made SimpleDDS Made Simple
DDS Made Simple
 
How the Journey to Modern Data Management is Paved with an Inclusive Edge-to-...
How the Journey to Modern Data Management is Paved with an Inclusive Edge-to-...How the Journey to Modern Data Management is Paved with an Inclusive Edge-to-...
How the Journey to Modern Data Management is Paved with an Inclusive Edge-to-...
 
SDN Basics – What You Need to Know about Software-Defined Networking
SDN Basics – What You Need to Know about Software-Defined NetworkingSDN Basics – What You Need to Know about Software-Defined Networking
SDN Basics – What You Need to Know about Software-Defined Networking
 
QA in Cloud world & DevOps
QA in Cloud world & DevOpsQA in Cloud world & DevOps
QA in Cloud world & DevOps
 
Best practices for application migration to public clouds interop presentation
Best practices for application migration to public clouds interop presentationBest practices for application migration to public clouds interop presentation
Best practices for application migration to public clouds interop presentation
 
Denodo Partner Connect: Business Value Demo with Denodo Demo Lite
Denodo Partner Connect: Business Value Demo with Denodo Demo LiteDenodo Partner Connect: Business Value Demo with Denodo Demo Lite
Denodo Partner Connect: Business Value Demo with Denodo Demo Lite
 
Understanding IaaS Requirements & Design Cloud
Understanding IaaS Requirements & Design CloudUnderstanding IaaS Requirements & Design Cloud
Understanding IaaS Requirements & Design Cloud
 
STPCon fall 2012: The Testing Renaissance Has Arrived
STPCon fall 2012: The Testing Renaissance Has ArrivedSTPCon fall 2012: The Testing Renaissance Has Arrived
STPCon fall 2012: The Testing Renaissance Has Arrived
 

More from ZettaScaleTechnology

Cyclone DDS Unleashed: ROS & Cyclone DDS.pdf
Cyclone DDS Unleashed: ROS & Cyclone DDS.pdfCyclone DDS Unleashed: ROS & Cyclone DDS.pdf
Cyclone DDS Unleashed: ROS & Cyclone DDS.pdfZettaScaleTechnology
 
Cyclone DDS Unleashed: Reasons for Choosing Cyclone DDS Shared Memory
Cyclone DDS Unleashed: Reasons for Choosing Cyclone DDS Shared MemoryCyclone DDS Unleashed: Reasons for Choosing Cyclone DDS Shared Memory
Cyclone DDS Unleashed: Reasons for Choosing Cyclone DDS Shared MemoryZettaScaleTechnology
 
Cyclone DDS Unleashed: Scalability in DDS and Dealing with Large Systems
Cyclone DDS Unleashed: Scalability in DDS and Dealing with Large SystemsCyclone DDS Unleashed: Scalability in DDS and Dealing with Large Systems
Cyclone DDS Unleashed: Scalability in DDS and Dealing with Large SystemsZettaScaleTechnology
 
"Taming the Dragon": Data Flow Programming with Zenoh-Flow
"Taming the Dragon": Data Flow Programming with Zenoh-Flow"Taming the Dragon": Data Flow Programming with Zenoh-Flow
"Taming the Dragon": Data Flow Programming with Zenoh-FlowZettaScaleTechnology
 
"Taming the Dragon": Zenoh on Microcontrollers and Low Power Networks
"Taming the Dragon": Zenoh on Microcontrollers and Low Power Networks"Taming the Dragon": Zenoh on Microcontrollers and Low Power Networks
"Taming the Dragon": Zenoh on Microcontrollers and Low Power NetworksZettaScaleTechnology
 
"Taming the Dragon": ROS2 Robot-to-Anything with Zenoh
"Taming the Dragon": ROS2 Robot-to-Anything with Zenoh"Taming the Dragon": ROS2 Robot-to-Anything with Zenoh
"Taming the Dragon": ROS2 Robot-to-Anything with ZenohZettaScaleTechnology
 
"Taming the Dragon": Get Started with Zenoh
"Taming the Dragon": Get Started with Zenoh"Taming the Dragon": Get Started with Zenoh
"Taming the Dragon": Get Started with ZenohZettaScaleTechnology
 
"Taming the Dragon": Zenoh's Genesis
"Taming the Dragon": Zenoh's Genesis "Taming the Dragon": Zenoh's Genesis
"Taming the Dragon": Zenoh's Genesis ZettaScaleTechnology
 

More from ZettaScaleTechnology (8)

Cyclone DDS Unleashed: ROS & Cyclone DDS.pdf
Cyclone DDS Unleashed: ROS & Cyclone DDS.pdfCyclone DDS Unleashed: ROS & Cyclone DDS.pdf
Cyclone DDS Unleashed: ROS & Cyclone DDS.pdf
 
Cyclone DDS Unleashed: Reasons for Choosing Cyclone DDS Shared Memory
Cyclone DDS Unleashed: Reasons for Choosing Cyclone DDS Shared MemoryCyclone DDS Unleashed: Reasons for Choosing Cyclone DDS Shared Memory
Cyclone DDS Unleashed: Reasons for Choosing Cyclone DDS Shared Memory
 
Cyclone DDS Unleashed: Scalability in DDS and Dealing with Large Systems
Cyclone DDS Unleashed: Scalability in DDS and Dealing with Large SystemsCyclone DDS Unleashed: Scalability in DDS and Dealing with Large Systems
Cyclone DDS Unleashed: Scalability in DDS and Dealing with Large Systems
 
"Taming the Dragon": Data Flow Programming with Zenoh-Flow
"Taming the Dragon": Data Flow Programming with Zenoh-Flow"Taming the Dragon": Data Flow Programming with Zenoh-Flow
"Taming the Dragon": Data Flow Programming with Zenoh-Flow
 
"Taming the Dragon": Zenoh on Microcontrollers and Low Power Networks
"Taming the Dragon": Zenoh on Microcontrollers and Low Power Networks"Taming the Dragon": Zenoh on Microcontrollers and Low Power Networks
"Taming the Dragon": Zenoh on Microcontrollers and Low Power Networks
 
"Taming the Dragon": ROS2 Robot-to-Anything with Zenoh
"Taming the Dragon": ROS2 Robot-to-Anything with Zenoh"Taming the Dragon": ROS2 Robot-to-Anything with Zenoh
"Taming the Dragon": ROS2 Robot-to-Anything with Zenoh
 
"Taming the Dragon": Get Started with Zenoh
"Taming the Dragon": Get Started with Zenoh"Taming the Dragon": Get Started with Zenoh
"Taming the Dragon": Get Started with Zenoh
 
"Taming the Dragon": Zenoh's Genesis
"Taming the Dragon": Zenoh's Genesis "Taming the Dragon": Zenoh's Genesis
"Taming the Dragon": Zenoh's Genesis
 

Recently uploaded

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 

Recently uploaded (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 

Cyclone DDS Unleashed: The Origins

  • 1. CEO / CTO ZettaScale Angelo Corsaro, PhD The Origins Head of Technology ZettaScale Erik Boasson Cyclone DDS Unleashed
  • 3.
  • 4.
  • 5.
  • 7. The Splice DDS was invented in Signaal by Maarten Boasson in 1984 — the second on the left in the picture E.W. Dijkstra Afternoon Meetings
  • 8. The Splice Signaal’s Splice was its fi rst implementation
  • 9. Patent The concepts underpinning DDS where patented in 1990
  • 11. From JCP to OMG DDS was initially considered for standardisation within the JCP (Java Community Process) Due to a partial overlap with Jini — any of you recall that? — standardisation ended up at the OMG
  • 12. DDS Standard Family DDS is now a family of 14 standards Not all of them have the same relevance as we’ll see…
  • 13. Working @ OMG Co-chaired the OMG DDS SIG from 2003 to 2016 Worked hard to help making good standards — it wasn’t always easy/possible Worked hard to ensure portability / interoperability — unfortunately this is not so important to some vendors
  • 14. Guardians Over the years we have tried to watch over the integrity of DDS We’ve not always succeeded, and as a result you need guidance when considering the use of available speci fi cations
  • 15. The Key Standards These are the most important standards If vendors properly implement the C++/Java standard you’ll have portability DDSI provides interoperability for a few cases
  • 16. Useful Additions X-Types is useful to enhance DDS with evolvable types DDS Security is useful in small scale systems
  • 17. Avoid These RPC over DDS should be avoided because it worsens DDS’ discovery tra ffi c Web-Enabled DDS leverages obsolete technology DDS-XRCE is complex and ine ffi cient — far better alternatives exists
  • 18. We’ve been there all along…
  • 19. New C++ API We where the force behind the new DDS C++ API It took a pharaonic e ff ort to get it standardised We managed thanks to end-users asking other vendors to support SimD — the Open Source reference implementation we had built! Take Home Lesson — Don’t underestimate the power of Innovation and Open Source
  • 20. Forefront of DDS Our team has always been innovating and the forefront of DDS We were the fi rst to show how to route DDS tra ffi c across the internet Take Home Lesson — To scale DDS you need to break its end-to-end semantics. Why not use on the WAN a protocol than can scale w/o contortionism
  • 22. DDS and Beyond Before spinning-o ff our team was operating as ADLINK’s Advanced Technology O ffi ce (ATO) There we had the luxury to start from scratch and leverage our experience to: - Build the best DDS yet - Invent a new protocol that address the cloud-to-microcontroller continuum and easily expand DDS systems to the wide-area and toward the microcosm
  • 23. Built to be the best and most developer friendly DDS implementation A Pub/Sub/Query protocol unifying data in motion, data at rest and computations, that can span from the data-centre to the micro- controller
  • 24. Working Together as One Zenoh routers can be used to transparently route Cyclone DDS tra ffi c Zenoh applications can transparently interoperate with Cyclone DDS applications anywhere on the network Cyclone DDS applications transparently leverage all Zenoh’s plugins for storage, web, messaging protocols, etc. Router Router Router Router Router Client Client Zenoh Peer Peer Peer Peer Peer Router Client Client Client Client Router Router DDS Client Peer Peer Peer Peer Peer Peer Peer Peer
  • 26. Most performing DDS implementation on the market Fastest growing DDS implementation for ROS2 based Robots Strong signals of adoptions in proprietary Robotic Stacks from several Unicorns Growing momentum in Automotive
  • 27. Di ff erentiation OMG DDS standard compliance limits several dimensions of feature di ff erentiation. Thus our approach is: Welcoming and extremely supporting community Best developer experience, it simply works! Zero adoption barrier Best integration with Zenoh
  • 28. Open Source For Real Eclipse IoT Project Open and transparent governance High standard release project, which includes IP & Patent checks
  • 29. Back to the Basics
  • 30. DDS introduction Eventually consistent shared data space Structured using typed topics with QoS, publishers and subscribers Targets low-latency and high- throughput for maximally decoupled processes DDS’ Global Data Space DDS Global Data Space ... Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS
  • 31. Eventual consistency Data replication as a natural consequence Primitives chosen for fail-stop tolerance and restarting Expressive despite weak primitives (e.g. Orzan, S.-M. (2001). Distributing requirements speci fi cations on basic splice. Software Engineering [SEN]. CWI)
  • 32. Data model Careful modelling of application data into topics Mostly-independent development of components Relatively easy integration of these components Reuse of components in successive iterations of system DDS’ Global Data Space DDS Global Data Space ... Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS Topic T y p e Name Q o S
  • 33. Con fi gurability Variety of QoS settings - reliability, longevity of data - controlling storage of data - noti fi cations on loss of liveliness, not meeting data rates - (odds and ends) Can reduce to “ordinary” publish-subscribe messaging system - e.g. ROS 2 chooses to use it this way
  • 34. How to Get it $ git clone https://github.com/eclipse- cyclonedds/cyclonedds.git optionally: $ git clone https://github.com/eclipse- cyclonedds/cyclonedds-cxx.git
  • 35. Getting Started with Python $ pip install cyclonedds
  • 37. Available Now - DDS API in C, C++ and Python - All QoS, but Transient and Persistent Durability, Presentation - Support for X-Types - Support for DDS Security - Performance Benchmarking Tool - CLI and GUI-based Monitoring Tool
  • 38. Coming Up - Transient and Persistent Durability - ISO 26262 ASIL-D Certi fi cation
  • 40. Benchmarking Settings DDS: Latest version of Cyclone DDS Host: AMD Ryzen 5800X @ 4.0GHz, 32 GB of RAM OS: Ubuntu 20.04.3 LTS with Kernel 5.4.0-96-generic Network: 100Gb Ethernet (Mellanox ConnectX-6 Dx)
  • 43. Please, Measure The numbers you should trust are those that you get in your environment The numbers that really matters are those that you get with your application, not those out of a synthetic benchmark If you use a vendor tool, make sure you have access and carefully read the sources
  • 44. Cyclone’s ddsperf Let’s see how to easily measure cyclone performances on your environment
  • 46. Don’t Trust. Try it yourself One of the advantages of using DDS should be portability and interoperability Have you ever tried to port some code? You’ll learn a lot on vendors commitment when trying to run the same application across multiple vendors Cyclone is the reference, if you fi nd a deviation fi le a PR ;-)
  • 48. Interoperability Works if you constrain your use of DDS to a subset: - No Transient or Persistent data - No module Names, no “auto- dispose” - No vendor extensions (some vendors make it hard to distinguish) - (Except for some vendors where you need some extensions to make it work)
  • 49. Portability + Interoperability experiment - Eclipse Cyclone DDS C/C++ - ZettaScale OpenSplice DDS C++ (GitHub version) - OCI OpenDDS (classic) C++ - eProsima Fast-DDS (non-standard) C++ $ git clone https://github.com/eboasson/i11eperf
  • 51. Working with Dedication We are working hard and openly to make Cyclone “The DDS implementation” The goal is simple, our dedication is wholehearted It is our dream, followed by action and held together by dedication
  • 52. Patience, persistence and perspiration make an unbeatable combination for success. Thank You