[gameprogrammer] Re: FPS with distributed servers

  • From: David Olofson <david@xxxxxxxxxxx>
  • To: gameprogrammer@xxxxxxxxxxxxx
  • Date: Thu, 3 Mar 2005 22:59:47 +0100

On Thursday 03 March 2005 22.32, Jacob Briggs wrote:
> Personally I think having a distributed server would=20
> introduce all sorts of weird latency issues, but thats a naive=20
> assumption :) I would like to hear more on the subject.

This depends entirely on the software, OS and network hardware. A=20
decent switched network has latencies in the =B5s range, so as long as=20
packets aren't too large in relation to the bandwidth, that shouldn't=20
be much of an issue. (Well, that depends on the number of=20
machine/machine roundtrips per engine cycle. We're still talking=20
about *much* higher latencies than calling functions in a=20
single-threaded server, of course, so you'll have to think about who=20
you're talking to, and how often...)

Some potential problems:
 * Network is shared with "normal" stuff, so irrelevant
   network traffic may add significantly to latencies.
 * You might have some stupid hub/switch/router/firewall
   or something in the way, that can't be arsed to pipe
   data through "instantly", but instead buffers entire
   packets, and then holds on to them for random amounts
   of time before passing them on.
 * The OS has a crappy protocol stack, that adds more
   average and/or (worse) worst case latency than you
   can handle.
 * The OS has a crappy scheduler that just won't wake
   your server threads up in time when they receive
   data after blocking.
 * Your OS thinks that very frequent calls to I/O APIs
   (regardless of data size) means that your thread is
   a bandwidth hog, and penalizes it suspend it for
   extended periods of time as soon as there are any
   other runnable threads in the system.

So, basically, if you can pick a nice OS, decent hardware and use a=20
dedicated, switched network, I think it could work just fine. Just=20
installing a distributed game server on your average bunch of web=20
servers might not work all that well sometimes, though...


//David Olofson - Programmer, Composer, Open Source Advocate

=2E- Audiality -----------------------------------------------.
|  Free/Open Source audio engine for games and multimedia.  |
| MIDI, modular synthesis, real time effects, scripting,... |
`-----------------------------------> http://audiality.org -'
   --- http://olofson.net --- http://www.reologica.se ---


---------------------
To unsubscribe go to http://gameprogrammer.com/mailinglist.html


Other related posts: