bursty or paced packets ?

S

Skybuck Flying

Hi,

Suppose one wants to send 1 million bytes per second over a communication
device by using small packets each of 500 bytes.

One would need 1.000.000 divided by 500 = 2000 packets.

1000 millisecond (=1 second) divided by 2000 packets = is 0.5 millisecond
per packet.

So the pace (or interval) between each packet would have to be something
like 500 microsecond. (=0.5 millisecond)

I see two ways of doing communication on windows:

1. Using a thread and a high performance timer to measure the time elapsed
in microseconds which allows very paced packets.

2. Using windows event system which has an accuracy of 10 milliseconds...
this would require 10 divided by 0.5 = 20 packets per 10 milliseconds to be
sent.

My question is with case 2...

Will this lead to bursty communication ? probably yes on faster devices...

How bad can case 2 be with different kind of devices ?

I am also guessing that windows is pretty smart about it or hardware drivers
are smart... or that the ethernet hardware is smart etc and uses queues
etc... to store 20 packets etc... and still make sure all 20 are sent... ?

Anybody know something about case 2 ?

Bye,
Skybuck.
 
I

Ian Rae

Skybuck Flying said:
Hi,

Suppose one wants to send 1 million bytes per second over a communication
device by using small packets each of 500 bytes.

I assume you are talking tcp/ip. It provides a stream of bytes where
there is no relationship between the number of application "packets"
and the number of packets sent across the network. A bunch of
"packets" may go across in a single tcp/ip datagram.

In my experience, sending fewer larger "packets" gives more bandwidth
than many small "packets". And by "packet" I mean calls to a socket's
write function.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top