SlideShare uma empresa Scribd logo
1 de 26
© 2021 Object Management Group 1
Student
Presentation Series
www.DDS-Foundation.org
• Mission: To advance the use of DDS in complex, high-performance, distributed applications
• Members: DDS users, government institutions, researchers, universities, technology companies
• Goals:
• Drive future requirements for the DDS standard
• Define industry-specific data models and adaptations of DDS
• Vendor interoperability
• Industry education and resources
• Managed by the Object Management Group® (OMG)
2
About the DDS Foundation
© 2020 Object Management Group 3
www.dds-foundation.org  Resources
DDS Foundation Library: Webinars and Use Cases
Zhuangwei Kang
Vanderbilt University
Background &
Motivation
Feasibility &
Challenges of
deploying
containerized DDS
applications in K8s
cluster
Quantitative
Performance
Evaluation
Insights and
Conclusion
Limitation & Future
Works
Container enables lightweight encapsulation of functional modules, such
as DDS’ pub/sub capabilities;
Offers resource isolation thereby allowing distributed applications and
services to be easily deployed and operated across heterogeneous
platforms through sharing standardized container images.
With K8s, it is easy to deploy, update, scale, and self-heal distributed
applications.
Pod: a group of one or
more containers.
Node: virtual or
physical machine.
Control plane: manages the worker
nodes and the Pods in the cluster.
8
•All containers can communicate with all other
containers without Network Address
Translation (NAT);
•All nodes can communicate with all
containers (and vice-versa) without NAT;
•The IP that a container sees itself is the same
IP that others see.
Basic requirements:
•Container-to-Container networking
•Pod-to-Pod networking
•Pod-to-Service networking
•Internet-to-Service networking
Networking schemas:
Fig1. An Example of K8s network model
The feasibility of deploying K8s-managed, containerized
DDS pub/sub applications across the edge-to-cloud
resources remains to be investigated.
The performance illustrated with containers and
virtual networks for IoT applications based on
real-time pub/sub middleware, such as DDS, is
likely to be different and no study to date has
investigated this challenge either.
Host-mode: native networking option in K8s allowing pods to share the host’s network space.
•Pros: high-performance
•Cons: port conflicts, insecure
Flannel: the most straightforward and mature K8s CNI
•VXLAN Backend: creates an overlay on top of the underlying network based on the VXLAN tunneling technique
•Host-gw Backend: uses peer hosts as gateways, writing routing rules between source and target pods directly into the host’s iptables.
WeaveNet: fully emulates a L2 network whose topology is built by application-level virtual routers located on
the user space of each host.
•VXLAN (fastpath mode): adopts open-datapath (odp) of the Open vSwitch (OVS) to wrap UDP packets with a VXLAN header in the kernel
space, and then routes packets based on the odp routing tables issued by the virtual router.
Kube-Router: a lean yet powerful K8s CNI designed for the sake of simplifying K8s network fabric
•Routing and reachability information exchanging rely on iBGP when performing inter-subnet communication, while BGP is used instead for
cross-subnet networking,
Why hybrid-arch deployment?
 Edge-to-Cloud continuum is a common
deployment schema for managing large-scale
IoT application;
 K8s Master is much more resource-intensive
than worker nodes due to extensive cluster-
wide operations, such as managing cluster state
and processing user requests received from its
API server;
 Deploying K8s control plane on resource-
constraint edge devices may lead to un-
predictive response time especially in large-
scale clusters.
Fig2. kubectl operation cost comparison
Auto-deployer: (1) initializes the K8s cluster; (2) installs CNI plugins; (3) deploys other components;
Perftest pod: a containerized Perftest benchmark application compiled with Connext DDS;
Cloud Discovery Service (CDS): an external DDS infrastructure service used for discovery when multicast is not supported by the network infrastructure, such as K8s CNIs.
Resource Metrics Monitor: K8s built-in metrics server that is deployed as a K8s Deployment.
1.DDS-PerfTest Manager: (1) generates performance test commands with a given experiment profile, (2) executes them on pods using the kubectl tool, (3) monitors the experiment’s
progress and periodically gathers node resource usage from the K8s Metrics Server using the ”kubectl top” command.
Fig2. K8SDDS Benchmark Framework Architecture
• Hardware: Pi 3B
• Arch: ARMv7l
• CPU: 4
• RAM: 1GB
• MTU: 1500B
• OS: Raspbian 9
(32bit)
• Docker: v19.03
• K8s: v1.19
Worker Nodes(10)
• Hardware:Intel i7-2600
• Arch: AMD64
• CPU: 4
• RAM: 4GB
• MTU: 1500B
• OS: Ubuntu 20.04 LTS
(64bit)
• Docker: v19.03
• K8s: v1.19
Master Node
100Mbps
Other Software:
• Flannel 0.11.0,
• WeaveNet 2.6.5
• Kube-Router 0.3.0
• RTI Connext DDS v6.0.1
• PerfTest v3.1
CNI MTU:
• Flannel-VXLAN: 1450 B
• Flannel-Hostgw: 1500 B
• Flannel-IPSec: 1423 B
• WeaveNet: 1438 B
• WeaveNet-Encrypt: 1414 B
• Kube-Router: 1480 B
 Virtualization Overhead: investigate the performance
overhead introduced by container virtualization.
 CNI-based NetworkVirtualization Overhead: quantify the
performance overhead im- posed by virtual networks on DDS
applications
 Performance with BestEffort QoS: study the impact of CNI
overhead to applications that desire superior end-to-end
latency but tolerable packet dropout.
 Performance with Multicast QoS: answer the question that
whether WeaveNet multicast can make up for the overhead
yield from OVS VXLAN encapsulation, and thus become a
more promising solution in multi-subscriber use cases.
 Security Support: delves into the comparison of DDS Security
extension and IPSec approaches in a K8s deployment.
Latency
Throughput
 1-subscriber Scenario: Publisher
sends data samples at a configurable
rate, and a subscriber calculates
throughput by counting the volume
of received bytes and samples.
 N-subscriber Scenario: average
throughput over all subscribers.
 1-subscriber Scenario: The publisher
with pubID=0 enters into the wait state
after sending a ”ping” sample until a
responding ”pong” is returned by
subscriber. The Publisher computes
the one-way latency from the
measured round trip time.
 N-subscriber Scenario: 𝐿𝑎𝑣𝑔 =
1
𝐾 𝑖=1
𝐾
𝐿𝑖%𝑁, where 𝐿𝑖%𝑁 is the one-
way latency of the (𝑖%𝑁)𝑡ℎ
subscriber and K is the total number
of samples emitted by publisher
during the test.
Resource Utilization
 CPU & Memory: periodically invoke
the “kubectl top pod/node”
command to get instant resource
utilization.
Fig3. Performance overhead of container virtualization in Throughput and
Latency Tests. Figure shows mean throughput and 90th latency.
Communication Pattern: 1pub-1sub. Publication rate: unlimited for
throughput test and ping-pong mode for latency test. Reliability : enabled,
Batching: disabled. Test period: 120 seconds.
6% overhead negligible ≤ 1.5%
Observations: the impact
of container virtualization
is not detrimental to the
real-time property of
DDS applications.
Baremetal: run the perftest app
on physical nodes.
Host-mode: deploy the perftest
app in containers that share
network namespace with the
host.
Observations:
• Flannel-VXLAN and WeaveNet present notable
throughput degradation over all payload lengths
due to the overhead of L2 encapsulation.;
• WeaveNet’s throughput is comparably lower than
Flannel- VXLAN, suggesting OVS VXLAN
encapsulation introduce more overhead;
• Flannel-Hostgw and Kube-Router obtain similar
throughput;
• Flannel-Hostgw performs better than Kube-Router
when the payload length is greater than 1KB due to
the difference in MTU(1500B vs. 1480B).
Fig4. Performance comparison of different K8s CNI plugins in Throughput
and Latency Tests. Figure shows mean throughput and 90th latency.
Communication Pattern: 1pub- 1sub. Publication rate: unlimited for
throughput test and ping- pong mode for latency test. Reliability: enabled,
Batching: disabled. Test period: 120 seconds.
Table1. overhead of each CNI relative to Host-mode in percentage.
Observations:
• L2 CNIs(Flannel-VXLAN,WeaveNet)
have higher latency than L3 ones(Kube-
Router, Flannel-VXLAN).
• Latency slightly reduces in the
BestEffort mode when running the
latency test.
Fig5. 90th Latency with BestEffort QoS. Communication Pattern: 1pub-1sub.
Transport: UDP. Batching: disabled. Test period: 120 seconds.
Observations:
• The performance of WeaveNet-Multicast lags behind all other unicast solutions when there are four subscribers, then
exceeds WeaveNet-Unicast and Flannel-VXLAN in the 1pub/8sub use case, eventually becoming the optimal CNI as the
number of subscribers increases to 12.
• For WeaveNet-Multicast, the process of wrapping samples to individual subscribers takes place in the Weave container,
leading to incrementally increasing CPU utilization on the host.
• WeaveNet-Multicast effectively saves host memory because packets are copied only once in the multi-subscriber
usecases.
• The average latency over all subscribers for WeaveNet-Multicast is greater than others, which means the delay
introduced by emulating multicast is non-negligible.
Fig6. Performance comparison of multicast/unicast-enabled CNIs in aspects of throughput, pub pod CPU usage, pub host CPU usage,
pub host memory usage, and 90th ping-pong latency. The left four plots are produced by the same throughput tests. QoS settings:
Reliable QoS: enabled, Batching QoS: disabled, Transport: UDP. Payload length: 1KB. Test period: 120 seconds.
Integrity
Confidentiality
Source
authenticity
SIGN
ENCRYPT
(128/192/256-bits
AES-GCM)
WITH_ORIGIN_AUTHENTI
CATION
(128/192/256-bits AES-
GMAC)
DDS Security Addon
RTPS Message
RTPS Header
RTPS SubMessage
SubMsg Header
SubMsg Element
SubMsg Element
SerializedPayload
• Flannel-IPSec: operates in the ESP
tunnel mode that encapsulates and
encrypts whole IP packets;
• WeaveNet-Encrypt: encapsulates
packets using OVS VXLAN and
encrypts UDP datagrams in ESP
transport mode.
Observations:
• Kube-Router with DDS Security(SignWithOrigAuthRTPSEncryptSM) performs better than Flannel-IPSec when sending messages that are
smaller than 1KB but earns lower throughput and higher latency for larger ones.
• The fine-grained data protection functions that are unique to DDS Security plugin enable applications to plug tailored security options to
avoid performance overhead induced by unnecessary security operations.
• Although the ESP transport mode of WeaveNet IPSec incurs lower encapsulation overhead than the tunnel mode in Flannel, the impact of
VXLAN encapsulation offsets the overall performance.
• For multi-subscriber use cases, DDS Security produces better throughput performance than security provided by virtual networks.
Fig7. Performance comparison of security implementations on
application-layer(DDS Security plugin) and network- layer(Flannel-
IPSec, WeaveNet-Encrypt). Communication pattern: 1pub-1sub.
Reliability: enabled, Batching: disabled. Test period: 120 seconds.
Fig8. Performance comparison of security implementations on application-
layer(DDS Security plugin) and network- layer(Flannel-IPSec, WeaveNet-
Encrypt) in multi-subscriber use case. Communication pattern: 1pub-4sub.
Reliability: enabled, Batching: disabled. Test period: 120 seconds.
1. DDS containers earn better performance when using Kube-Router or Flannel-Hostgw CNI in
reliable unicast communication.
2. Enabling DDS BestEffort QoS is a good practice to reduce latency and L2 CNIs show better
performance improvement than Flannel-Hostgw and Kube-router.
3. For WeaveNet, the overhead induced by WeaveNet VXLAN encapsulation may offset its multicast’s
benefit when operating in small-scale clusters. But it promises better scalability in large-scale
multi-subscriber use cases.
4. The DDS security extension offers more flexible and fine-grained protection than IPSec
approaches supported by Flannel and WeaveNet.
5. In the 1-pub/1-sub communication, DDS Security outperforms Flannel-IPSec and WeaveNet-
Encrypt when the payload is smaller than MTU, while incurs more overhead when sending large
samples.
6. In multi-subscriber use cases, DDS Security is the best practice for achieving high performance
and scalability.
7. Flannel-IPsec performs better than WeaveNet-Encrypt in unicast communication.
 This paper validates the feasibility of deploying DDS-based IoT applications with K8s
in a hybrid platform setup where the K8s master and workers were deployed on AMD
and ARM machines,respectively.
 We qualitatively analyzes the overhead of three mainstream K8s CNI plugins(Flannel,
WeaveNet, and Kube-Router) that support hybrid-platform deployment.
 There is no one-size-fits- all CNI recommendation when deploying DDS applications
on K8s clusters.The performance of DDS applications on different CNIs is affected by
system topology, QoS policies, and CNI configurations.
 The automated benchmark framework presented in this paper provides users with an
out-of-the-box tool to evaluate DDS performance on K8s clusters.
The performance of containerized DDS applications with dynamic data flows has not been
evaluated.
Tuning DDS and K8s CNI knobs under particular QoS and hardware restrictions intelligently
and adaptively.
The feasibility, performance, and scalability of cross-cluster communication of containerized
DDS applications has not been systematically studied.
Last but not least, this paper, as a foundation work, will guide our future research to depict a
blueprint to achieving high-performance and automated deployment of containerized DDS
applications on K8s platforms.
ACKNOWLEDGMENT
 I extend my thanks to Dr.
Kyoungho An and Dr. Paul
Pazandak, from RTI, for their
continued guidance and
assistance in problem definition,
experiment setup, and data
analysis.
 I would like to appreciate Dr.
Aniruddha Gokhale for acting as
my advisor for this research.
THANK YOU
Q & A GITHUB URL:
HTTPS://GITHUB.COM/DO
C-VU/K8SDDS

Mais conteúdo relacionado

Semelhante a ddsf-student-presentation_756205.pptx

Optimising nfv service chains on open stack using docker
Optimising nfv service chains on open stack using dockerOptimising nfv service chains on open stack using docker
Optimising nfv service chains on open stack using dockerAnanth Padmanabhan
 
Optimising nfv service chains on open stack using docker
Optimising nfv service chains on open stack using dockerOptimising nfv service chains on open stack using docker
Optimising nfv service chains on open stack using dockerSatya Sanjibani Routray
 
Optimising nfv service chains on open stack using docker
Optimising nfv service chains on open stack using dockerOptimising nfv service chains on open stack using docker
Optimising nfv service chains on open stack using dockerRahul Krishna Upadhyaya
 
Scaling Kubernetes to Support 50000 Services.pptx
Scaling Kubernetes to Support 50000 Services.pptxScaling Kubernetes to Support 50000 Services.pptx
Scaling Kubernetes to Support 50000 Services.pptxthaond2
 
Software Defined Networking in GÉANT
Software Defined Networking in GÉANTSoftware Defined Networking in GÉANT
Software Defined Networking in GÉANTGÉANT
 
Building a sdn solution for the deployment of web application stacks in docker
Building a sdn solution for the deployment of web application stacks in dockerBuilding a sdn solution for the deployment of web application stacks in docker
Building a sdn solution for the deployment of web application stacks in dockerJorge Juan Mendoza
 
Understanding network and service virtualization
Understanding network and service virtualizationUnderstanding network and service virtualization
Understanding network and service virtualizationSDN Hub
 
Secure Your Containers: What Network Admins Should Know When Moving Into Prod...
Secure Your Containers: What Network Admins Should Know When Moving Into Prod...Secure Your Containers: What Network Admins Should Know When Moving Into Prod...
Secure Your Containers: What Network Admins Should Know When Moving Into Prod...Cynthia Thomas
 
Ceph QoS: How to support QoS in distributed storage system - Taewoong Kim
Ceph QoS: How to support QoS in distributed storage system - Taewoong KimCeph QoS: How to support QoS in distributed storage system - Taewoong Kim
Ceph QoS: How to support QoS in distributed storage system - Taewoong KimCeph Community
 
Container orchestration and microservices world
Container orchestration and microservices worldContainer orchestration and microservices world
Container orchestration and microservices worldKarol Chrapek
 
kubernetesssssssssssssssssssssssssss.pdf
kubernetesssssssssssssssssssssssssss.pdfkubernetesssssssssssssssssssssssssss.pdf
kubernetesssssssssssssssssssssssssss.pdfbchiriamina2
 
Openstack Overview
Openstack OverviewOpenstack Overview
Openstack Overviewrajdeep
 
mSwitch: A Highly-Scalable, Modular Software Switch
mSwitch: A Highly-Scalable, Modular Software SwitchmSwitch: A Highly-Scalable, Modular Software Switch
mSwitch: A Highly-Scalable, Modular Software Switchmicchie
 
Using Deep Learning Toolkits with Kubernetes clusters
Using Deep Learning Toolkits with Kubernetes clustersUsing Deep Learning Toolkits with Kubernetes clusters
Using Deep Learning Toolkits with Kubernetes clustersJoy Qiao
 
Distributed Performance testing by funkload
Distributed Performance testing by funkloadDistributed Performance testing by funkload
Distributed Performance testing by funkloadAkhil Singh
 
FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)Kirill Tsym
 
FD.IO Vector Packet Processing
FD.IO Vector Packet ProcessingFD.IO Vector Packet Processing
FD.IO Vector Packet ProcessingKernel TLV
 

Semelhante a ddsf-student-presentation_756205.pptx (20)

CloudStack and SDN
CloudStack and SDNCloudStack and SDN
CloudStack and SDN
 
Scale Kubernetes to support 50000 services
Scale Kubernetes to support 50000 servicesScale Kubernetes to support 50000 services
Scale Kubernetes to support 50000 services
 
Optimising nfv service chains on open stack using docker
Optimising nfv service chains on open stack using dockerOptimising nfv service chains on open stack using docker
Optimising nfv service chains on open stack using docker
 
Optimising nfv service chains on open stack using docker
Optimising nfv service chains on open stack using dockerOptimising nfv service chains on open stack using docker
Optimising nfv service chains on open stack using docker
 
Optimising nfv service chains on open stack using docker
Optimising nfv service chains on open stack using dockerOptimising nfv service chains on open stack using docker
Optimising nfv service chains on open stack using docker
 
Scaling Kubernetes to Support 50000 Services.pptx
Scaling Kubernetes to Support 50000 Services.pptxScaling Kubernetes to Support 50000 Services.pptx
Scaling Kubernetes to Support 50000 Services.pptx
 
Software Defined Networking in GÉANT
Software Defined Networking in GÉANTSoftware Defined Networking in GÉANT
Software Defined Networking in GÉANT
 
UDT.pptx
UDT.pptxUDT.pptx
UDT.pptx
 
Building a sdn solution for the deployment of web application stacks in docker
Building a sdn solution for the deployment of web application stacks in dockerBuilding a sdn solution for the deployment of web application stacks in docker
Building a sdn solution for the deployment of web application stacks in docker
 
Understanding network and service virtualization
Understanding network and service virtualizationUnderstanding network and service virtualization
Understanding network and service virtualization
 
Secure Your Containers: What Network Admins Should Know When Moving Into Prod...
Secure Your Containers: What Network Admins Should Know When Moving Into Prod...Secure Your Containers: What Network Admins Should Know When Moving Into Prod...
Secure Your Containers: What Network Admins Should Know When Moving Into Prod...
 
Ceph QoS: How to support QoS in distributed storage system - Taewoong Kim
Ceph QoS: How to support QoS in distributed storage system - Taewoong KimCeph QoS: How to support QoS in distributed storage system - Taewoong Kim
Ceph QoS: How to support QoS in distributed storage system - Taewoong Kim
 
Container orchestration and microservices world
Container orchestration and microservices worldContainer orchestration and microservices world
Container orchestration and microservices world
 
kubernetesssssssssssssssssssssssssss.pdf
kubernetesssssssssssssssssssssssssss.pdfkubernetesssssssssssssssssssssssssss.pdf
kubernetesssssssssssssssssssssssssss.pdf
 
Openstack Overview
Openstack OverviewOpenstack Overview
Openstack Overview
 
mSwitch: A Highly-Scalable, Modular Software Switch
mSwitch: A Highly-Scalable, Modular Software SwitchmSwitch: A Highly-Scalable, Modular Software Switch
mSwitch: A Highly-Scalable, Modular Software Switch
 
Using Deep Learning Toolkits with Kubernetes clusters
Using Deep Learning Toolkits with Kubernetes clustersUsing Deep Learning Toolkits with Kubernetes clusters
Using Deep Learning Toolkits with Kubernetes clusters
 
Distributed Performance testing by funkload
Distributed Performance testing by funkloadDistributed Performance testing by funkload
Distributed Performance testing by funkload
 
FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)
 
FD.IO Vector Packet Processing
FD.IO Vector Packet ProcessingFD.IO Vector Packet Processing
FD.IO Vector Packet Processing
 

Último

This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structuredhanjurrannsibayan2
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Association for Project Management
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsKarakKing
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfPoh-Sun Goh
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxVishalSingh1417
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseAnaAcapella
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17Celine George
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxVishalSingh1417
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxEsquimalt MFRC
 

Último (20)

This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 

ddsf-student-presentation_756205.pptx

  • 1. © 2021 Object Management Group 1 Student Presentation Series www.DDS-Foundation.org
  • 2. • Mission: To advance the use of DDS in complex, high-performance, distributed applications • Members: DDS users, government institutions, researchers, universities, technology companies • Goals: • Drive future requirements for the DDS standard • Define industry-specific data models and adaptations of DDS • Vendor interoperability • Industry education and resources • Managed by the Object Management Group® (OMG) 2 About the DDS Foundation
  • 3. © 2020 Object Management Group 3 www.dds-foundation.org  Resources DDS Foundation Library: Webinars and Use Cases
  • 5. Background & Motivation Feasibility & Challenges of deploying containerized DDS applications in K8s cluster Quantitative Performance Evaluation Insights and Conclusion Limitation & Future Works
  • 6. Container enables lightweight encapsulation of functional modules, such as DDS’ pub/sub capabilities; Offers resource isolation thereby allowing distributed applications and services to be easily deployed and operated across heterogeneous platforms through sharing standardized container images. With K8s, it is easy to deploy, update, scale, and self-heal distributed applications.
  • 7. Pod: a group of one or more containers. Node: virtual or physical machine. Control plane: manages the worker nodes and the Pods in the cluster.
  • 8. 8 •All containers can communicate with all other containers without Network Address Translation (NAT); •All nodes can communicate with all containers (and vice-versa) without NAT; •The IP that a container sees itself is the same IP that others see. Basic requirements: •Container-to-Container networking •Pod-to-Pod networking •Pod-to-Service networking •Internet-to-Service networking Networking schemas: Fig1. An Example of K8s network model
  • 9. The feasibility of deploying K8s-managed, containerized DDS pub/sub applications across the edge-to-cloud resources remains to be investigated. The performance illustrated with containers and virtual networks for IoT applications based on real-time pub/sub middleware, such as DDS, is likely to be different and no study to date has investigated this challenge either.
  • 10. Host-mode: native networking option in K8s allowing pods to share the host’s network space. •Pros: high-performance •Cons: port conflicts, insecure Flannel: the most straightforward and mature K8s CNI •VXLAN Backend: creates an overlay on top of the underlying network based on the VXLAN tunneling technique •Host-gw Backend: uses peer hosts as gateways, writing routing rules between source and target pods directly into the host’s iptables. WeaveNet: fully emulates a L2 network whose topology is built by application-level virtual routers located on the user space of each host. •VXLAN (fastpath mode): adopts open-datapath (odp) of the Open vSwitch (OVS) to wrap UDP packets with a VXLAN header in the kernel space, and then routes packets based on the odp routing tables issued by the virtual router. Kube-Router: a lean yet powerful K8s CNI designed for the sake of simplifying K8s network fabric •Routing and reachability information exchanging rely on iBGP when performing inter-subnet communication, while BGP is used instead for cross-subnet networking,
  • 11. Why hybrid-arch deployment?  Edge-to-Cloud continuum is a common deployment schema for managing large-scale IoT application;  K8s Master is much more resource-intensive than worker nodes due to extensive cluster- wide operations, such as managing cluster state and processing user requests received from its API server;  Deploying K8s control plane on resource- constraint edge devices may lead to un- predictive response time especially in large- scale clusters. Fig2. kubectl operation cost comparison
  • 12. Auto-deployer: (1) initializes the K8s cluster; (2) installs CNI plugins; (3) deploys other components; Perftest pod: a containerized Perftest benchmark application compiled with Connext DDS; Cloud Discovery Service (CDS): an external DDS infrastructure service used for discovery when multicast is not supported by the network infrastructure, such as K8s CNIs. Resource Metrics Monitor: K8s built-in metrics server that is deployed as a K8s Deployment. 1.DDS-PerfTest Manager: (1) generates performance test commands with a given experiment profile, (2) executes them on pods using the kubectl tool, (3) monitors the experiment’s progress and periodically gathers node resource usage from the K8s Metrics Server using the ”kubectl top” command. Fig2. K8SDDS Benchmark Framework Architecture
  • 13. • Hardware: Pi 3B • Arch: ARMv7l • CPU: 4 • RAM: 1GB • MTU: 1500B • OS: Raspbian 9 (32bit) • Docker: v19.03 • K8s: v1.19 Worker Nodes(10) • Hardware:Intel i7-2600 • Arch: AMD64 • CPU: 4 • RAM: 4GB • MTU: 1500B • OS: Ubuntu 20.04 LTS (64bit) • Docker: v19.03 • K8s: v1.19 Master Node 100Mbps Other Software: • Flannel 0.11.0, • WeaveNet 2.6.5 • Kube-Router 0.3.0 • RTI Connext DDS v6.0.1 • PerfTest v3.1 CNI MTU: • Flannel-VXLAN: 1450 B • Flannel-Hostgw: 1500 B • Flannel-IPSec: 1423 B • WeaveNet: 1438 B • WeaveNet-Encrypt: 1414 B • Kube-Router: 1480 B
  • 14.  Virtualization Overhead: investigate the performance overhead introduced by container virtualization.  CNI-based NetworkVirtualization Overhead: quantify the performance overhead im- posed by virtual networks on DDS applications  Performance with BestEffort QoS: study the impact of CNI overhead to applications that desire superior end-to-end latency but tolerable packet dropout.  Performance with Multicast QoS: answer the question that whether WeaveNet multicast can make up for the overhead yield from OVS VXLAN encapsulation, and thus become a more promising solution in multi-subscriber use cases.  Security Support: delves into the comparison of DDS Security extension and IPSec approaches in a K8s deployment.
  • 15. Latency Throughput  1-subscriber Scenario: Publisher sends data samples at a configurable rate, and a subscriber calculates throughput by counting the volume of received bytes and samples.  N-subscriber Scenario: average throughput over all subscribers.  1-subscriber Scenario: The publisher with pubID=0 enters into the wait state after sending a ”ping” sample until a responding ”pong” is returned by subscriber. The Publisher computes the one-way latency from the measured round trip time.  N-subscriber Scenario: 𝐿𝑎𝑣𝑔 = 1 𝐾 𝑖=1 𝐾 𝐿𝑖%𝑁, where 𝐿𝑖%𝑁 is the one- way latency of the (𝑖%𝑁)𝑡ℎ subscriber and K is the total number of samples emitted by publisher during the test. Resource Utilization  CPU & Memory: periodically invoke the “kubectl top pod/node” command to get instant resource utilization.
  • 16. Fig3. Performance overhead of container virtualization in Throughput and Latency Tests. Figure shows mean throughput and 90th latency. Communication Pattern: 1pub-1sub. Publication rate: unlimited for throughput test and ping-pong mode for latency test. Reliability : enabled, Batching: disabled. Test period: 120 seconds. 6% overhead negligible ≤ 1.5% Observations: the impact of container virtualization is not detrimental to the real-time property of DDS applications. Baremetal: run the perftest app on physical nodes. Host-mode: deploy the perftest app in containers that share network namespace with the host.
  • 17. Observations: • Flannel-VXLAN and WeaveNet present notable throughput degradation over all payload lengths due to the overhead of L2 encapsulation.; • WeaveNet’s throughput is comparably lower than Flannel- VXLAN, suggesting OVS VXLAN encapsulation introduce more overhead; • Flannel-Hostgw and Kube-Router obtain similar throughput; • Flannel-Hostgw performs better than Kube-Router when the payload length is greater than 1KB due to the difference in MTU(1500B vs. 1480B). Fig4. Performance comparison of different K8s CNI plugins in Throughput and Latency Tests. Figure shows mean throughput and 90th latency. Communication Pattern: 1pub- 1sub. Publication rate: unlimited for throughput test and ping- pong mode for latency test. Reliability: enabled, Batching: disabled. Test period: 120 seconds. Table1. overhead of each CNI relative to Host-mode in percentage.
  • 18. Observations: • L2 CNIs(Flannel-VXLAN,WeaveNet) have higher latency than L3 ones(Kube- Router, Flannel-VXLAN). • Latency slightly reduces in the BestEffort mode when running the latency test. Fig5. 90th Latency with BestEffort QoS. Communication Pattern: 1pub-1sub. Transport: UDP. Batching: disabled. Test period: 120 seconds.
  • 19. Observations: • The performance of WeaveNet-Multicast lags behind all other unicast solutions when there are four subscribers, then exceeds WeaveNet-Unicast and Flannel-VXLAN in the 1pub/8sub use case, eventually becoming the optimal CNI as the number of subscribers increases to 12. • For WeaveNet-Multicast, the process of wrapping samples to individual subscribers takes place in the Weave container, leading to incrementally increasing CPU utilization on the host. • WeaveNet-Multicast effectively saves host memory because packets are copied only once in the multi-subscriber usecases. • The average latency over all subscribers for WeaveNet-Multicast is greater than others, which means the delay introduced by emulating multicast is non-negligible. Fig6. Performance comparison of multicast/unicast-enabled CNIs in aspects of throughput, pub pod CPU usage, pub host CPU usage, pub host memory usage, and 90th ping-pong latency. The left four plots are produced by the same throughput tests. QoS settings: Reliable QoS: enabled, Batching QoS: disabled, Transport: UDP. Payload length: 1KB. Test period: 120 seconds.
  • 20. Integrity Confidentiality Source authenticity SIGN ENCRYPT (128/192/256-bits AES-GCM) WITH_ORIGIN_AUTHENTI CATION (128/192/256-bits AES- GMAC) DDS Security Addon RTPS Message RTPS Header RTPS SubMessage SubMsg Header SubMsg Element SubMsg Element SerializedPayload • Flannel-IPSec: operates in the ESP tunnel mode that encapsulates and encrypts whole IP packets; • WeaveNet-Encrypt: encapsulates packets using OVS VXLAN and encrypts UDP datagrams in ESP transport mode.
  • 21. Observations: • Kube-Router with DDS Security(SignWithOrigAuthRTPSEncryptSM) performs better than Flannel-IPSec when sending messages that are smaller than 1KB but earns lower throughput and higher latency for larger ones. • The fine-grained data protection functions that are unique to DDS Security plugin enable applications to plug tailored security options to avoid performance overhead induced by unnecessary security operations. • Although the ESP transport mode of WeaveNet IPSec incurs lower encapsulation overhead than the tunnel mode in Flannel, the impact of VXLAN encapsulation offsets the overall performance. • For multi-subscriber use cases, DDS Security produces better throughput performance than security provided by virtual networks. Fig7. Performance comparison of security implementations on application-layer(DDS Security plugin) and network- layer(Flannel- IPSec, WeaveNet-Encrypt). Communication pattern: 1pub-1sub. Reliability: enabled, Batching: disabled. Test period: 120 seconds. Fig8. Performance comparison of security implementations on application- layer(DDS Security plugin) and network- layer(Flannel-IPSec, WeaveNet- Encrypt) in multi-subscriber use case. Communication pattern: 1pub-4sub. Reliability: enabled, Batching: disabled. Test period: 120 seconds.
  • 22. 1. DDS containers earn better performance when using Kube-Router or Flannel-Hostgw CNI in reliable unicast communication. 2. Enabling DDS BestEffort QoS is a good practice to reduce latency and L2 CNIs show better performance improvement than Flannel-Hostgw and Kube-router. 3. For WeaveNet, the overhead induced by WeaveNet VXLAN encapsulation may offset its multicast’s benefit when operating in small-scale clusters. But it promises better scalability in large-scale multi-subscriber use cases. 4. The DDS security extension offers more flexible and fine-grained protection than IPSec approaches supported by Flannel and WeaveNet. 5. In the 1-pub/1-sub communication, DDS Security outperforms Flannel-IPSec and WeaveNet- Encrypt when the payload is smaller than MTU, while incurs more overhead when sending large samples. 6. In multi-subscriber use cases, DDS Security is the best practice for achieving high performance and scalability. 7. Flannel-IPsec performs better than WeaveNet-Encrypt in unicast communication.
  • 23.  This paper validates the feasibility of deploying DDS-based IoT applications with K8s in a hybrid platform setup where the K8s master and workers were deployed on AMD and ARM machines,respectively.  We qualitatively analyzes the overhead of three mainstream K8s CNI plugins(Flannel, WeaveNet, and Kube-Router) that support hybrid-platform deployment.  There is no one-size-fits- all CNI recommendation when deploying DDS applications on K8s clusters.The performance of DDS applications on different CNIs is affected by system topology, QoS policies, and CNI configurations.  The automated benchmark framework presented in this paper provides users with an out-of-the-box tool to evaluate DDS performance on K8s clusters.
  • 24. The performance of containerized DDS applications with dynamic data flows has not been evaluated. Tuning DDS and K8s CNI knobs under particular QoS and hardware restrictions intelligently and adaptively. The feasibility, performance, and scalability of cross-cluster communication of containerized DDS applications has not been systematically studied. Last but not least, this paper, as a foundation work, will guide our future research to depict a blueprint to achieving high-performance and automated deployment of containerized DDS applications on K8s platforms.
  • 25. ACKNOWLEDGMENT  I extend my thanks to Dr. Kyoungho An and Dr. Paul Pazandak, from RTI, for their continued guidance and assistance in problem definition, experiment setup, and data analysis.  I would like to appreciate Dr. Aniruddha Gokhale for acting as my advisor for this research.
  • 26. THANK YOU Q & A GITHUB URL: HTTPS://GITHUB.COM/DO C-VU/K8SDDS