Multi-threading the interpreter

Richard L. Peskin rlpcon at vermontel.net
Sat Nov 14 20:18:48 UTC 1998


I may be wrong, but it appears that the Squeak interpreter is single
threaded. (At least that is the impression I get from looking at interp.c,
and observing the behaviour during a net-based "upgrade".) For those of us
interested in using Squeak in an IPC environment, this single thread
operation can be a problem. For example, if a Squeak process calls a
numerically intensive external process (say using a TCP/IP based
primitive), everything is "on hold" until that external process returns.
Any ideas on how to deal with that problem? A possibility would be to allow
asynchronous communication with primitives. Has that been done?

A multi-threaded interpreter would be a good idea anyway. For example, if
there were a way to make the interprter multi-threaded, performance would
really be enhanced under the BeOS on multi-processor systems, since it is a
pervasively multi-threaded OS which will map threads to available
processors. Has any work been done on multi-threaded interpreters? I can
see all sorts of issues such as how to handle garbage collection.

--dick peskin



=================================
R. L. Peskin,  Rutgers Univ. ; <peskin at caip.rutgers.edu>;
<http://www.caip.rutgers.edu/~peskin>
VT Phone (802) 824-4558  NJ Phone (732) 445-4208
"The corporate culture is concerned less with Occam's razor than his
aftershave lotion."





More information about the Squeak-dev mailing list