question

vikashgupta-2954 avatar image
0 Votes"
vikashgupta-2954 asked SandervandeVelde42 answered

Multicast client packet loss

I have some doubt regrading multicast client . I have developed a console application in which creating multicast client socket and receiving the data on given ip credentials .
The multicast data frequency is too high . Have you heard about NSE (National stock exchange ) , it is providing the high frequency tick by tick price data . I am listening through .net frame work multicast client . I have 8 multicast ip address and port . I am listening all the multicast ip address and port and receiving the data using asynchronous thread . When i am running for all 8 multicast client it start dropping data . No data drop with four multicast client . I am struggling with this since 20 days .

Can you please suggest me any solution ? Do you want me to share the code ?

Machine configuration :

Windows server core 2022
8 core machine , 16 logical core
64 GN RAM
NIC : Mellonox ConnectX-4 LX network adapter
Receive ring buffer : 4096


Thanks & regards
Vikash gupta

dotnet-iot
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

1 Answer

SandervandeVelde42 avatar image
0 Votes"
SandervandeVelde42 answered

Hello @vikashgupta-2954,

it seems you want to receive messages using UDP.

The UDP protocol is very fast due to the lack of message acknowledgment.

This means messages will be missed once the receiving machine is under load.

So you either scale up or out.

You can work with multiple machines next to each other and send their received messages to some shared resource for further compute.

And you can try to use an even more powerful device.

Although I have not tested this, perhaps you can do something with docker? Here is an example of a UDP client on Docker (using Azure IoT Edge).


5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.