eclipse-ecal/ecal

📦 eCAL - enhanced Communication Abstraction Layer. A high performance publish-subscribe, client-server cross-plattform middleware.

何を解決するか

eCALは、単一のコンピュータ上またはネットワークに分散した異なるソフトウェアノード間での高パフォーマンスなプロセス間通信(IPC)の課題を解決します。ゼロ設定のミドルウェアを提供し、複雑な中央ブローカーを必要とせずに、異なるプロセスが高速かつ信頼性の高い方法でデータを交換できるようにします。

動作方法

eCALは、発行-購読サーバ-クライアントの2つの主要な通信パターンを実装しています。接続に応じて、最も効率的なトランスポートメカニズムを自動的に選択します:極めて高速なローカル通信には共有メモリ、ネットワーク通信にはUDP/TCPを使用します。ブローカーレスであり、メッセージプロトコルに依存しない設計なので、Google Protobuf、Flatbuffers、CapnProtoなどの任意のシリアライズ形式を使用できます。

対象ユーザー

分散システム、ロボットアプリケーション(ROS2との統合)、シミュレーション環境(Matlab Simulinkとの統合)を開発する開発者向けに設計されています。

特徴

  • 高パフォーマンス:1~20 GB/sのスループットを達成します。
  • ゼロ設定:通信の詳細や品質保証(QoS)設定にほとんど設定が必要ありません。
  • ブローカーレスアーキテクチャ:ブローカーに伴う単一障害点やボトルネックを排除します。
  • 包括的なツールキット:データフローの記録、再生、リアルタイム監視を内蔵したツールを提供します。
  • クロスプラットフォーム:Windows、Linuxをサポートし、QNX、MacOS、FreeBSDについては実験的サポートを提供しています。
  • ROS2統合:ROS2環境でのミドルウェア層(RMW)として使用可能です。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト