SlideShare a Scribd company logo
Miaofei Mei
QoS Policies in ROS2 Dashing
June 2019
What are QoS Policies and Why Have Them
• Stands for quality of service
• Settings that control characteristics of the middleware
• Affects performance, fault tolerance, determinism, etc. of the
middleware’s communications
Originally Supported QoS Policies
• History
• Should publishers keep a history of sent messages
• Depth is a settable option
• Reliability
• Whether or not all messages in history must be delivered
• Durability
• Do messages in history need to outlive their publisher for late
coming subscriptions
Newly Supported QoS Policies
• Lifespan
• Deadline
• Liveliness
Lifespan QoS Policy
• The purpose is to avoid delivering “stale” data to the client
application
• Messages have a lifespan. Messages past their lifespan will not be
delivered to the application
• (There is no notification to the application that messages were
dropped)
Deadline QoS Policy
• Messages are expected to be sent and received within a period
• If the publisher’s offered deadline period is greater than the
subscription’s requested deadline period, then they are considered
incompatible
• The publisher/subscription will notify the client application if it is not
sending/receiving messages within the deadline
Liveliness QoS Policy
• When the publisher is not sending messages, it needs to assert its
liveliness to its subscriptions within some lease duration, either
automatically or manually
• Also subject to incompatibility between publisher and subscription
• The publisher will notify the client application if it has not asserted its
liveliness in time
• The subscription will notify the client application if its publisher did
not assert its liveliness in time
Publisher / Subscription API
• How to specify QoS policy settings and how will the client
application be notified of QoS events?
• create_publisher(topic_name, qos_settings, publisher_options);
• create_subscription(topic_name, qos_settings, msg_callback,
subscription_options, mem_strat);
Event Callback Functions
• Like the message callback function
• Specified in the publisher_options / subscription_options arguments
• Providing these callback functions are optional
• For example:
subscription_options.event_callbacks.deadline_callback =
[](rclcpp::QOSDeadlineRequestedInfo & event) -> void
{
printf("Requested deadline missed - total %d delta %d",
event.total_count, event.total_count_change);
};
Thank You!
Q&A
• Questions?
• Additional information can also be found at:
• DDS Specification
• Design Document

More Related Content

PDF
PCE 〜MPLSネットワークのSDN化を本気で実現する"唯一の"方法〜
PPTX
Load Balancing Apps in Docker Swarm with NGINX
PDF
Openv switchの使い方とか
PPTX
ARM LinuxのMMUはわかりにくい
PDF
Linux Locking Mechanisms
PPTX
2. 型態、變數與運算子
PDF
Lxc で始めるケチケチ仮想化生活?!
PDF
他山の石勉強会 DRBD編
PCE 〜MPLSネットワークのSDN化を本気で実現する"唯一の"方法〜
Load Balancing Apps in Docker Swarm with NGINX
Openv switchの使い方とか
ARM LinuxのMMUはわかりにくい
Linux Locking Mechanisms
2. 型態、變數與運算子
Lxc で始めるケチケチ仮想化生活?!
他山の石勉強会 DRBD編

What's hot (6)

PDF
Tomcat and apache httpd training
PDF
【EX/QFX】JUNOS ハンズオントレーニング資料 EX/QFX シリーズ サービス ゲートウェイ コース
PDF
Mastering Real-time Linux
PPTX
файлова система
PPTX
[NDC17] Kubernetes로 개발서버 간단히 찍어내기
Tomcat and apache httpd training
【EX/QFX】JUNOS ハンズオントレーニング資料 EX/QFX シリーズ サービス ゲートウェイ コース
Mastering Real-time Linux
файлова система
[NDC17] Kubernetes로 개발서버 간단히 찍어내기
Ad

Similar to QoS Policies in ROS 2 Dashing (15)

PDF
Communication Patterns Using Data-Centric Publish/Subscribe
PDF
Communication Patterns Using Data-Centric Publish/Subscribe
PDF
CassieQ: The Distributed Message Queue Built on Cassandra (Anton Kropp, Cural...
PDF
Quality of Service in Publish/Subscribe Middleware
PPT
Mq Lecture
PPTX
DBodle QoS Exam Study Notes
PPT
Qo s rsvp......
PPT
Quality of Servise
PPTX
Brokered Messaging in Windows Azure
PDF
Introduction to Apache Kafka
PPTX
Presentacion QoS.pptx
PPT
PPT
Application SLA - the missing part of complete SLA management
PDF
Internet quality of service an overview
PPT
IP QoS Principles and Quality of Service (QoS) classifies network traffic
Communication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/Subscribe
CassieQ: The Distributed Message Queue Built on Cassandra (Anton Kropp, Cural...
Quality of Service in Publish/Subscribe Middleware
Mq Lecture
DBodle QoS Exam Study Notes
Qo s rsvp......
Quality of Servise
Brokered Messaging in Windows Azure
Introduction to Apache Kafka
Presentacion QoS.pptx
Application SLA - the missing part of complete SLA management
Internet quality of service an overview
IP QoS Principles and Quality of Service (QoS) classifies network traffic
Ad

Recently uploaded (20)

PDF
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
PPTX
bas. eng. economics group 4 presentation 1.pptx
PPTX
Artificial Intelligence
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PDF
PPT on Performance Review to get promotions
PPTX
Current and future trends in Computer Vision.pptx
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PPTX
Internet of Things (IOT) - A guide to understanding
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PDF
composite construction of structures.pdf
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PPTX
Construction Project Organization Group 2.pptx
PPTX
UNIT 4 Total Quality Management .pptx
PPTX
Fundamentals of safety and accident prevention -final (1).pptx
PPTX
Safety Seminar civil to be ensured for safe working.
PDF
BIO-INSPIRED HORMONAL MODULATION AND ADAPTIVE ORCHESTRATION IN S-AI-GPT
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
bas. eng. economics group 4 presentation 1.pptx
Artificial Intelligence
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PPT on Performance Review to get promotions
Current and future trends in Computer Vision.pptx
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
Internet of Things (IOT) - A guide to understanding
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
composite construction of structures.pdf
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
Construction Project Organization Group 2.pptx
UNIT 4 Total Quality Management .pptx
Fundamentals of safety and accident prevention -final (1).pptx
Safety Seminar civil to be ensured for safe working.
BIO-INSPIRED HORMONAL MODULATION AND ADAPTIVE ORCHESTRATION IN S-AI-GPT
UNIT-1 - COAL BASED THERMAL POWER PLANTS

QoS Policies in ROS 2 Dashing

  • 1. Miaofei Mei QoS Policies in ROS2 Dashing June 2019
  • 2. What are QoS Policies and Why Have Them • Stands for quality of service • Settings that control characteristics of the middleware • Affects performance, fault tolerance, determinism, etc. of the middleware’s communications
  • 3. Originally Supported QoS Policies • History • Should publishers keep a history of sent messages • Depth is a settable option • Reliability • Whether or not all messages in history must be delivered • Durability • Do messages in history need to outlive their publisher for late coming subscriptions
  • 4. Newly Supported QoS Policies • Lifespan • Deadline • Liveliness
  • 5. Lifespan QoS Policy • The purpose is to avoid delivering “stale” data to the client application • Messages have a lifespan. Messages past their lifespan will not be delivered to the application • (There is no notification to the application that messages were dropped)
  • 6. Deadline QoS Policy • Messages are expected to be sent and received within a period • If the publisher’s offered deadline period is greater than the subscription’s requested deadline period, then they are considered incompatible • The publisher/subscription will notify the client application if it is not sending/receiving messages within the deadline
  • 7. Liveliness QoS Policy • When the publisher is not sending messages, it needs to assert its liveliness to its subscriptions within some lease duration, either automatically or manually • Also subject to incompatibility between publisher and subscription • The publisher will notify the client application if it has not asserted its liveliness in time • The subscription will notify the client application if its publisher did not assert its liveliness in time
  • 8. Publisher / Subscription API • How to specify QoS policy settings and how will the client application be notified of QoS events? • create_publisher(topic_name, qos_settings, publisher_options); • create_subscription(topic_name, qos_settings, msg_callback, subscription_options, mem_strat);
  • 9. Event Callback Functions • Like the message callback function • Specified in the publisher_options / subscription_options arguments • Providing these callback functions are optional • For example: subscription_options.event_callbacks.deadline_callback = [](rclcpp::QOSDeadlineRequestedInfo & event) -> void { printf("Requested deadline missed - total %d delta %d", event.total_count, event.total_count_change); };
  • 11. Q&A • Questions? • Additional information can also be found at: • DDS Specification • Design Document