Can Allegro CL run more than one native thread at a time on machines with more than one processor?
On Windows, where Allegro CL processes are implemented with native operating system threads, a single Lisp thread and any number of foreign threads independent of the Lisp heap may run at the same time on different processors. [A “foreign thread” is an ACL process that has made a foreign call and released the heap or an independent thread started by a call to a foreign library function. See this for more information.] Currently, on UNIX, Linux and Mac OS X, Allegro CL processes are not implemented with native operating system threads. We are working on a Symmetric-multiprocessor implementation of Allegro CL, but the release date is currently unknown. See below for a discussion of the challenges of implementing an SMP Lisp. To take advantage of multiple processors you have these choices: • Using fork() to simulate SMP. • Multiple Lisp processes communicating via ACL RPC. • Multiple Lisp processes communicating via sockets. That is, the same as the ACL RPC solution, but using your own so
Related Questions
- Most of the time I can run enough real-time effects with processor power to spare, so why does my sequencer occasionally glitch or stop altogether?
- When I try to run Allegro CL 7.0 Trial, it fails with the error "missing or invalid license file". Why?
- Can Allegro CL run more than one native thread at a time on machines with more than one processor?