CoreDX DDS

CoreDX DDS는 Real-time, Scalable, High Performance를 가능하게 하는 Pub / Sub 방식의 네트워크 미들웨어 입니다.

OMG 표준

  • OMG 표준에 따른 Pub-Sub 통신, 동적 노드 탐색, 강력한 QoS 제공, 데이터 상호 운용성
  • DDS v1.2, RTPS v2.1, 체계적인 API
  • DDS 간의 상호운용성 보장

최적화

  • 640K RAM 기동가능
  • DDS Ping : 250K (R사 DDS Ping : 4.5MB)
  • 전체 CoreDX Library < 500KB
  • CoreDX C Library < 35K SLOC (Line Count)

Platform

  • Linux, Windows, Solaris, QNX, VxWorks, Android
  • X86, x64, SPARC, ARMv5
  • C, C++, C#, Java

특징

  • 최소 메모리 / 최대 성능
  • 멀티코어 H/W, QoS 지원
  • 다양한 Notification 지원, Async (Listeners) / Sync (Conditions / WaitSets)
  • 내장된 HA (Publisher-Side : A-A, Subscriber-Side : A-A, A-S) 지원

성능

  • 최대 Throughput < 900Mbps on 1G Network
  • 낮은 Latency < 80 μsec
  • 코어 모듈 C로 구현

DDS 란?

데이터 분산 서비스(Data Distribution Service, DDS) 는 실시간 시스템의 실시간성(real-time), 규모가변성(scalable), 안전성 (dependable), 고성능 (high performance)를 가능하게 하는 네트워크 커뮤니케이션 미들웨입니다.

CoreDX DDS는

OMG 표준에 따른 Pub-Sub 통신, 동적 노드 탐색, 강력한 QoS 제공, 데이터 상호 운용성을 제공 합니다.

DDS v1.2, RTPS v2.1 스펙을 보장하고, 체계적인 API를 제공하며 DDS 간의 상호운용성 보장합니다.

자주하는 질문

DDS는 금융거래, 항공 교통관제, 스마트 그리드 관리, 산업자동화 시스템등의 mission critical 애플리케이션을 위해 디자인되었습니다. 과거에는 국방, 항공 우주산업에 제한적으로 사용되었지만, 현재는 다양한 분야의 지능화 시스템 (Intelligent System)에 사용되는 사례가 늘어나고 있다.

최소 메모리로 최대 성능을 제공하며 멀티코어 H/W 지원하며, 다양한 QoS 지원합니다.

640K RAM 기동가능하며 전체 CoreDX Library는 500KB 미만이며, CoreDX C Library는  35K SOLC(Source Of Line Count)로 제공 됩니다.

지원되는 언어는 C, C++, C#, JAVA가 지원됩니다.

개발과정은

1. Data Type 정의
2. Topic Name 정의
3. Source(Publisher)와 Destination(Subscriber) 명시
4. Source Destination별 신뢰성 QoS 정의: Best Effort(default), Reliable
5. Subscriber의 Durability, History Depth 규정
6. Publisher의 Durability, History Depth 규정
7. 노드(어플리케이션)별 Topic Set 정의
8. Topic Set 별 DDL 작성
9. Publisher / Subscriber 구현 

순으로 진행되며, 어플리케이션에서 필요한 로직을 구현합니다.