[Spread-users] 100kB limit and MAX_PACKET_SIZE

Yair Amir yairamir at cnds.jhu.edu
Tue Apr 29 08:58:56 EDT 2003


Any messaging system that works based on datagrams (reliable or not)
has to have a message limit. The size in Spread is determined based on
memory consumption and footprint to be around 100Kb that fits most

If you want to increase it, and bare the memory consequences, the best
way in my opinion is to increase MAX_SCATTER_SIZE.

1536 is the size of the maximum Ethernet packet size. 64 is the size
of the UDP header. Therefore 1472 is the maximum UDP payload that can
be transmitted in one Ethernet packet.

>From your description it seems you have only one daemon in the
configuration that is not sending anything on the network anyway. In
this case, network packet size has no effect. I think you will have
problems with settings that use the broadcast/multicast address.


         :) Yair.

On Tuesday, April 29, 2003 8:22 AM
Jonas Thor jonas.thor at contactor.se wrote:

Jonas> Hi, 

Jonas> I'm using spread and the python SpreadModule in a system. Spread is used
Jonas> as a messagebus for some pythonprocesses on a single machine. No network
Jonas> communication, just messages through localhost interface. It works just
Jonas> fine. 

Jonas> Now I've run into the 100kB limit on messages. Or acctually the 144.000
Jonas> byte (MAX_SCATTER_SIZE * (MAX_PACKET_SIZE - 32)) limit. I've tested to
Jonas> tweak the MAX_PACKET_SIZE which is defined in data_link.h: 
Jonas> <-- snip --> 
Jonas> #define MAX_PACKET_SIZE   1472    /*1472 = 1536-64 (of udp)*/ 
Jonas> <-- snip --> 

Jonas> Increasing MAX_PACKET_SIZE with a factor 10 makes my problem go away. 

Jonas> My Q's are: 
Jonas> - Will this lead to other, currently unkown and invisable, problems ? 
Jonas> - What is this 1536 - 64 thing ? 
Jonas> - Is this the right way to move the 100kB limit up ? 

Jonas> Cheers, 

Jonas> /jonas 

More information about the Spread-users mailing list