[MUD-Dev] MMORPG/MMOG Server design

Keith Brewer zyzebo at wolfpackstudios.com
Sat Feb 22 18:22:26 New Zealand Daylight Time 2003

From: "Mike Shaver" <shaver at off.net>

>> Keep in mind that Intel architecture machines use a shared memory
>> bus which isn't very friendly to highly contentious
>> multi-threaded apps (scheduling will kill you because threads
>> will continually get blocked).

> Hmm.  How does the shared memory bus affect your scheduler?  Is
> the problem that your scheduler is kicking in when a thread blocks
> waiting for access to the memory bus, similar to the
> HyperThreading stuff?  I thought the Linux scheduler problems I
> talked to you guys about last year were just related to scheduler
> suckiness in the kernel resulting in starvation.

Actually we ran into the Linux "suckiness" before we ever had to
deal with the limitations of the shared memory bus.  It was that

And yes, the problem with the shared bus is exactly that.  As for
Hyperthreading (assuming you meant the Intel's new marketing
gimick), that seems to just really be a way for Intel to give
programmers another level of peering for operations (sort of like
SGI does with allowing you to define threads in "bound scope" as
opposed to "process scope").  However, it's really still just a
"poor man's" SMP (after all, that's all it is, simulated MP within a
single CPU) and doesn't address the shortcomings of the shared
memory bus architecture at all.  Generally it's just really wasteful
to go to MP Intel hardware for resource contentious apps as you'll
never attain any degree of high cpu utilization because you'll spend
most of your time blocked.

> Linux threading sucked a lot for a long, long time, but it's
> finally getting the attention it deserves.  (If you have a good
> test case for the contention and scheduling issues you saw under
> Linux, I'm sure that the kernel folks would be very interested in
> giving it a spin with the new schedulers and threading apparatus.
> You know, if you're not busy shipping a game or anything. =) )

Yeah I've heard lots of really cool things about some of the new
stuff coming down the pipe for Linux.  The down side is unless they
start adopting alternate hardware platforms they'll never really be
as good as Solaris, IRIX or OSX in this regard.

We definitely have a good test case to stress any OS's threading
system. But for the reason you mention I doubt we'll have time to
tinker with such things for a while yet *grin*.
MUD-Dev mailing list
MUD-Dev at kanga.nu

More information about the MUD-Dev mailing list