Steven W McDougall wrote:
> 
> Does Perl6 support Symmetric MultiProcessing (SMP)?
> 
> This is a *huge* issue. It affects everything else that we do with
> threads.

Umm... I don't know what you think you mean by 'SMP', but it doesn't
mean what you think it does.  SMP means 'Symmetric Multi Processing' and
describes a hardware architecture where each processor shares the same
memory and IO.  I think you are confusing the OS threading model with
the hardware implementation on which it runs.  Most OSs now support a
threading model that allows a single program to have several concurrent
threads of execution.  In the case of a uniprocessor this concurrency is
pseudo-concurrency, and is implemented by the threads library & OS
cooperating to timeslice between the individual threads.  On a
multiprocessor this concurrency is real, as threads within a single
program may be running on seperate CPUs simultaneously.  Again, this is
organised by the threads library and underlying OS.

There is a POSIX standard for threading libraries, and I believe that
this is what is used by the existing perl5 threading support, at least
on Unix.

Writing your own threading library as part of perl6 is a non-starter,
because to do so requires cooperation from and intimate knowledge of the
OS - for example the way threding is implemented on Linux and Solaris
are radically different.  That's why the POSIX threads library is there
- to make such platform dependent implementation mechanisms invisible to
applications.

-- 
Alan Burlison

Reply via email to