[vworld-tech] Maximum Latency? + per-task accountability
ceo at grexengine.com
Fri Feb 27 02:50:11 PST 2004
Jim Purbrick wrote:
> At first glance this looks very like the Warhammer approach. Currently we
> have "stages" for network I/O, database I/O and game event processing. The
> SEDA literature looks like it includes lots of interesting and applicable
> stuff, thanks for the reference.
SEDA's papers focus largely on webservers, which tend to require very
few stages. My understanding is that most staged software servers have
quite a lot of stages - since you can only fine-tune and monitor at the
stage level, you want more stages rather than fewer.
For an MMORPG deployed on GE, you typically have a single client request
go through approximately 5 to 10 stages. Off the top of my head, you'd
expect about 20 stages in total in such a game (although of course no
request woul ever use all of them!), but it depends very much on how the
dev's choose to use the architecture :).
For instance, our preferred "game-event processing" sub-system has
almost five stages of it's own. This is partly a reflection of the fact
that we're providing middleware (needs to be generic in the right
places) - but since all sub-systems are pluggable, we have been able to
aim it towards fairly precise use-cases (hence it's not *very* generic).
> I'd be interested in hearing about which bits of SEDA you've used and which
> you've left in academia.
Sorry, but anything interesting I could say there is confidential
(either customers-only or NDA). :( By the time you've read through the
SEDA papers, anything I *can* say on this w.r.t. GE is going to be stuff
you've realised or read already...
One alteration I can suggest is optimizing the message passing between
stages. It can be inefficient and end up with a lot of boiler-plate code
if you can't share or forward messages through stages (I'm assuming your
stages are across a cluster, so it's not about simply passing a pointer
:)). I haven't recently looked at the SEDA implementations of this, so
YMMV, but IIRC they didn't really address this issue. I have - in one
case - seen it come up as a significant problem.
More information about the vworld-tech