Re: packet priorities

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2008-03-10 at 15:01 +0000, Gerrit Renker wrote:
> Quoting Alessio:
> | 
> | > > Two ideas with regard to reproducing:
> | > >  1. The excellent little D-ITG traffic generator
> | > >     http://www.grid.unina.it/software/ITG/
> | > >     It has DCCP support and packet timing can be set as a random variable,
> | > >     which can be bound to a random seed (to reproduce test runs).
> | > > 
> | > That might be useful. I'll just have to check if it is possible to count which 
> | > packets arrived at the destination end so that mixed audio/video stream 
> | > simulation can be done.
> | 
> | 
> | For sure it is. Both D-ITG sender and receiver can log different
> | information (i.e. packet id, sending and receiving time, and size) 
> | for each sent and received packet.
> | Please, have a look at it and do not hesitate to contact me for any
> | question.
> | 
> I think that we can use your input in this matter. From the application
> perspective, what alternatives do you see in specifying an upper bound
> on the packet lifetime.
> The problem is that with the current socket API and a non-constant
> inter-packet gap, all packets which are submitted "too early" will
> suffer EAGAIN and then be dropped.
> 
> So the current dropping policy of the internal TX buffer is "tail drop".
> By specifying priorities this can be improved to "drop worst packet
> first".
> 
> The question here is, when the interpacket gap value is, say `IPG',
> and IPG is distributed according to some distribution, is is possible to
> specify a timeout value `timeout', i.e. setting
> 	      IPG' = IPG + timeout?
> 
> One could set this up such that timeout/IPG < delta, where delta is
> the maximum error, say 5%?
> 
> Does this make sense - are there other/better suggestions?

Implementing the timeout mechanism in D-ITG should be quite simple. And
calculating the timeout as a percentage of the IPG is also simple.
However, I think this approach can slow down a bit the generation
process. In the sense that, for each packet, a different timeout may be
specified, which causes calling some set_timeout function very
frequently for high packet rates. 

Moreover, from a real application point of view, the usefulness of
having a timeout that is a percentage of the IPG is not clear to me.
Roughly speaking, D-ITG extract the IPG from a random number generator,
waits for that IPG, and then issues a "send" putting the packet into the
socket buffer. This is to emulate the behavior of the applications (e.g.
VoIP or WEB clients) which perform "send" function calls according to
certain models (e.g a constant time for VoIP or a kind of random for
other applications). Setting the timeout as a percentage of the IPG will
surely help D-ITG to be more accurate in replicating the application
behavior, which is good for a traffic generator. However, it could be
not as good for a real application, e.g. a VoIP client, which should
prefer to have a fixed timeout for all its packets, regardless of the
IPG. What do you think ?

AB

--
To unsubscribe from this list: send the line "unsubscribe dccp" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [IETF DCCP]     [Linux Networking]     [Git]     [Security]     [Linux Assembly]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux