Multicast client packet loss

vikash gupta 1 Reputation point
2022-07-08T07:25:04.197+00:00

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

.NET Internet of things
.NET Internet of things
.NET: Microsoft Technologies based on the .NET software framework.Internet of things: A concept that aims to extend the benefits of the regular internet, including constant connectivity, remote control ability, and data sharing, to goods in the physical world.
28 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Sander van de Velde 28,236 Reputation points MVP
    2022-07-12T08:49:24.103+00:00

    Hello @vikash gupta ,

    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).

    0 comments No comments