modelica / dcp-standard

Specification of the Distributed Co-Simulation Protocol (DCP)
https://www.dcp-standard.org
14 stars 3 forks source link

Don't forbid multicast #4

Open debuti opened 5 years ago

debuti commented 5 years ago

We understand that multicast is not supported by DCP for several reasons, being the most important one that DCP supports different transport protocols and some of them dont feature multicast. Nonetheless multicast does a really good performance boost when you need to communicate an output to different ends.

Specifically, there is a statement in page 54 of the standard:

The values of several outputs of one slave can be grouped in the payload field of one DAT_input_output PDU. Such a group is identified by a unique data_id. A payload field must group only values of outputs with the same configuration, i.e. sender, receiver, network configuration, scope and communication step size.

The word "receiver" in that statement is what is preventing DCP to have multicast implemented, for instance, with UDP transport. This feature would be transparent to the DCP protocol and if I am not mistaken it will not interfere with any other thing in the DCP simulation (ie. DAT_INPUT_OUTPUT is not acknowledge).

More over, it is forbidding a scenario where a slave shares a data package with different ends and it defines just one data_id associating it with its multiple destinations through a set of CFG_TARGET_NETWORK_INFORMATION pdus

This issue is just requesting to remove "receiver" from the data package, since from our point of view, has no benefits and prevents some protocol optimizations

dev-gb commented 5 years ago

Would appreciate such feature.