Skip to main content
QUICK REVIEW

[論文レビュー] Real-time Linux communications: an evaluation of the Linux communication stack for real-time robotic applications

Carlos San Vicente Gutiérrez, Lander Usategui San Juan|arXiv (Cornell University)|Aug 30, 2018
Real-Time Systems Scheduling参考文献 2被引用数 29
ひとこと要約

この論文は、ロボットアプリケーション向けにマルチコア組み込みシステムにおけるLinuxのUDPベース通信スタックのリアルタイム性能を評価している。リアルタイムタスクおよびその割り込みを専用CPUに隔離することで、同時に通信トラフィックが発生しても、大幅に向上した決定論的性能と上限付き遅延を実現した。これは、適切な設定によりLinuxがリアルタイムロボティクスをサポートできることを証明している。

ABSTRACT

As robotics systems become more distributed, the communications between different robot modules play a key role for the reliability of the overall robot control. In this paper, we present a study of the Linux communication stack meant for real-time robotic applications. We evaluate the real-time performance of UDP based communications in Linux on multi-core embedded devices as test platforms. We prove that, under an appropriate configuration, the Linux kernel greatly enhances the determinism of communications using the UDP protocol. Furthermore, we demonstrate that concurrent traffic disrupts the bounded latencies and propose a solution by separating the real-time application and the corresponding interrupt in a CPU.

研究の動機と目的

  • 分散ロボットシステムにおけるLinux通信スタックのリアルタイム性能を評価すること。
  • リアルタイムワークロード下でのUDPベース通信における性能ボトルネックを特定すること。
  • 同時に発生するネットワークトラフィックが、Linuxにおける遅延の決定論的特性に与える影響を評価すること。
  • リアルタイム通信の信頼性を向上させるためのCPU隔離戦略を提案し、検証すること。
  • 適切に設定されたLinuxが、決定論的で低遅延の通信をロボティクス用途で実現できることを示すこと。

提案手法

  • さまざまなワークロード下でのマルチコア組み込みLinuxシステムにおけるUDP通信パフォーマンスのベンチマーク。
  • スケジューリングの決定論的性能を向上させるために、リアルタイムパッチ(PREEMPT_RT)をLinuxカーネルに適用。
  • リアルタイムアプリケーションスレッドおよびそのネットワーク割り込みハンドラを専用CPUコアに隔離。
  • 制御されたおよび同時に発生するトラフィック条件下でのエンドツーエンド遅延およびジタを測定。
  • CPUアフィニティおよびcgroupsを用いて、リアルタイムタスクと非リアルタイムタスク間のリソース分離を強制。
  • 割り込み処理の挙動とその通信の決定論的特性に与える影響を分析。

実験結果

リサーチクエスチョン

  • RQ1LinuxのUDP通信スタックは、リアルタイムロボット制御に適した上限付き遅延を達成できるか?
  • RQ2同時に発生するネットワークトラフィックは、LinuxにおけるUDP通信の決定論的特性にどのように影響するか?
  • RQ3リアルタイムタスクおよびその割り込みをCPUで隔離することで、通信遅延の上限はどの程度改善されるか?
  • RQ4Linuxベースのロボティクスでリアルタイム性能を達成するために、重要なカーネルおよびシステム設定パrameterは何か?
  • RQ5最小限の変更で標準Linuxを用いて、決定論的通信を実現するのは可能か?

主な発見

  • 適切な設定により、Linuxカーネルは組み込みマルチコアシステムにおけるUDPベース通信の決定論的性能を顕著に向上させる。
  • 同時に発生するネットワークトラフィックは、上限付き遅延を破壊し、ジタが増加し、予測不能な遅延を引き起こす。
  • リアルタイムアプリケーションおよびそのネットワーク割り込みをCPUで隔離することで、遅延ジタが低減され、通信タイミングが予測可能になる。
  • リアルタイムタスクに専用CPUコアを割り当てることで、負荷が加わっても一貫した上限付きエンドツーエンド遅延が得られる。
  • PREEMPT_RTパッチセットは、低遅延スケジューリングと改善されたリアルタイム動作を達成するために不可欠である。
  • CPUアフィニティおよびcgroupsによるシステムレベルの隔離は、非リアルタイムプロセスからの干渉を効果的に防止する。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。