[Openmcl-devel] native threads

David McClain dbm at refined-audiometrics.com
Fri Jan 5 11:37:25 PST 2024


Thanks for that explanation, Shannon. I understand now completely.

> On Jan 5, 2024, at 12:21, Shannon Spires <svs at bearlanding.com> wrote:
> 
> David-
> 
> See the documentation for #'initialize-multiprocessing in LW. Normally it's always running in the LW IDE, but when you create a command-line version of LW you have to turn it on explicitly after the image starts. Also, as the documentation states "You cannot save a LispWorks image with multiprocessing running" (which I find kind of annoying given that CCL has no such restriction).
> 
> So it's not so much a function you're likely to use in an application as a control you'd use when creating an image or when starting up an image (again, outside of the IDE, where multiprocessing is always running).
> 
> I probably should have been more precise and talked about "single threads vs. multiple threads" rather than SMP per se because Lispworks always uses SMP when it's using multiple threads (in versions after 5.1). My point was that it's difficult to configure CCL to use only a single thread. It can be done but it's not part of a user-level API the way it is in Lispworks, and in Lispworks you have to turn it off in order to save an image. (More precisely still, in order to save an image you have to run the command-line version of Lispworks with a special build script; it can't be done from within the IDE.)
> 
> -SS
> 
> 
> 
> On 1/5/24 11:54 AM, David McClain wrote:
>> Hi Shannon,
>> 
>>> Threads in CCL since version 0.14 (which was a long time ago) are native and thus preemptively scheduled by the operating system. Unlike in Allegro CL and Lispworks, SMP cannot easily be turned off in CCL: It's always on. And there is no "CCL scheduler”.
>> I’d like to better understand your statement about “turning off SMP”. I didn’t think that was up to an application program, but was “wired” into the system by the underlying OS. I’m unaware of how to turn off SMP from within Lispworks.
>> 
>> Can you elucidate?
>> 
>> 
>> 
>> 
>> 
> 



More information about the Openmcl-devel mailing list