[MUD-Dev] Re: Why threading? (Was: Output Classification Notes)
Ola Fosheim Grøstad <olag@ifi.uio.no>
Ola Fosheim Grøstad <olag@ifi.uio.no>
Wed Aug 5 11:07:10 CEST 1998
J C Lawrence wrote:
> As those of you that know my basic design may know, from a
> process-level vantage my design fills the following description:
>
> A highly threaded application (~50 threads at rest, potentially into
> the hundreds under heavy use) with a very large number of potential
> contention points, a very high rate of contention checks, but a very
> low rate of contention combined with contention points being held for
> ralatively long periods (often based on physical IO).
>
> Translation: I need a synchronisation/locking mechanism that has
> one of the following two characteristics (cheap contention checking is
> a given as is cheap block/unblock semantics):
Why did you choose a threaded (asynchronous) approach? Because you wanted it
to scale well? Or because it's fun? What are the exact advantages over a
singlethreaded more iterative approach? I can basically see one advantage,
localization (in the code) is easier to achieve.
If I ever get to implement my current design as it is, it will be basically
singlethreaded and iterative with a stagedriven approach. (output from one
stage is the input of the next). The advantages, as I see them, is that
fairness is achievable, deadlocks impossible, and load balancing is
reasonable easy to implement.
--
Ola Fosheim Groestad,Norway URL: http://www.stud.ifi.uio.no/~olag/worlds/
More information about the mud-dev-archive
mailing list