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