[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