[DGD] DGD/MP 1.0

Kirktis kirktis at gmail.com
Tue Apr 19 15:34:01 CEST 2005


One question I just realized that I don't believe I've seen come up
yet, is the subject of virtual multiprocessing, as presented in
Intel's Hyperthreading model. Is this something that DGD/MP will be
able to take advantage of, or would that be futile in the grand scheme
of things?

On 4/19/05, Felix A. Croes <felix at dworkin.nl> wrote:
> "Christopher Allen" <ChristopherA at skotos.net> wrote:
> 
> > I was trying to find a description of the approach that you've taken with
> > DGD/MP to give someone else. My less then CompSci interpretation of what
> > makes it unique is that programatically you program largely as if you are
> > single-threaded, but that DGD/MP will handle the issues of multiprocessor
> > message passing bottlenecks and throttling through both intelligent design
> > and through rollback of functions marked atomic. Obviously some care has to
> > be taken with "single-thread" style code, but that largely it is much easier
> > to program.
> >
> > However, my non-CompSci description of the merits of your approach is not
> > suitable to passing on to others. Can you write up something brief about
> > your unique approach and why it is superior to some of the other methods of
> > programming for MP?
> 
> The compsci version:
> 
>     Maurice Herlihy: "A methodology for implementing highly concurrent
>     data objects," ACM Transactions on Programming Languages and Systems,
>     15(5):745-770, 1993.
> 
> The intermediate version:
> 
>     The server concurrently runs threads of finite duration on a copy
>     of the data.  Once a thread completes, the changes it made in the
>     copy will be committed to the original data if no other thread has
>     modified that part of the original data in the meanwhile; otherwise
>     the thread will be rescheduled.
> 
> Atomic functions are not involved in this, though they are conceptually
> similar.
> 
> I actually started using the term "execution round" instead of "thread"
> because it makes more sense, but that may be considered incomprehensible
> jargon, you be the judge.  It may require explaining the LPC execution
> model. :)
> 
> The non-compsci version:
> 
>     A single-threaded server is simulated using a MP server, and there
>     is nothing to worry about.
> 
> In all cases, the advantage of this approach is that the great complexity
> of MP design is hidden from the LPC programmer.
> 
> Regards,
> Dworkin
> __________________________________________
> http://mail.dworkin.nl/mailman/listinfo/dgd
>




More information about the DGD mailing list