From: thetza
Subject: Current status of threading in Common Lisp implementations
Date: 
Message-ID: <1163026419.856193.278530@f16g2000cwb.googlegroups.com>
So it appears that Lispworks and AllegroCL both only support
multithreading where only one Lisp thread can be executing
simultaneously (though both support 'true' multithreading of foreign
code). Which apparently means multiple processors/cores are wasted when
I run multithreaded Lisp in those implementations. I understand that
Lispwork and Franz's model is sufficient for DB access, GUI, etc, but
I'm trying to implement a whole-genome alignment algorithm (think: very
large data sets and very parallelizable). So I ask: are there Common
Lisp implementations, free or commericial, which can handle multiple
processors, is cross platform (across the Unixes), and preferably with
GUI toolkit as nice as CAPI?

From: ·········@random-state.net
Subject: Re: Current status of threading in Common Lisp implementations
Date: 
Message-ID: <1163028362.449859.29350@m7g2000cwm.googlegroups.com>
thetza wrote:

> large data sets and very parallelizable). So I ask: are there Common
> Lisp implementations, free or commericial, which can handle multiple
> processors, is cross platform (across the Unixes), and preferably with
> GUI toolkit as nice as CAPI?

Skipping the toolkit issue, SBCL supports SMP capable threads on x86
and x86-64 Linux, and x86/Solaris. Thread support is still experimental
on x86/Darwin -- meaning "known to be unstable". (This should not be
taken as a statement that threads on supported platforms are bug-free:
there is at least one known outstanding issue with method dispatch that
affects SBCL threading on all platforms.)

Threading on other platforms is not supported currently, but porting to
other x86 unixoids should be relatively straightforward assuming a
decent pthreads implementation. Porting threads to Windows or other
processors is also "possible", but definitely more work.

Other implementations with SMP threads that I am aware of are OpenMCL
and Scieneer.

Cheers,

  -- Nikodemus Siivola
From: Igor Plekhov
Subject: Re: Current status of threading in Common Lisp implementations
Date: 
Message-ID: <slrnel5516.mse.penguin@ocean.vvo.ru>
On 8 Nov 2006 15:26:02 -0800, ·········@random-state.net <·········@random-state.net> wrote:
> 
>  Skipping the toolkit issue, SBCL supports SMP capable threads on x86
>  and x86-64 Linux, and x86/Solaris. Thread support is still experimental
>  on x86/Darwin -- meaning "known to be unstable". (This should not be
>  taken as a statement that threads on supported platforms are bug-free:
>  there is at least one known outstanding issue with method dispatch that
>  affects SBCL threading on all platforms.)

Can you give a link about this (and may be others) outstanding issues?


--
Registered Linux User #124759
From: pTymN
Subject: Re: Current status of threading in Common Lisp implementations
Date: 
Message-ID: <1163085884.991252.154250@f16g2000cwb.googlegroups.com>
Corman Common Lisp is true multithreaded.
From: Espen Vestre
Subject: Re: Current status of threading in Common Lisp implementations
Date: 
Message-ID: <m17iy4ej8q.fsf@gazonk.netfonds.no>
"thetza" <······@mm.st> writes:

> So it appears that Lispworks and AllegroCL both only support
> multithreading where only one Lisp thread can be executing
> simultaneously (though both support 'true' multithreading of foreign
> code). Which apparently means multiple processors/cores are wasted when
> I run multithreaded Lisp in those implementations. 

Could you work around by running several lisp processes which
communicate with each other? I don't know about the nature of
your application - of course this is not so optimal if you need
frequent access to shared data. On the other hand, if you manage
to parallelize your application in this way, you would be able
to run it on a whole farm of machines...
-- 
  (espen)