ROS2 Real-time Working Group Online Meeting 5 - Nov 13, 2019, 7AM PDT (UTC-7)

Hi ROS2 RTWG members, our next meeting will be in 8 hours (sorry for the late notice).

Agenda:

  1. Recap workshop RosCon 19
  2. Update on WIP

Please add if you have more topics.

Call coordinates are in the calendar invite for RTWG and below:

Time: Nov 13, 2019 07:00 AM Pacific Time (US and Canada)

Join Zoom Meeting

Meeting ID: 171 629 184
Password: 803967

One tap mobile
+16699006833,171629184# US (San Jose)
+19294362866,171629184# US (New York)

Dial by your location
+1 669 900 6833 US (San Jose)
+1 929 436 2866 US (New York)
Meeting ID: 171 629 184
Find your local number: https://zoom.us/u/aAmxdSnyw

@Dejan_Pangercic

i wish i could join, but cannot make it cz of the time difference.
could you share minutes later as usual?

thanks,

@Dejan_Pangercic

unfortunately, I could not attend this meeting as I was on a business trip. In the next meeting, we (@JanStaschulat, @Ingo_Lutkebohle, @ralph-lange) would like to present and discuss the LET executor for rcl and the corresponding PR: https://github.com/ros2/rcl/pull/534

A small suggesting for the announcement of the WG meetings: Could you please add them to the ROS 2 WGs calender at https://calendar.google.com/calendar/embed?src=ujmpaaeq3p7sc94ihgiltgp6hs%40group.calendar.google.com ?

@ralph-lange great. How much time do you need for the presentation and what would be the objective that you’d like to achieve after the presentation (asking just to organize and make the meeting efficient)?

I have the meeting added to the Events calendar as suggested by @tfoote here: <no title> (see at the bottom).

I see that this calendar ROS 2 Working Groups is not being used anymore. @tfoote is that correct?

@Dejan_Pangercic, thank you for the quick reply. Let us stick with the calendar https://calendar.google.com/calendar/embed?src=agf3kajirket8khktupm9go748%40group.calendar.google.com that you already used.

Regarding the presentation on November 27th: I propose to plan 5 to 10min presentation + 10min discussion. The goal is to decide whether the LET Executor functionality should be included into the rcl repo and how to organize it with respect to the package structure.

@Dejan_Pangercic where do I find the meeting minutes of yesterdays RTWG meeting?

@Dejan_Pangercic, I should have talked to my colleague @JanStaschulat first :smiley: I was not aware that he already presented the LET Executor in the meeting on November 13. Nevertheless, at the next meeting, we should please discuss with the WG participants and in particular @wjwwood where and how to integrate the LET Executor and the C convenience functions for RCL, cf. https://github.com/ros2/rcl/pull/534. Several options are conceivable (rcl, rclc, …). As the next meeting will be after the Eloquent release, that’s probably the right point in time to discuss this PR.

Meeting minutes:

  1. Performance measurement
    1. Erik says that there are different and biased performance test benchmarks for DDS floating around.
  2. Static executor
    1. Bosch and Nobleo are running the experiments and also measuring the performance with this code:
      1. testbench Generator: https://github.com/micro-ROS/rcl_executor/tree/feature/testbench/rcl_executor_testbench
      2. testbench for the static rclcpp executor (nobleo): https://github.com/nobleo/rclcpp_executor_testbench
      3. With above packages you can: split up benchmark, configure the number of publishers, subscribers, essentially it is a benchmark generator, simple way to generate test cases & can see overhead in DDS, rmw, …
  3. Different contributors to the ROS 2 ecosystem use benchmarks & tools that are either all different - and thus cannot be compared - or simply provide invalid results.
    • ADLINK
      • benchmark for Cyclone DDS
    • eProsima
      • benchmark for Fast-RTPS
    • Bosch & Nobleo
      • benchmarks/analyses for:
        • Static executor
        • LET rcl executor
      • using:
        • ros2_tracing + tracetools_analysis (instrumentation, tracing, and analysis/visualization)
    • New ROS 2 real-time inverted pendulum demo (from Carlos)
      • looking at memory allocation, page faults, context switches, etc.
      • using ros2_tracing + tracetools_analysis (instrumentation, tracing, and analysis/visualization)
  4. LET rcl executor
    1. Bosch created a pull request on ros2/rcl which includes the LET rcl executor and some helper functions (rcl_ext) (to simplify Setting up rcl handles (like Publishers, Subscribers, timers ) on C API
    2. @wjwwood says that it should go into a different repository. Possibly rclc could be revived.
  5. Single-process, real-time rmw
    1. @eboasson writing of GitHub issues
  6. https://github.com/ros2-realtime-demo/pendulum => @carlossv and @christophebedard discussed inclusion of LTTng tracing
    1. @carlossv Common package for real-time settings would be nice => memlock, setting scheduling policies, cpu affinity
    2. @wjwwood thinks that there are 2 objectives for such a package: to either make it easier to use or portable.

Recordings

  1. https://drive.google.com/file/d/1pXmoj1KZhb4vD7-bZ_jDIFWFHDBJa8mS/view?usp=sharing
  2. https://drive.google.com/file/d/1Yo4PNUNi8CRBh6hA9sLGrnpHpVQgkW8_/view?usp=sharing

Action items:

  1. AI: Dejan to write a longer Discourse post on how to measure performance correctly
  2. AI2: Silexica to implement their Performance Testing Platform for ROS community
  3. AI3: @eboasson to finalize the issues for single-process, real-time rmw

Agenda for next week:

  1. @ralph-lange LET executor: ROS2 Real-time Working Group Online Meeting 5 - Nov 13, 2019, 7AM PDT (UTC-7)
  2. @eboasson single-process, real-time rmw
2 Likes