Skip to content

Commit c78dbd4

Browse files
authored
Added blogpost on xrce-dds memo profiling. (#211)
* Added blogpost on xrce-dds memo profiling. * Changed several figures alt in the blogposts.
1 parent cbad333 commit c78dbd4

6 files changed

Lines changed: 29 additions & 2 deletions

File tree

_posts/2020-07-17-EWG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@ Please find [here](http://meet.google.com/saf-gjix-swf) the link to the Google m
2020
the first meeting.
2121
Everyone is welcome to add items that they consider relevant in the form of comments.
2222

23-
<img alt="micro-ROS display" src="/img/posts/2020-07-17-EWG.jpg" width="100%"/>
23+
<img alt="EWG advertisement" src="/img/posts/2020-07-17-EWG.jpg" width="100%"/>

_posts/2020-08-27-esp32.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ author: francesca-finocchiaro
55

66
The micro-ROS team is glad to announce that the pool of boards officially supported by the project has widened! The [ESP32 MCU](https://www.espressif.com/en/products/socs/esp32) is now part of the family. ESP32 is a series of low-cost, low-power microcontrollers with integrated Wi-Fi and dual-mode Bluetooth, widely used for both commercial and industrial purposes.
77

8-
<img alt="micro-ROS display" src="/img/posts/esp32_cut.png" width="70%"/>
8+
<img alt="ESP32 board" src="/img/posts/esp32_cut.png" width="70%"/>
99

1010
micro-ROS targets mid-range and medium-to-high performance 32-bits microcontrollers families. Up to now, the boards officially supported by the project were solely based on the STM32 series from ST, MCUs featuring ARM Cortex-M processors. On the other hand, the ESP32 is an ultra-low power consumption dual-core system with two Xtensa LX6 CPUs, exposing a large collection of peripherals.
1111

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
title: Memory Profiling of Micro XRCE-DDS
3+
author: francesca-finocchiaro
4+
---
5+
6+
In response to the growing interest of the community in micro-ROS, a thorough benchmarking of the most relevant figures that are key to the product adoption is in demand.
7+
8+
As a first step towards this direction, we recently performed a [memory footprint analysis](https://www.eprosima.com/index.php/resources-all/performance/micro-xrce-dds-memory-profiling) of the [Micro XRCE-DDS](https://micro-xrce-dds.docs.eprosima.com/en/latest/) library, the middleware underlying the micro-ROS architecture.
9+
10+
The Micro XRCE-DDS Client library profiling has been performed for two simple applications, one publishing and the other subscribing to topics of known size, running on FreeRTOS, chosen by virtue of its memory management capabilities, and on an Olimex STM32-E407 board, which is the reference board of the micro-ROS project. The board is connected by serial transport (UART) at 115200 baud to a Micro XRCE-DDS agent running on a Linux machine. Notice that the XRCE-DDS Client is completely dynamic memory free, so all memory figures refer to the stack and static memory usage.
11+
12+
The results for this analysis are summarized in the graphs below for publisher and subscriber applications, respectively.
13+
14+
* **Publisher Applications**:
15+
16+
<img alt="Results for Micro XRCE-DDS publisher application" src="/img/posts/overall_pub.png" width="80%"/>
17+
18+
* **Subscriber Applications**:
19+
20+
<img alt="Results for Micro XRCE-DDS subscriber application" src="/img/posts/overall_sub.png" width="80%"/>
21+
22+
23+
On the server side, we have investigated the memory consumption of an Agent communicating with a mock Client application on Linux that is publishing and subscribing to topics of known size, by measuring the binary size of the compiled agent (which resulted to be of 385 KB) and analysing heap and stack usages. The results for the latter are summarized in the plot below.
24+
25+
<img alt="Results for Micro XRCE-DDS agent" src="/img/posts/Memory_usage_XRCE-DDS_Agent.png" width="60%"/>
26+
27+
For more information regarding the methodology employed for performing these profilings, refer to the full report published on [eProsima](https://www.eprosima.com/)'s webpage.
19.4 KB
Loading

img/posts/overall_pub.png

495 KB
Loading

img/posts/overall_sub.png

451 KB
Loading

0 commit comments

Comments
 (0)