CoreDX DDS was designed, implemented, tested, and verified to be the smallest commercial DDS implementation available. We started with our code size, then progressed to our library size, and then to our memory footprint. After all that, we tackled wide-spread scalability. The result is a DDS product that can fit where you need it, and grow with your system.
We've analyzed scalability on several different fronts, all the while keeping tabs on the memory consumption, network bandwidth, network latencies, and CPU utilization required by CoreDX DDS applications. We've:
- Grown the number of DDS Entities
- Grown the number of Content Filter criteria
- Grown the size of the network
We are continually increasing the scope and size of our testing and analysis, consistently bringing a more robust, more scalable CoreDX DDS product to the market.
CoreDX DDS applications can communicate on the same machine, over a local area network, or across a wide-area network. Networks can be a typical ETHERNET network, or a less common protocol: VME or cPCI bus, or serial, for example.
CoreDX DDS uses a combination of multicast and unicast protocols to optimize network resources while providing robust and reliable data communications. This includes communications on one machine, as well as typical local area network communications.
Scaling DDS communications across multiple subnets or a wide area network requires careful consideration of the network hardware and DDS features. CoreDX DDS provides several features that allow communications over a wide area network, even if the application developer does not have control over the networking hardware.
CoreDX DDS provides an API to configure network endpoints, and to use point-to-point communications instead of multicast. For even greater flexibility over large or complex network deployments (including mixed networking protocols) use the CoreDX DDS Multiplexor. The CoreDX DDS Multipexor provides great flexibility in bridging between network segments or DDS Domains, and be configured to aggregate and transform data between segments.
Learn more about the CoreDX DDS Multiplexor...
Does your system require 10 Topics? 100 Topics? 1,000 Topics? 10,000 Topics? With CoreDX DDS, you can scale to 10's of thousands of Topics, DataReaders, and DataWriters without enterprise hardware requirements.
CoreDX DDS Entity memory usage can be measured in the Kilobytes, and we provide tools to cut down on discovery and data network, CPU, and memory usage.
Learn more about Run-time Memory Usage...
With CoreDX DDS filtering features, subscribing applications can choose to filter the data they receive. Filters can be time-based (receive data updates only as frequently as my specified interval, no matter how frequently it is published) or content-based (receive data only if the content passes my specified conditions). And, filters can be communicated to the data publishers, saving network bandwidth, along with subscribing application CPU and memory usage.
Learn more about CoreDX DDS Filters...
With CoreDX DDS Centralized Discovery, systems can consolidate the storage and transmission of discovery data. Rather than every DomainParticipant keeping it's own local copy of discovered DDS Entities (and communicating it's own Entity data to every other DomainParticipant), this information can be kept in common, centralized repositories. This reduces run-time memory required by discovery, and discovery network traffic.
Learn more about CoreDX DDS Centralized Discovery...